Add Adaptive brightness as an inline result in Search
Bug: 34740449 Test: make RunSettingsRoboTests Change-Id: I71acdcc04780a76263171a9d312d88a1eb61624a
This commit is contained in:
@@ -185,5 +185,12 @@ public class DisplaySettings extends DashboardFragment {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PreferenceController> getPreferenceControllers(Context context) {
|
||||||
|
final List<PreferenceController> controllers = new ArrayList<>();
|
||||||
|
controllers.add(new AutoBrightnessPreferenceController(context));
|
||||||
|
return controllers;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,12 @@ import android.provider.Settings;
|
|||||||
import android.support.v14.preference.SwitchPreference;
|
import android.support.v14.preference.SwitchPreference;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
|
|
||||||
|
import android.util.ArrayMap;
|
||||||
import com.android.settings.core.PreferenceController;
|
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;
|
||||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
|
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
|
||||||
@@ -59,4 +64,14 @@ public class AutoBrightnessPreferenceController extends PreferenceController imp
|
|||||||
auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : SCREEN_BRIGHTNESS_MODE_MANUAL);
|
auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : SCREEN_BRIGHTNESS_MODE_MANUAL);
|
||||||
return true;
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,7 +21,6 @@ import android.content.Context;
|
|||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.ArrayMap;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -39,7 +38,7 @@ public class InlineSwitchPayload extends InlinePayload {
|
|||||||
public final Map<Integer, Boolean> valueMap;
|
public final Map<Integer, Boolean> valueMap;
|
||||||
|
|
||||||
public InlineSwitchPayload(String newUri, @SettingsSource int settingsSource,
|
public InlineSwitchPayload(String newUri, @SettingsSource int settingsSource,
|
||||||
ArrayMap<Integer, Boolean> map) {
|
Map<Integer, Boolean> map) {
|
||||||
super(newUri, PayloadType.INLINE_SWITCH, settingsSource);
|
super(newUri, PayloadType.INLINE_SWITCH, settingsSource);
|
||||||
valueMap = map;
|
valueMap = map;
|
||||||
}
|
}
|
||||||
@@ -91,6 +90,16 @@ public class InlineSwitchPayload extends InlinePayload {
|
|||||||
case SettingsSource.SECURE:
|
case SettingsSource.SECURE:
|
||||||
settingsValue = Settings.Secure.getInt(context.getContentResolver(),
|
settingsValue = Settings.Secure.getInt(context.getContentResolver(),
|
||||||
settingsUri, 0);
|
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) {
|
if (settingsValue == -1) {
|
||||||
@@ -126,10 +135,13 @@ public class InlineSwitchPayload extends InlinePayload {
|
|||||||
|
|
||||||
switch(settingSource) {
|
switch(settingSource) {
|
||||||
case SettingsSource.GLOBAL:
|
case SettingsSource.GLOBAL:
|
||||||
|
Settings.Global.putInt(context.getContentResolver(), settingsUri, switchValue);
|
||||||
return;
|
return;
|
||||||
case SettingsSource.SECURE:
|
case SettingsSource.SECURE:
|
||||||
Settings.Secure.putInt(context.getContentResolver(), settingsUri, switchValue);
|
Settings.Secure.putInt(context.getContentResolver(), settingsUri, switchValue);
|
||||||
|
return;
|
||||||
case SettingsSource.SYSTEM:
|
case SettingsSource.SYSTEM:
|
||||||
|
Settings.System.putInt(context.getContentResolver(), settingsUri, switchValue);
|
||||||
return;
|
return;
|
||||||
case SettingsSource.UNKNOWN:
|
case SettingsSource.UNKNOWN:
|
||||||
return;
|
return;
|
||||||
|
@@ -20,6 +20,9 @@ import android.content.Context;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import com.android.settings.SettingsRobolectricTestRunner;
|
import com.android.settings.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.TestConfig;
|
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.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -27,6 +30,7 @@ import org.mockito.Answers;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.annotation.Config;
|
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;
|
||||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
|
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
|
||||||
@@ -64,4 +68,23 @@ public class AutoBrightnessPreferenceControllerTest {
|
|||||||
SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
|
SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
|
||||||
assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_MANUAL);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,7 @@ import com.android.internal.hardware.AmbientDisplayConfiguration;
|
|||||||
import com.android.settings.SettingsRobolectricTestRunner;
|
import com.android.settings.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import com.android.settings.core.PreferenceController;
|
import com.android.settings.core.PreferenceController;
|
||||||
|
import com.android.settings.display.AutoBrightnessPreferenceController;
|
||||||
import com.android.settings.gestures.DoubleTapPowerPreferenceController;
|
import com.android.settings.gestures.DoubleTapPowerPreferenceController;
|
||||||
import com.android.settings.gestures.DoubleTapScreenPreferenceController;
|
import com.android.settings.gestures.DoubleTapScreenPreferenceController;
|
||||||
import com.android.settings.gestures.DoubleTwistPreferenceController;
|
import com.android.settings.gestures.DoubleTwistPreferenceController;
|
||||||
@@ -81,19 +82,11 @@ public class DatabaseIndexingUtilsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsValidMap() {
|
public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsValidMap() {
|
||||||
String className = "com.android.settings.gestures.GestureSettings";
|
String className = "com.android.settings.DisplaySettings";
|
||||||
|
|
||||||
Map map = DatabaseIndexingUtils.getPreferenceControllerUriMap(className, mContext);
|
Map map = DatabaseIndexingUtils.getPreferenceControllerUriMap(className, mContext);
|
||||||
assertThat(map.get("gesture_double_twist"))
|
assertThat(map.get("auto_brightness"))
|
||||||
.isInstanceOf(DoubleTwistPreferenceController.class);
|
.isInstanceOf(AutoBrightnessPreferenceController.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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user