Follow up to "A better brightness"
Original change I122e1218dd0072c979a59bdafd3e0b6f4eec99ab was missing search provider logic adjustments and length limits on the added strings. Bug: 15313133 Change-Id: I8910dd60111c87f5494db7bac76a351e89c1a99b
This commit is contained in:
@@ -1825,9 +1825,9 @@
|
||||
<string name="brightness">Brightness level</string>
|
||||
<!-- Sound & display settings screen, setting option summary to change brightness level -->
|
||||
<string name="brightness_summary">Adjust the brightness of the screen</string>
|
||||
<!-- Sound & display settings screen, setting option name to enable adaptive brightness -->
|
||||
<!-- Sound & display settings screen, setting option name to enable adaptive brightness [CHAR LIMIT=30] -->
|
||||
<string name="auto_brightness_title">Adaptive brightness</string>
|
||||
<!-- Sound & display settings screen, setting option summary to enable adaptive brightness -->
|
||||
<!-- Sound & display settings screen, setting option summary to enable adaptive brightness [CHAR LIMIT=100] -->
|
||||
<string name="auto_brightness_summary">Optimize brightness level for available light</string>
|
||||
<!-- Sound & display settings screen, setting option name to change screen timeout -->
|
||||
<string name="screen_timeout">Sleep</string>
|
||||
|
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings;
|
||||
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
|
||||
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_MANUAL;
|
||||
@@ -36,13 +39,15 @@ import android.preference.ListPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.Preference.OnPreferenceClickListener;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener, OnPreferenceClickListener {
|
||||
Preference.OnPreferenceChangeListener, OnPreferenceClickListener, Indexable {
|
||||
private static final String TAG = "DisplaySettings";
|
||||
|
||||
/** If there is no setting in the provider, use this. */
|
||||
@@ -90,9 +95,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
mFontSizePref.setOnPreferenceChangeListener(this);
|
||||
mFontSizePref.setOnPreferenceClickListener(this);
|
||||
|
||||
boolean automaticBrightnessAvailable = getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_automatic_brightness_available);
|
||||
if (automaticBrightnessAvailable) {
|
||||
if (isAutomaticBrightnessAvailable(getResources())) {
|
||||
mAutoBrightnessPreference = (CheckBoxPreference) findPreference(KEY_AUTO_BRIGHTNESS);
|
||||
mAutoBrightnessPreference.setOnPreferenceChangeListener(this);
|
||||
} else {
|
||||
@@ -100,6 +103,10 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isAutomaticBrightnessAvailable(Resources res) {
|
||||
return res.getBoolean(com.android.internal.R.bool.config_automatic_brightness_available);
|
||||
}
|
||||
|
||||
private void updateTimeoutPreferenceDescription(long currentTimeout) {
|
||||
ListPreference preference = mScreenTimeoutPreference;
|
||||
String summary;
|
||||
@@ -286,4 +293,28 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
|
||||
boolean enabled) {
|
||||
ArrayList<SearchIndexableResource> result = new ArrayList<>(1);
|
||||
|
||||
SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||
sir.xmlResId = R.xml.display_settings;
|
||||
result.add(sir);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getNonIndexableKeys(Context context) {
|
||||
ArrayList<String> nonIndexableKeys = new ArrayList<>(1);
|
||||
if (!isAutomaticBrightnessAvailable(context.getResources())) {
|
||||
nonIndexableKeys.add(KEY_AUTO_BRIGHTNESS);
|
||||
}
|
||||
return nonIndexableKeys;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@@ -101,7 +101,7 @@ public final class SearchIndexableResources {
|
||||
sResMap.put(DisplaySettings.class.getName(),
|
||||
new SearchIndexableResource(
|
||||
Ranking.getRankForClassName(DisplaySettings.class.getName()),
|
||||
R.xml.display_settings,
|
||||
NO_DATA_RES_ID,
|
||||
DisplaySettings.class.getName(),
|
||||
R.drawable.ic_settings_display));
|
||||
|
||||
|
Reference in New Issue
Block a user