[Audiosharing] Fix IllegalStateException at getChildFragmentManager

Fix: 349300412
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I33a22ce12ae4c602be9aafdbd9cf9fdcee82bdde
This commit is contained in:
Yiyi Shen
2024-06-26 18:10:21 +08:00
parent f9424c6231
commit 6e6df5d6e2
15 changed files with 204 additions and 31 deletions

View File

@@ -84,7 +84,13 @@ public class AudioSharingDisconnectDialogFragment extends InstrumentedDialogFrag
@NonNull DialogEventListener listener,
@NonNull Pair<Integer, Object>[] eventData) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
FragmentManager manager = host.getChildFragmentManager();
final FragmentManager manager;
try {
manager = host.getChildFragmentManager();
} catch (IllegalStateException e) {
Log.d(TAG, "Fail to show dialog: " + e.getMessage());
return;
}
AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
if (dialog != null) {
int newGroupId = AudioSharingUtils.getGroupId(newDevice);