diff --git a/app/src/main/java/org/lineageos/updater/UpdatesActivity.java b/app/src/main/java/org/lineageos/updater/UpdatesActivity.java index ca9d228e93288035c972a15b84535eb9824ebe25..dfc13163147e155fdca3e03371635a8f168dcf99 100644 --- a/app/src/main/java/org/lineageos/updater/UpdatesActivity.java +++ b/app/src/main/java/org/lineageos/updater/UpdatesActivity.java @@ -628,12 +628,7 @@ public class UpdatesActivity extends UpdatesListActivity implements UpdateImport meteredNetworkWarning.setChecked(prefs.getBoolean(Constants.PREF_METERED_NETWORK_WARNING, prefs.getBoolean(Constants.PREF_MOBILE_DATA_WARNING, true))); abPerfMode.setChecked(prefs.getBoolean(Constants.PREF_AB_PERF_MODE, - getResources().getBoolean(R.bool.config_prioritizeUpdateProcess))); - - if (Utils.isPrefDevices()) { - abPerfMode.setChecked(true); - abPerfMode.setEnabled(false); - } + Utils.defaultABPerfMode(this))); if (getResources().getBoolean(R.bool.config_hideRecoveryUpdate)) { // Hide the update feature if explicitly requested. diff --git a/app/src/main/java/org/lineageos/updater/controller/ABUpdateInstaller.java b/app/src/main/java/org/lineageos/updater/controller/ABUpdateInstaller.java index 2fe66473f7818ad17877f969ab42a5d5defb5e8c..380eba21cce7ddc76efd68ed0ce656d2d95dae76 100644 --- a/app/src/main/java/org/lineageos/updater/controller/ABUpdateInstaller.java +++ b/app/src/main/java/org/lineageos/updater/controller/ABUpdateInstaller.java @@ -209,8 +209,8 @@ class ABUpdateInstaller { } boolean enableABPerfMode = PreferenceManager.getDefaultSharedPreferences(mContext) - .getBoolean(Constants.PREF_AB_PERF_MODE, false); - mUpdateEngine.setPerformanceMode(enableABPerfMode || Utils.isPrefDevices()); + .getBoolean(Constants.PREF_AB_PERF_MODE, Utils.defaultABPerfMode(mContext)); + mUpdateEngine.setPerformanceMode(enableABPerfMode); String zipFileUri = "file://" + file.getAbsolutePath(); try { diff --git a/app/src/main/java/org/lineageos/updater/misc/Constants.java b/app/src/main/java/org/lineageos/updater/misc/Constants.java index 5c38037acc9ba880a9289afdd42ea7893ac99e41..56525dbad09724f87ead6b6d192703e91b84522d 100644 --- a/app/src/main/java/org/lineageos/updater/misc/Constants.java +++ b/app/src/main/java/org/lineageos/updater/misc/Constants.java @@ -35,7 +35,8 @@ public final class Constants { public static final String PREF_AUTO_UPDATES_CHECK_INTERVAL = "auto_updates_check_interval"; public static final String PREF_AUTO_DELETE_UPDATES = "auto_delete_updates"; public static final String PREF_ALL_UPDATES = "all_updates"; - public static final String PREF_AB_PERF_MODE = "ab_perf_mode"; + public static final String PREF_AB_PERF_MODE_OLD = "ab_perf_mode"; + public static final String PREF_AB_PERF_MODE = "e_ab_perf_mode"; public static final String PREF_METERED_NETWORK_WARNING = "pref_metered_network_warning"; public static final String PREF_MOBILE_DATA_WARNING = "pref_mobile_data_warning"; public static final String PREF_NEEDS_REBOOT_ID = "needs_reboot_id"; diff --git a/app/src/main/java/org/lineageos/updater/misc/Utils.java b/app/src/main/java/org/lineageos/updater/misc/Utils.java index 209796ccbda17f66bc2d0d5439ac1f28774f3f53..656aef058d5005544ce7a3f84cd7bfc77b97e935 100644 --- a/app/src/main/java/org/lineageos/updater/misc/Utils.java +++ b/app/src/main/java/org/lineageos/updater/misc/Utils.java @@ -543,10 +543,11 @@ public class Utils { return isAB; } - public static boolean isPrefDevices() { - String manufacturer = Build.MANUFACTURER.toLowerCase(Locale.ROOT); - String device = Build.DEVICE.toLowerCase(Locale.ROOT); - return manufacturer.equals("fairphone") && (device.equals("fp4") || device.equals("fp5")); + public static boolean defaultABPerfMode(Context context) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean oldPrefValue = prefs.getBoolean(Constants.PREF_AB_PERF_MODE_OLD, false); + return (context.getResources().getBoolean(R.bool.config_prioritizeUpdateProcess) + || oldPrefValue); } public static boolean isDevModeOn(Context context) {