User toggle for StreamProp [2/2] User toggle for GamesProp [2/2] Co-authored-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
142 lines
5.3 KiB
Java
142 lines
5.3 KiB
Java
package com.cherish.settings.fragments;
|
|
|
|
import com.android.internal.logging.nano.MetricsProto;
|
|
|
|
import android.os.Bundle;
|
|
import android.content.Intent;
|
|
import android.content.pm.PackageManager;
|
|
import android.content.pm.ResolveInfo;
|
|
import android.os.UserHandle;
|
|
import android.os.SystemProperties;
|
|
import android.content.Context;
|
|
import android.content.ContentResolver;
|
|
import android.content.res.Resources;
|
|
import androidx.preference.ListPreference;
|
|
import androidx.preference.Preference;
|
|
import androidx.preference.PreferenceScreen;
|
|
import androidx.preference.Preference.OnPreferenceChangeListener;
|
|
import androidx.preference.SwitchPreference;
|
|
import com.cherish.settings.preferences.CustomSeekBarPreference;
|
|
import android.provider.Settings;
|
|
import com.android.settings.R;
|
|
import com.android.settings.SettingsPreferenceFragment;
|
|
import java.util.Locale;
|
|
import android.text.TextUtils;
|
|
import android.view.View;
|
|
|
|
import java.util.List;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Collection;
|
|
import java.util.HashSet;
|
|
|
|
import android.content.pm.PackageManager.NameNotFoundException;
|
|
import com.android.settings.SettingsPreferenceFragment;
|
|
import com.cherish.settings.preferences.SystemSettingMasterSwitchPreference;
|
|
import com.cherish.settings.preferences.SystemSettingListPreference;
|
|
import com.cherish.settings.preferences.SecureSettingSwitchPreference;
|
|
import com.android.settings.search.BaseSearchIndexProvider;
|
|
import com.android.settingslib.search.SearchIndexable;
|
|
import android.provider.SearchIndexableResource;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
|
|
public class MiscSettings extends SettingsPreferenceFragment implements
|
|
OnPreferenceChangeListener {
|
|
|
|
private static final String KEY_GAMES_SPOOF = "use_games_spoof";
|
|
private static final String KEY_PHOTOS_SPOOF = "use_photos_spoof";
|
|
private static final String KEY_STREAM_SPOOF = "use_stream_spoof";
|
|
|
|
private static final String SYS_GAMES_SPOOF = "persist.sys.pixelprops.games";
|
|
private static final String SYS_PHOTOS_SPOOF = "persist.sys.pixelprops.gphotos";
|
|
private static final String SYS_STREAM_SPOOF = "persist.sys.pixelprops.streaming";
|
|
|
|
private SwitchPreference mGamesSpoof;
|
|
private SwitchPreference mPhotosSpoof;
|
|
private SwitchPreference mStreamSpoof;
|
|
|
|
@Override
|
|
public void onCreate(Bundle icicle) {
|
|
super.onCreate(icicle);
|
|
ContentResolver resolver = getActivity().getContentResolver();
|
|
PreferenceScreen prefSet = getPreferenceScreen();
|
|
|
|
addPreferencesFromResource(R.xml.cherish_settings_misc);
|
|
|
|
Resources res = null;
|
|
Context ctx = getContext();
|
|
float density = Resources.getSystem().getDisplayMetrics().density;
|
|
|
|
try {
|
|
res = ctx.getPackageManager().getResourcesForApplication("com.android.systemui");
|
|
} catch (NameNotFoundException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
mGamesSpoof = (SwitchPreference) findPreference(KEY_GAMES_SPOOF);
|
|
mGamesSpoof.setChecked(SystemProperties.getBoolean(SYS_GAMES_SPOOF, false));
|
|
mGamesSpoof.setOnPreferenceChangeListener(this);
|
|
|
|
mPhotosSpoof = (SwitchPreference) findPreference(KEY_PHOTOS_SPOOF);
|
|
mPhotosSpoof.setChecked(SystemProperties.getBoolean(SYS_PHOTOS_SPOOF, true));
|
|
mPhotosSpoof.setOnPreferenceChangeListener(this);
|
|
|
|
mStreamSpoof = (SwitchPreference) findPreference(KEY_STREAM_SPOOF);
|
|
mStreamSpoof.setChecked(SystemProperties.getBoolean(SYS_STREAM_SPOOF, true));
|
|
mStreamSpoof.setOnPreferenceChangeListener(this);
|
|
|
|
}
|
|
|
|
@Override
|
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
if (preference == mGamesSpoof) {
|
|
boolean value = (Boolean) newValue;
|
|
SystemProperties.set(SYS_GAMES_SPOOF, value ? "true" : "false");
|
|
return true;
|
|
} else if (preference == mPhotosSpoof) {
|
|
boolean value = (Boolean) newValue;
|
|
SystemProperties.set(SYS_PHOTOS_SPOOF, value ? "true" : "false");
|
|
return true;
|
|
} else if (preference == mStreamSpoof) {
|
|
boolean value = (Boolean) newValue;
|
|
SystemProperties.set(SYS_STREAM_SPOOF, value ? "true" : "false");
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
|
|
@Override
|
|
public int getMetricsCategory() {
|
|
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
|
|
}
|
|
|
|
/**
|
|
* 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);
|
|
sir.xmlResId = R.xml.cherish_settings_misc;
|
|
result.add(sir);
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public List<String> getNonIndexableKeys(Context context) {
|
|
List<String> keys = super.getNonIndexableKeys(context);
|
|
return keys;
|
|
}
|
|
};
|
|
}
|