Introduce AdbPreferenceController

- Create new AdbPreferenceController
 - Create AdbOnChangeListener interface for adb change callbacks
 - Create EnableAdbSettingWarningDialog
 - Create controller inside the DashboardFragment
 - Port logic from DevelopmentSettings into the controller
 - Add deprecated annotation to EnableAdbPreferenceController

Bug: 34203528
Test: make RunSettingsRoboTests -j40
Change-Id: Id57146149943d770bf5ccc9ed5ecc6ea9d8ae66c
This commit is contained in:
jeffreyhuang
2017-09-21 11:14:22 -07:00
parent 6931fcd61f
commit 8d8f1663b4
9 changed files with 504 additions and 3 deletions

View File

@@ -113,7 +113,8 @@ public class DevelopmentSettingsDashboardFragmentTest {
@Test
@Config(shadows = {
ShadowPictureColorModePreferenceController.class
ShadowPictureColorModePreferenceController.class,
ShadowAdbPreferenceController.class
})
public void searchIndex_pageEnabled_shouldNotAddKeysToNonIndexable() {
final Context appContext = RuntimeEnvironment.application;
@@ -186,6 +187,26 @@ public class DevelopmentSettingsDashboardFragmentTest {
verify(controller).onOemUnlockDismissed();
}
@Test
public void onAdbDialogConfirmed_shouldCallControllerDialogConfirmed() {
final AdbPreferenceController controller = mock(AdbPreferenceController.class);
doReturn(controller).when(mDashboard).getDevelopmentOptionsController(
AdbPreferenceController.class);
mDashboard.onEnableAdbDialogConfirmed();
verify(controller).onAdbDialogConfirmed();
}
@Test
public void onAdbDialogDismissed_shouldCallControllerOemDismissed() {
final AdbPreferenceController controller = mock(AdbPreferenceController.class);
doReturn(controller).when(mDashboard).getDevelopmentOptionsController(
AdbPreferenceController.class);
mDashboard.onEnableAdbDialogDismissed();
verify(controller).onAdbDialogDismissed();
}
@Implements(EnableDevelopmentSettingWarningDialog.class)
public static class ShadowEnableDevelopmentSettingWarningDialog {
@@ -204,7 +225,14 @@ public class DevelopmentSettingsDashboardFragmentTest {
@Implements(PictureColorModePreferenceController.class)
public static class ShadowPictureColorModePreferenceController {
@Implementation
public boolean isAvailable() {
return true;
}
}
@Implements(AdbPreferenceController.class)
public static class ShadowAdbPreferenceController {
@Implementation
public boolean isAvailable() {
return true;