summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/DisplaySettings.java34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 9866253..399e1eb 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -17,6 +17,9 @@
package com.android.settings;
import com.android.internal.logging.MetricsLogger;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import android.preference.CheckBoxPreference;
import android.os.UserHandle;
@@ -679,13 +682,12 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
}
}
if (KEY_LCD_DENSITY.equals(key)) {
- try {
- int value = Integer.parseInt((String) objValue);
- writeLcdDensityPreference(preference.getContext(), value);
- updateLcdDensityPreferenceDescription(value);
- } catch (NumberFormatException e) {
- Log.e(TAG, "could not persist display density setting", e);
+ String newValue = (String) objValue;
+ String oldValue = mLcdDensityPreference.getValue();
+ if (!TextUtils.equals(newValue, oldValue)) {
+ showLcdConfirmationDialog((String) objValue);
}
+ return false;
}
if (KEY_FONT_SIZE.equals(key)) {
writeFontSizePreference(objValue);
@@ -725,6 +727,26 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
return true;
}
+ private void showLcdConfirmationDialog(final String lcdDensity) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.lcd_density);
+ builder.setMessage(R.string.lcd_density_prompt_message);
+ builder.setPositiveButton(R.string.print_restart,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ try {
+ int value = Integer.parseInt(lcdDensity);
+ writeLcdDensityPreference(getActivity(), value);
+ updateLcdDensityPreferenceDescription(value);
+ } catch (NumberFormatException e) {
+ Log.e(TAG, "could not persist display density setting", e);
+ }
+ }
+ });
+ builder.setNegativeButton(android.R.string.cancel, null);
+ builder.show();
+ }
+
@Override
public boolean onPreferenceClick(Preference preference) {
if (preference == mFontSizePref) {