Cherish: Smart Pixels [2/2]

Change-Id: I55775e02e849ad5db5b1187be0ca77b7c09f1081
Signed-off-by: Shubham Singh <coolsks94@gmail.com>
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Joe Maples
2018-01-22 21:19:34 -05:00
committed by Hưng Phan
parent 6bb150b14e
commit ee150661b7
6 changed files with 250 additions and 0 deletions

View File

@@ -34,15 +34,29 @@ import com.cherish.settings.preferences.SystemSettingListPreference;
public class MiscSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
private static final String SMART_PIXELS = "smart_pixels";
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
ContentResolver resolver = getActivity().getContentResolver();
addPreferencesFromResource(R.xml.cherish_settings_misc);
updateSmartPixelsPreference();
}
private void updateSmartPixelsPreference() {
PreferenceScreen prefSet = getPreferenceScreen();
boolean enableSmartPixels = getContext().getResources().
getBoolean(com.android.internal.R.bool.config_enableSmartPixels);
Preference smartPixels = findPreference(SMART_PIXELS);
if (!enableSmartPixels){
prefSet.removePreference(smartPixels);
}
}
@Override
public boolean onPreferenceChange(Preference preference, Object objValue) {
return false;

View File

@@ -0,0 +1,127 @@
/*
* Copyright (C) 2018 CarbonROM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.cherish.settings.fragments;
import android.content.Context;
import android.content.ContentResolver;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.PowerManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import com.cherish.settings.preferences.SystemSettingSwitchPreference;
import java.util.ArrayList;
import java.util.List;
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class SmartPixels extends SettingsPreferenceFragment implements
Preference.OnPreferenceChangeListener {
private static final String TAG = "SmartPixels";
private static final String ON_POWER_SAVE = "smart_pixels_on_power_save";
private SystemSettingSwitchPreference mSmartPixelsOnPowerSave;
ContentResolver resolver;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.cherish_settings_smart_pixels);
resolver = getActivity().getContentResolver();
mSmartPixelsOnPowerSave = (SystemSettingSwitchPreference) findPreference(ON_POWER_SAVE);
updateDependency();
}
@Override
public int getMetricsCategory() {
return MetricsEvent.CHERISH_SETTINGS;
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
public boolean onPreferenceChange(Preference preference, Object objValue) {
final String key = preference.getKey();
updateDependency();
return true;
}
private void updateDependency() {
boolean mUseOnPowerSave = (Settings.System.getIntForUser(
resolver, Settings.System.SMART_PIXELS_ON_POWER_SAVE,
0, UserHandle.USER_CURRENT) == 1);
PowerManager pm = (PowerManager)getActivity().getSystemService(Context.POWER_SERVICE);
if (pm.isPowerSaveMode() && mUseOnPowerSave) {
mSmartPixelsOnPowerSave.setEnabled(false);
} else {
mSmartPixelsOnPowerSave.setEnabled(true);
}
}
/**
* For Search.
*/
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) {
ArrayList<SearchIndexableResource> result =
new ArrayList<SearchIndexableResource>();
SearchIndexableResource sir = new SearchIndexableResource(context);
if (context.getResources().
getBoolean(com.android.internal.R.bool.config_enableSmartPixels)) {
sir.xmlResId = R.xml.cherish_settings_smart_pixels;
}
return result;
}
@Override
public List<String> getNonIndexableKeys(Context context) {
List<String> keys = super.getNonIndexableKeys(context);
return keys;
}
};
}