Merge "Make ZenIconLoader injectable (in SystemUI)" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
e6aaa5c87b
@@ -36,7 +36,6 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.shadows.ShadowLooper;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@EnableFlags(Flags.FLAG_MODES_UI)
|
||||
@@ -45,18 +44,18 @@ public class ZenModesListItemPreferenceTest {
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
|
||||
private Context mContext;
|
||||
private final ZenIconLoader mIconLoader = new ZenIconLoader(
|
||||
MoreExecutors.newDirectExecutorService());
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
ZenIconLoader.setInstance(new ZenIconLoader(MoreExecutors.newDirectExecutorService()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void constructor_setsMode() {
|
||||
ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext,
|
||||
TestModeBuilder.EXAMPLE);
|
||||
ZenModesListItemPreference preference = newPreference(TestModeBuilder.EXAMPLE);
|
||||
|
||||
assertThat(preference.getKey()).isEqualTo(TestModeBuilder.EXAMPLE.getId());
|
||||
assertThat(preference.getZenMode()).isEqualTo(TestModeBuilder.EXAMPLE);
|
||||
@@ -70,8 +69,7 @@ public class ZenModesListItemPreferenceTest {
|
||||
.setEnabled(true)
|
||||
.build();
|
||||
|
||||
ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
|
||||
ShadowLooper.idleMainLooper(); // To load icon.
|
||||
ZenModesListItemPreference preference = newPreference(mode);
|
||||
|
||||
assertThat(preference.getTitle()).isEqualTo("Enabled mode");
|
||||
assertThat(preference.getSummary()).isEqualTo("When the thrush knocks");
|
||||
@@ -87,8 +85,7 @@ public class ZenModesListItemPreferenceTest {
|
||||
.setActive(true)
|
||||
.build();
|
||||
|
||||
ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
|
||||
ShadowLooper.idleMainLooper();
|
||||
ZenModesListItemPreference preference = newPreference(mode);
|
||||
|
||||
assertThat(preference.getTitle()).isEqualTo("Active mode");
|
||||
assertThat(preference.getSummary()).isEqualTo("ON • When Birnam forest comes to Dunsinane");
|
||||
@@ -103,8 +100,7 @@ public class ZenModesListItemPreferenceTest {
|
||||
.setEnabled(false, /* byUser= */ false)
|
||||
.build();
|
||||
|
||||
ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
|
||||
ShadowLooper.idleMainLooper();
|
||||
ZenModesListItemPreference preference = newPreference(mode);
|
||||
|
||||
assertThat(preference.getTitle()).isEqualTo("Mode disabled by app");
|
||||
assertThat(preference.getSummary()).isEqualTo("Not set");
|
||||
@@ -119,11 +115,15 @@ public class ZenModesListItemPreferenceTest {
|
||||
.setEnabled(false, /* byUser= */ true)
|
||||
.build();
|
||||
|
||||
ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
|
||||
ShadowLooper.idleMainLooper();
|
||||
ZenModesListItemPreference preference = newPreference(mode);
|
||||
|
||||
assertThat(preference.getTitle()).isEqualTo("Mode disabled by user");
|
||||
assertThat(preference.getSummary()).isEqualTo("Disabled");
|
||||
assertThat(preference.getIcon()).isNotNull();
|
||||
}
|
||||
|
||||
private ZenModesListItemPreference newPreference(ZenMode zenMode) {
|
||||
return new ZenModesListItemPreference(mContext, mIconLoader, MoreExecutors.directExecutor(),
|
||||
zenMode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,11 +40,13 @@ import androidx.preference.PreferenceManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settingslib.notification.modes.TestModeBuilder;
|
||||
import com.android.settingslib.notification.modes.ZenIconLoader;
|
||||
import com.android.settingslib.notification.modes.ZenMode;
|
||||
import com.android.settingslib.notification.modes.ZenModesBackend;
|
||||
import com.android.settingslib.search.SearchIndexableRaw;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.util.concurrent.MoreExecutors;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -95,7 +97,8 @@ public class ZenModesListPreferenceControllerTest {
|
||||
PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
|
||||
preferenceScreen.addPreference(mPreference);
|
||||
|
||||
mPrefController = new ZenModesListPreferenceController(mContext, mBackend);
|
||||
mPrefController = new ZenModesListPreferenceController(mContext, mBackend,
|
||||
new ZenIconLoader(MoreExecutors.newDirectExecutorService()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user