Loading src/com/android/settings/DisplaySettings.java +7 −0 Original line number Diff line number Diff line Loading @@ -183,5 +183,12 @@ public class DisplaySettings extends DashboardFragment { return result; } @Override public List<PreferenceController> getPreferenceControllers(Context context) { final List<PreferenceController> controllers = new ArrayList<>(); controllers.add(new AutoBrightnessPreferenceController(context)); return controllers; } }; } src/com/android/settings/display/AutoBrightnessPreferenceController.java +15 −0 Original line number Diff line number Diff line Loading @@ -18,7 +18,12 @@ import android.provider.Settings; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.util.ArrayMap; import com.android.settings.core.PreferenceController; import com.android.settings.search2.InlineSwitchPayload; import com.android.settings.search2.ResultPayload; import java.util.Map; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; Loading Loading @@ -59,4 +64,14 @@ public class AutoBrightnessPreferenceController extends PreferenceController imp auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : SCREEN_BRIGHTNESS_MODE_MANUAL); return true; } @Override public ResultPayload getResultPayload() { final Map<Integer, Boolean> valueMap = new ArrayMap<>(); valueMap.put(SCREEN_BRIGHTNESS_MODE_AUTOMATIC, true); valueMap.put(SCREEN_BRIGHTNESS_MODE_MANUAL, false); return new InlineSwitchPayload(SCREEN_BRIGHTNESS_MODE, ResultPayload.SettingsSource.SYSTEM, valueMap); } } src/com/android/settings/search2/InlineSwitchPayload.java +14 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import android.provider.Settings; import android.util.ArrayMap; import java.util.Map; Loading @@ -39,7 +38,7 @@ public class InlineSwitchPayload extends InlinePayload { public final Map<Integer, Boolean> valueMap; public InlineSwitchPayload(String newUri, @SettingsSource int settingsSource, ArrayMap<Integer, Boolean> map) { Map<Integer, Boolean> map) { super(newUri, PayloadType.INLINE_SWITCH, settingsSource); valueMap = map; } Loading Loading @@ -91,6 +90,16 @@ public class InlineSwitchPayload extends InlinePayload { case SettingsSource.SECURE: settingsValue = Settings.Secure.getInt(context.getContentResolver(), settingsUri, 0); break; case SettingsSource.SYSTEM: settingsValue = Settings.System.getInt(context.getContentResolver(), settingsUri, 0); break; case SettingsSource.GLOBAL: settingsValue = Settings.Global.getInt(context.getContentResolver(), settingsUri, 0); break; } if (settingsValue == -1) { Loading Loading @@ -126,10 +135,13 @@ public class InlineSwitchPayload extends InlinePayload { switch(settingSource) { case SettingsSource.GLOBAL: Settings.Global.putInt(context.getContentResolver(), settingsUri, switchValue); return; case SettingsSource.SECURE: Settings.Secure.putInt(context.getContentResolver(), settingsUri, switchValue); return; case SettingsSource.SYSTEM: Settings.System.putInt(context.getContentResolver(), settingsUri, switchValue); return; case SettingsSource.UNKNOWN: return; Loading tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,9 @@ import android.content.Context; import android.provider.Settings; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.gestures.DoubleTapPowerPreferenceController; import com.android.settings.search2.InlineSwitchPayload; import com.android.settings.search2.ResultPayload; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -27,6 +30,7 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; Loading Loading @@ -64,4 +68,23 @@ public class AutoBrightnessPreferenceControllerTest { SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC); assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_MANUAL); } @Test public void testPreferenceController_ProperResultPayloadType() { final Context context = ShadowApplication.getInstance().getApplicationContext(); mController = new AutoBrightnessPreferenceController(context); ResultPayload payload = mController.getResultPayload(); assertThat(payload).isInstanceOf(InlineSwitchPayload.class); } @Test public void testPreferenceController_CorrectPayload() { final Context context = ShadowApplication.getInstance().getApplicationContext(); mController = new AutoBrightnessPreferenceController(context); InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload(); assertThat(payload.settingsUri).isEqualTo("screen_brightness_mode"); assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SYSTEM); assertThat(payload.valueMap.get(1)).isEqualTo(true); assertThat(payload.valueMap.get(0)).isEqualTo(false); } } tests/robotests/src/com/android/settings/search/DatabaseIndexingUtilsTest.java +4 −11 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.internal.hardware.AmbientDisplayConfiguration; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.core.PreferenceController; import com.android.settings.display.AutoBrightnessPreferenceController; import com.android.settings.gestures.DoubleTapPowerPreferenceController; import com.android.settings.gestures.DoubleTapScreenPreferenceController; import com.android.settings.gestures.DoubleTwistPreferenceController; Loading Loading @@ -81,19 +82,11 @@ public class DatabaseIndexingUtilsTest { @Test public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsValidMap() { String className = "com.android.settings.gestures.GestureSettings"; String className = "com.android.settings.DisplaySettings"; Map map = DatabaseIndexingUtils.getPreferenceControllerUriMap(className, mContext); assertThat(map.get("gesture_double_twist")) .isInstanceOf(DoubleTwistPreferenceController.class); assertThat(map.get("gesture_swipe_down_fingerprint")) .isInstanceOf(SwipeToNotificationPreferenceController.class); assertThat(map.get("gesture_double_tap_screen")) .isInstanceOf(DoubleTapScreenPreferenceController.class); assertThat(map.get("gesture_pick_up")) .isInstanceOf(PickupGesturePreferenceController.class); assertThat(map.get("gesture_double_tap_power")) .isInstanceOf(DoubleTapPowerPreferenceController.class); assertThat(map.get("auto_brightness")) .isInstanceOf(AutoBrightnessPreferenceController.class); } @Test Loading Loading
src/com/android/settings/DisplaySettings.java +7 −0 Original line number Diff line number Diff line Loading @@ -183,5 +183,12 @@ public class DisplaySettings extends DashboardFragment { return result; } @Override public List<PreferenceController> getPreferenceControllers(Context context) { final List<PreferenceController> controllers = new ArrayList<>(); controllers.add(new AutoBrightnessPreferenceController(context)); return controllers; } }; }
src/com/android/settings/display/AutoBrightnessPreferenceController.java +15 −0 Original line number Diff line number Diff line Loading @@ -18,7 +18,12 @@ import android.provider.Settings; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.util.ArrayMap; import com.android.settings.core.PreferenceController; import com.android.settings.search2.InlineSwitchPayload; import com.android.settings.search2.ResultPayload; import java.util.Map; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; Loading Loading @@ -59,4 +64,14 @@ public class AutoBrightnessPreferenceController extends PreferenceController imp auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : SCREEN_BRIGHTNESS_MODE_MANUAL); return true; } @Override public ResultPayload getResultPayload() { final Map<Integer, Boolean> valueMap = new ArrayMap<>(); valueMap.put(SCREEN_BRIGHTNESS_MODE_AUTOMATIC, true); valueMap.put(SCREEN_BRIGHTNESS_MODE_MANUAL, false); return new InlineSwitchPayload(SCREEN_BRIGHTNESS_MODE, ResultPayload.SettingsSource.SYSTEM, valueMap); } }
src/com/android/settings/search2/InlineSwitchPayload.java +14 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import android.provider.Settings; import android.util.ArrayMap; import java.util.Map; Loading @@ -39,7 +38,7 @@ public class InlineSwitchPayload extends InlinePayload { public final Map<Integer, Boolean> valueMap; public InlineSwitchPayload(String newUri, @SettingsSource int settingsSource, ArrayMap<Integer, Boolean> map) { Map<Integer, Boolean> map) { super(newUri, PayloadType.INLINE_SWITCH, settingsSource); valueMap = map; } Loading Loading @@ -91,6 +90,16 @@ public class InlineSwitchPayload extends InlinePayload { case SettingsSource.SECURE: settingsValue = Settings.Secure.getInt(context.getContentResolver(), settingsUri, 0); break; case SettingsSource.SYSTEM: settingsValue = Settings.System.getInt(context.getContentResolver(), settingsUri, 0); break; case SettingsSource.GLOBAL: settingsValue = Settings.Global.getInt(context.getContentResolver(), settingsUri, 0); break; } if (settingsValue == -1) { Loading Loading @@ -126,10 +135,13 @@ public class InlineSwitchPayload extends InlinePayload { switch(settingSource) { case SettingsSource.GLOBAL: Settings.Global.putInt(context.getContentResolver(), settingsUri, switchValue); return; case SettingsSource.SECURE: Settings.Secure.putInt(context.getContentResolver(), settingsUri, switchValue); return; case SettingsSource.SYSTEM: Settings.System.putInt(context.getContentResolver(), settingsUri, switchValue); return; case SettingsSource.UNKNOWN: return; Loading
tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,9 @@ import android.content.Context; import android.provider.Settings; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.gestures.DoubleTapPowerPreferenceController; import com.android.settings.search2.InlineSwitchPayload; import com.android.settings.search2.ResultPayload; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -27,6 +30,7 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; Loading Loading @@ -64,4 +68,23 @@ public class AutoBrightnessPreferenceControllerTest { SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC); assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_MANUAL); } @Test public void testPreferenceController_ProperResultPayloadType() { final Context context = ShadowApplication.getInstance().getApplicationContext(); mController = new AutoBrightnessPreferenceController(context); ResultPayload payload = mController.getResultPayload(); assertThat(payload).isInstanceOf(InlineSwitchPayload.class); } @Test public void testPreferenceController_CorrectPayload() { final Context context = ShadowApplication.getInstance().getApplicationContext(); mController = new AutoBrightnessPreferenceController(context); InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload(); assertThat(payload.settingsUri).isEqualTo("screen_brightness_mode"); assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SYSTEM); assertThat(payload.valueMap.get(1)).isEqualTo(true); assertThat(payload.valueMap.get(0)).isEqualTo(false); } }
tests/robotests/src/com/android/settings/search/DatabaseIndexingUtilsTest.java +4 −11 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.internal.hardware.AmbientDisplayConfiguration; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.core.PreferenceController; import com.android.settings.display.AutoBrightnessPreferenceController; import com.android.settings.gestures.DoubleTapPowerPreferenceController; import com.android.settings.gestures.DoubleTapScreenPreferenceController; import com.android.settings.gestures.DoubleTwistPreferenceController; Loading Loading @@ -81,19 +82,11 @@ public class DatabaseIndexingUtilsTest { @Test public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsValidMap() { String className = "com.android.settings.gestures.GestureSettings"; String className = "com.android.settings.DisplaySettings"; Map map = DatabaseIndexingUtils.getPreferenceControllerUriMap(className, mContext); assertThat(map.get("gesture_double_twist")) .isInstanceOf(DoubleTwistPreferenceController.class); assertThat(map.get("gesture_swipe_down_fingerprint")) .isInstanceOf(SwipeToNotificationPreferenceController.class); assertThat(map.get("gesture_double_tap_screen")) .isInstanceOf(DoubleTapScreenPreferenceController.class); assertThat(map.get("gesture_pick_up")) .isInstanceOf(PickupGesturePreferenceController.class); assertThat(map.get("gesture_double_tap_power")) .isInstanceOf(DoubleTapPowerPreferenceController.class); assertThat(map.get("auto_brightness")) .isInstanceOf(AutoBrightnessPreferenceController.class); } @Test Loading