Add Adaptive brightness as an inline result in Search

Bug: 34740449
Test: make RunSettingsRoboTests
Change-Id: I71acdcc04780a76263171a9d312d88a1eb61624a
This commit is contained in:
Matthew Fritze
2017-01-26 14:37:48 -08:00
parent a1bae0ad7e
commit 516b0f1b83
5 changed files with 63 additions and 13 deletions

View File

@@ -185,5 +185,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;
}
};
}

View File

@@ -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;
@@ -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);
}
}

View File

@@ -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;
@@ -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;
}
@@ -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) {
@@ -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;