From 2642d0d517efcb8af5f87c09dac42acfa24ae1e3 Mon Sep 17 00:00:00 2001 From: Joey Huab Date: Mon, 16 May 2022 10:06:43 +0700 Subject: [PATCH] Cherish:User toggle for unlimited photos storage [2/2] User toggle for StreamProp [2/2] User toggle for GamesProp [2/2] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pranav Vashi Signed-off-by: Hưng Phan --- res/values/cherish_strings.xml | 13 ++++++ res/xml/cherish_settings_misc.xml | 26 ++++++++++++ .../settings/fragments/MiscSettings.java | 41 ++++++++++++++++++- 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 825d7ba..c8afc63 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -843,4 +843,17 @@ Disabled Daily usage Monthly usage + + Spoofing + + Unlimited Photos storage + Spoof your device as Pixel XL for Google Photos app only to provide unlimited storage for backup + + + Unlock higher FPS in games + Spoof your device as a different model for specific games to unlock higher FPS + + + Unlock higher quality streams + Spoof your device as Pixel 6 Pro to unlock higher quality streams on Amazon Prime, Disney+, Hotstar, and Netflix diff --git a/res/xml/cherish_settings_misc.xml b/res/xml/cherish_settings_misc.xml index d40f04e..3c4825c 100644 --- a/res/xml/cherish_settings_misc.xml +++ b/res/xml/cherish_settings_misc.xml @@ -47,5 +47,31 @@ android:targetPackage="org.exthmui.game" android:targetClass="org.exthmui.game.ui.MainActivity" /> + + + + + + + + + + + + + diff --git a/src/com/cherish/settings/fragments/MiscSettings.java b/src/com/cherish/settings/fragments/MiscSettings.java index f811e7f..cbc1792 100644 --- a/src/com/cherish/settings/fragments/MiscSettings.java +++ b/src/com/cherish/settings/fragments/MiscSettings.java @@ -7,6 +7,7 @@ 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; @@ -44,11 +45,24 @@ 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); @@ -61,11 +75,36 @@ public class MiscSettings extends SettingsPreferenceFragment implements } 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 objValue) { + 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; }