From f815608a71497a9d3d59ad12fc724c14a96b4f4d Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Wed, 8 May 2024 17:08:57 +0000 Subject: [PATCH] UI and error message fixes for 16k developer option - Disallow disabling option when hardware offload values aren't default ones. This was bypassing warning dialogue - For ext4 format dialog, add a delete icon and change confirmation text - Change error message when update is pending. - Add padding to progress dialog Test: m Settings && adb install -r $ANDROID_PRODUCT_OUT/system_ext/priv-app/Settings/Settings.apk Bug: 295035851 Bug: 338139884 Change-Id: Ib1c3ac075a75a8515fe725103b062983ecf11fba --- .../DevelopmentSettingsDashboardFragment.java | 7 +++++++ .../Enable16kPagesPreferenceController.java | 10 +++++++--- .../settings/development/EnableExt4WarningDialog.java | 3 ++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java index 4038f4d8f0e..b1e4f8717e9 100644 --- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java @@ -376,6 +376,13 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra || enableAngleController.isDefaultValue())) { disableDeveloperOptions(); } else { + // Disabling developer options in page-agnostic mode isn't supported as device + // isn't in production state + if (Enable16kUtils.isPageAgnosticModeOn(getContext())) { + Enable16kUtils.showPageAgnosticWarning(getContext()); + onDisableDevelopmentOptionsRejected(); + return; + } DisableDevSettingsDialogFragment.show(this /* host */); } } diff --git a/src/com/android/settings/development/Enable16kPagesPreferenceController.java b/src/com/android/settings/development/Enable16kPagesPreferenceController.java index 23a6a22fdb1..0572b1b662d 100644 --- a/src/com/android/settings/development/Enable16kPagesPreferenceController.java +++ b/src/com/android/settings/development/Enable16kPagesPreferenceController.java @@ -207,7 +207,10 @@ public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferen int status = data.getInt(SystemUpdateManager.KEY_STATUS); if (status != SystemUpdateManager.STATUS_UNKNOWN && status != SystemUpdateManager.STATUS_IDLE) { - throw new RuntimeException("System has pending update!"); + throw new RuntimeException( + "System has pending update! Please restart the device to complete applying" + + " pending update. If you are seeing this after using 16KB developer" + + " options, please check configuration and OTA packages!"); } // Publish system update info @@ -313,7 +316,7 @@ public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferen } private void displayToast(String message) { - Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show(); + Toast.makeText(mContext, message, Toast.LENGTH_LONG).show(); } @Override @@ -330,7 +333,7 @@ public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferen @Override public void onFailure(@NonNull Throwable t) { - Log.e(TAG, "Failed to change the /data partition with ext4"); + Log.e(TAG, "Failed to change the /data partition to ext4"); displayToast(mContext.getString(R.string.format_ext4_failure_toast)); } }, @@ -405,6 +408,7 @@ public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferen LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); progressBar.setLayoutParams(params); + progressBar.setPadding(0, 24, 0, 24); builder.setView(progressBar); builder.setCancelable(false); return builder.create(); diff --git a/src/com/android/settings/development/EnableExt4WarningDialog.java b/src/com/android/settings/development/EnableExt4WarningDialog.java index c8ba521de2d..0e1dffd6643 100644 --- a/src/com/android/settings/development/EnableExt4WarningDialog.java +++ b/src/com/android/settings/development/EnableExt4WarningDialog.java @@ -70,8 +70,9 @@ public class EnableExt4WarningDialog extends InstrumentedDialogFragment public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) .setTitle(R.string.confirm_format_ext4_title) + .setIcon(R.drawable.ic_delete_accent) .setMessage(R.string.confirm_format_ext4_text) - .setPositiveButton(android.R.string.ok, this /* onClickListener */) + .setPositiveButton(R.string.main_clear_confirm_title, this /* onClickListener */) .setNegativeButton(android.R.string.cancel, this /* onClickListener */) .create(); }