[Audiosharing] Finish handler activity when dialog destroy
Test: atest Flag: com.android.settingslib.flags.promote_audio_sharing_for_second_auto_connected_lea_device Bug: 395786392 Change-Id: I0e7f3da759eb53328b57322b136bb2859cfa2f47
This commit is contained in:
@@ -27,6 +27,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
||||
@@ -35,6 +36,7 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.bluetooth.BluetoothUtils;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.flags.Flags;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.util.List;
|
||||
@@ -212,6 +214,18 @@ public class AudioSharingDisconnectDialogFragment extends InstrumentedDialogFrag
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
FragmentActivity activity = getActivity();
|
||||
if (Flags.promoteAudioSharingForSecondAutoConnectedLeaDevice()
|
||||
&& activity instanceof AudioSharingJoinHandlerActivity
|
||||
&& !activity.isChangingConfigurations() && !activity.isFinishing()) {
|
||||
Log.d(TAG, "onDestroy, finish activity = " + activity.getClass().getName());
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
|
||||
private static void logDialogAutoDismiss(AlertDialog dialog) {
|
||||
var unused =
|
||||
ThreadUtils.postOnBackgroundThread(
|
||||
|
@@ -27,6 +27,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
||||
@@ -35,6 +36,7 @@ import com.android.settings.bluetooth.Utils;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settingslib.bluetooth.BluetoothUtils;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.flags.Flags;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -197,6 +199,18 @@ public class AudioSharingJoinDialogFragment extends InstrumentedDialogFragment {
|
||||
return dialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
FragmentActivity activity = getActivity();
|
||||
if (Flags.promoteAudioSharingForSecondAutoConnectedLeaDevice()
|
||||
&& activity instanceof AudioSharingJoinHandlerActivity
|
||||
&& !activity.isChangingConfigurations() && !activity.isFinishing()) {
|
||||
Log.d(TAG, "onDestroy, finish activity = " + activity.getClass().getName());
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
|
||||
private static void updateDialog(
|
||||
List<AudioSharingDeviceItem> deviceItems,
|
||||
String newDeviceName,
|
||||
|
@@ -27,6 +27,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
||||
@@ -35,6 +36,7 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.bluetooth.BluetoothUtils;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.flags.Flags;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
@@ -218,6 +220,18 @@ public class AudioSharingStopDialogFragment extends InstrumentedDialogFragment {
|
||||
return dialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
FragmentActivity activity = getActivity();
|
||||
if (Flags.promoteAudioSharingForSecondAutoConnectedLeaDevice()
|
||||
&& activity instanceof AudioSharingJoinHandlerActivity
|
||||
&& !activity.isChangingConfigurations() && !activity.isFinishing()) {
|
||||
Log.d(TAG, "onDestroy, finish activity = " + activity.getClass().getName());
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
|
||||
private static void logDialogAutoDismiss(AlertDialog dialog) {
|
||||
var unused =
|
||||
ThreadUtils.postOnBackgroundThread(
|
||||
|
@@ -30,6 +30,8 @@ import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.bluetooth.BluetoothStatusCodes;
|
||||
import android.content.Context;
|
||||
import android.platform.test.annotations.DisableFlags;
|
||||
import android.platform.test.annotations.EnableFlags;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
import android.util.Pair;
|
||||
import android.view.View;
|
||||
@@ -140,8 +142,8 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_flagOff_dialogNotExist() {
|
||||
mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
@@ -154,8 +156,8 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_unattachedFragment_dialogNotExist() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
@@ -171,8 +173,8 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_flagOn_dialogShowBtnForTwoDevices() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
@@ -189,8 +191,8 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_dialogIsShowingForSameGroup_updateDialog() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
@@ -248,8 +250,8 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_dialogIsShowingForNewGroup_showNewDialog() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
@@ -302,8 +304,9 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onCreateDialog_clickCancel_dialogDismiss() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
@@ -319,6 +322,7 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
shadowMainLooper().idle();
|
||||
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(mParent.getActivity().isFinishing()).isFalse();
|
||||
verify(mFeatureFactory.metricsFeatureProvider, times(0))
|
||||
.action(
|
||||
any(Context.class),
|
||||
@@ -330,4 +334,33 @@ public class AudioSharingDisconnectDialogFragmentTest {
|
||||
eq(SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_NEGATIVE_BTN_CLICKED),
|
||||
eq(TEST_EVENT_DATA));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onDestroy_finishAudioSharingJoinHandlerActivity() {
|
||||
mDeviceItems = new ArrayList<>();
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM1);
|
||||
mDeviceItems.add(TEST_DEVICE_ITEM2);
|
||||
Fragment parent = new Fragment();
|
||||
FragmentController.setupFragment(
|
||||
parent, AudioSharingJoinHandlerActivity.class, /* containerViewId= */
|
||||
0, /* bundle= */ null);
|
||||
AudioSharingDisconnectDialogFragment.show(
|
||||
parent, mDeviceItems, mCachedDevice3, EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
|
||||
shadowMainLooper().idle();
|
||||
|
||||
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
assertThat(dialog).isNotNull();
|
||||
assertThat(dialog.isShowing()).isTrue();
|
||||
|
||||
View btnView = dialog.findViewById(R.id.negative_btn);
|
||||
assertThat(btnView).isNotNull();
|
||||
btnView.performClick();
|
||||
shadowMainLooper().idle();
|
||||
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(
|
||||
parent.getActivity().isFinishing() || parent.getActivity().isDestroyed()).isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -28,6 +28,8 @@ import android.app.settings.SettingsEnums;
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothStatusCodes;
|
||||
import android.content.Context;
|
||||
import android.platform.test.annotations.DisableFlags;
|
||||
import android.platform.test.annotations.EnableFlags;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
import android.util.Pair;
|
||||
import android.view.View;
|
||||
@@ -142,8 +144,8 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void getMetricsCategory_inSharing_correctValue() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
when(mBroadcast.isEnabled(null)).thenReturn(true);
|
||||
int category = mFragment.getMetricsCategory();
|
||||
shadowMainLooper().idle();
|
||||
@@ -151,8 +153,8 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_flagOff_dialogNotExist() {
|
||||
mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
mParent,
|
||||
new ArrayList<>(),
|
||||
@@ -165,8 +167,8 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_unattachedFragment_dialogNotExist() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
new Fragment(),
|
||||
new ArrayList<>(),
|
||||
@@ -179,8 +181,8 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_flagOn_dialogShowTextForSingleDevice() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
when(mBroadcast.isEnabled(null)).thenReturn(true);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
mParent,
|
||||
@@ -201,8 +203,8 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_flagOn_dialogShowTextForTwoDevice() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
|
||||
list.add(TEST_DEVICE_ITEM1);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
@@ -228,8 +230,8 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_dialogIsShowing_updateDialog() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
|
||||
list.add(TEST_DEVICE_ITEM1);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
@@ -258,8 +260,9 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onCreateDialog_clickCancel_dialogDismiss() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
mParent,
|
||||
new ArrayList<>(),
|
||||
@@ -274,6 +277,7 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
btnView.performClick();
|
||||
shadowMainLooper().idle();
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(mParent.getActivity().isFinishing()).isFalse();
|
||||
verify(mFeatureFactory.metricsFeatureProvider)
|
||||
.action(
|
||||
any(Context.class),
|
||||
@@ -282,8 +286,9 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onCreateDialog_clickBtn_callbackTriggered() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AtomicBoolean isShareBtnClicked = new AtomicBoolean(false);
|
||||
mFragment.show(
|
||||
mParent,
|
||||
@@ -308,6 +313,7 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
shadowMainLooper().idle();
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(isShareBtnClicked.get()).isTrue();
|
||||
assertThat(mParent.getActivity().isFinishing()).isFalse();
|
||||
verify(mFeatureFactory.metricsFeatureProvider)
|
||||
.action(
|
||||
any(Context.class),
|
||||
@@ -316,8 +322,9 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onCreateDialog_clickCancel_callbackTriggered() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AtomicBoolean isCancelBtnClicked = new AtomicBoolean(false);
|
||||
mFragment.show(
|
||||
mParent,
|
||||
@@ -342,10 +349,40 @@ public class AudioSharingJoinDialogFragmentTest {
|
||||
shadowMainLooper().idle();
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(isCancelBtnClicked.get()).isTrue();
|
||||
assertThat(mParent.getActivity().isFinishing()).isFalse();
|
||||
verify(mFeatureFactory.metricsFeatureProvider)
|
||||
.action(
|
||||
any(Context.class),
|
||||
eq(SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_NEGATIVE_BTN_CLICKED),
|
||||
eq(TEST_EVENT_DATA));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onDestroy_finishAudioSharingJoinHandlerActivity() {
|
||||
Fragment parent = new Fragment();
|
||||
FragmentController.setupFragment(
|
||||
parent, AudioSharingJoinHandlerActivity.class, /* containerViewId= */
|
||||
0, /* bundle= */ null);
|
||||
AudioSharingJoinDialogFragment.show(
|
||||
parent,
|
||||
new ArrayList<>(),
|
||||
mCachedDevice2,
|
||||
EMPTY_EVENT_LISTENER,
|
||||
TEST_EVENT_DATA_LIST);
|
||||
shadowMainLooper().idle();
|
||||
|
||||
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
assertThat(dialog).isNotNull();
|
||||
|
||||
View btnView = dialog.findViewById(R.id.negative_btn);
|
||||
assertThat(btnView).isNotNull();
|
||||
btnView.performClick();
|
||||
shadowMainLooper().idle();
|
||||
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(
|
||||
parent.getActivity().isFinishing() || parent.getActivity().isDestroyed()).isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -30,6 +30,8 @@ import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.bluetooth.BluetoothStatusCodes;
|
||||
import android.content.Context;
|
||||
import android.platform.test.annotations.DisableFlags;
|
||||
import android.platform.test.annotations.EnableFlags;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
import android.util.Pair;
|
||||
import android.view.View;
|
||||
@@ -135,8 +137,8 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_flagOff_dialogNotExist() {
|
||||
mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
ImmutableList.of(),
|
||||
@@ -149,8 +151,8 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_unattachedFragment_dialogNotExist() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
new Fragment(),
|
||||
ImmutableList.of(TEST_DEVICE_ITEM2),
|
||||
@@ -163,8 +165,8 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_oneDeviceInSharing_showDialogWithCorrectMessage() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
ImmutableList.of(TEST_DEVICE_ITEM2),
|
||||
@@ -184,8 +186,8 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_twoDeviceInSharing_showDialogWithCorrectMessage() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
ImmutableList.of(TEST_DEVICE_ITEM2, TEST_DEVICE_ITEM3),
|
||||
@@ -207,8 +209,8 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_dialogIsShowingForSameDevice_updateDialog() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
ImmutableList.of(),
|
||||
@@ -256,8 +258,8 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
|
||||
public void onCreateDialog_dialogIsShowingForNewDevice_showNewDialog() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
ImmutableList.of(),
|
||||
@@ -309,8 +311,9 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onCreateDialog_clickCancel_dialogDismiss() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
ImmutableList.of(),
|
||||
@@ -325,6 +328,7 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
btnView.performClick();
|
||||
shadowMainLooper().idle();
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(mParent.getActivity().isFinishing()).isFalse();
|
||||
verify(mFeatureFactory.metricsFeatureProvider, times(0))
|
||||
.action(
|
||||
any(Context.class),
|
||||
@@ -338,8 +342,9 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onCreateDialog_clickShare_callbackTriggered() {
|
||||
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
|
||||
AtomicBoolean isStopBtnClicked = new AtomicBoolean(false);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
mParent,
|
||||
@@ -356,6 +361,7 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
shadowMainLooper().idle();
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(isStopBtnClicked.get()).isTrue();
|
||||
assertThat(mParent.getActivity().isFinishing()).isFalse();
|
||||
verify(mFeatureFactory.metricsFeatureProvider, times(0))
|
||||
.action(
|
||||
any(Context.class),
|
||||
@@ -367,4 +373,32 @@ public class AudioSharingStopDialogFragmentTest {
|
||||
eq(SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_POSITIVE_BTN_CLICKED),
|
||||
eq(TEST_EVENT_DATA));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_ENABLE_LE_AUDIO_SHARING,
|
||||
Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE})
|
||||
public void onDestroy_finishAudioSharingJoinHandlerActivity() {
|
||||
Fragment parent = new Fragment();
|
||||
FragmentController.setupFragment(
|
||||
parent, AudioSharingJoinHandlerActivity.class, /* containerViewId= */
|
||||
0, /* bundle= */ null);
|
||||
AudioSharingStopDialogFragment.show(
|
||||
parent,
|
||||
ImmutableList.of(),
|
||||
mCachedDevice1,
|
||||
EMPTY_EVENT_LISTENER,
|
||||
TEST_EVENT_DATA_LIST);
|
||||
shadowMainLooper().idle();
|
||||
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
assertThat(dialog).isNotNull();
|
||||
|
||||
View btnView = dialog.findViewById(android.R.id.button2);
|
||||
assertThat(btnView).isNotNull();
|
||||
btnView.performClick();
|
||||
shadowMainLooper().idle();
|
||||
|
||||
assertThat(dialog.isShowing()).isFalse();
|
||||
assertThat(
|
||||
parent.getActivity().isFinishing() || parent.getActivity().isDestroyed()).isTrue();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user