diff --git a/app/src/main/java/org/lineageos/updater/UpdatesActivity.java b/app/src/main/java/org/lineageos/updater/UpdatesActivity.java index 5d845f2355c0cf6dbe804b8f9bcd27243c37c6b3..f3e8456af7f459337906dfdfc5ade2de089cce83 100644 --- a/app/src/main/java/org/lineageos/updater/UpdatesActivity.java +++ b/app/src/main/java/org/lineageos/updater/UpdatesActivity.java @@ -619,6 +619,11 @@ public class UpdatesActivity extends UpdatesListActivity implements UpdateImport abPerfMode.setChecked(prefs.getBoolean(Constants.PREF_AB_PERF_MODE, getResources().getBoolean(R.bool.config_prioritizeUpdateProcess))); + if (Utils.isPrefDevices()) { + abPerfMode.setChecked(true); + abPerfMode.setEnabled(false); + } + if (getResources().getBoolean(R.bool.config_hideRecoveryUpdate)) { // Hide the update feature if explicitly requested. // Might be the case of A-only devices using prebuilt vendor images. 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 488ec0e022c91f93624f19381dff5749e1836a78..afa9d2259dfdfbf712076e995f5ad320e3bcd11a 100644 --- a/app/src/main/java/org/lineageos/updater/controller/ABUpdateInstaller.java +++ b/app/src/main/java/org/lineageos/updater/controller/ABUpdateInstaller.java @@ -199,7 +199,7 @@ class ABUpdateInstaller { boolean enableABPerfMode = PreferenceManager.getDefaultSharedPreferences(mContext) .getBoolean(Constants.PREF_AB_PERF_MODE, false); - mUpdateEngine.setPerformanceMode(enableABPerfMode); + mUpdateEngine.setPerformanceMode(enableABPerfMode || Utils.isPrefDevices()); String zipFileUri = "file://" + file.getAbsolutePath(); try { 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 67be73473382345db370bb1bf6fd489f22d195b6..d5dfbb6c65e0b610da14315f705585fcbb8dd428 100644 --- a/app/src/main/java/org/lineageos/updater/misc/Utils.java +++ b/app/src/main/java/org/lineageos/updater/misc/Utils.java @@ -531,6 +531,12 @@ 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 isDevModeOn(Context context) { return Settings.Secure.getInt(context.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED , 0) == 1;