Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efff5687 authored by Danesh M's avatar Danesh M
Browse files

Settings : Add warning for lcd density

BACON-4492

Change-Id: I5f5f9d71b29bef61e39029334f62aa1df2ed48dc
parent f2b1fc1d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -881,4 +881,5 @@
    <string name="title_general">General</string>
    <string name="advanced">Advanced</string>
    <string name="link_volume_option_title">Link ringtone &amp; notification volumes</string>
    <string name="lcd_density_prompt_message">Some apps may not function at non-standard dpi.\n\nThis will restart your phone.</string>
</resources>
+28 −6
Original line number Diff line number Diff line
@@ -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) {