From d6a24d505a237c26a280cfbeb5a3bedaca8a3f7d Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 11 Oct 2012 11:03:36 -0700 Subject: [PATCH] Fix issue #7328934: change threshold of developer options countdown toast Delay showing toasts until the third tap. Also harden the dev settings code that pokes system property changes to not crash if a system service throws an exception back. Change-Id: I1351e2c950f2bcc4fc72afb60995fd7f84319e3d --- src/com/android/settings/DevelopmentSettings.java | 4 ++++ src/com/android/settings/DeviceInfoSettings.java | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 6a8caecb2ce..d1f9b55bf4b 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -56,6 +56,7 @@ import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.provider.Settings; import android.text.TextUtils; +import android.util.Log; import android.view.Gravity; import android.view.HardwareRenderer; import android.view.IWindowManager; @@ -1111,6 +1112,9 @@ public class DevelopmentSettings extends PreferenceFragment try { obj.transact(IBinder.SYSPROPS_TRANSACTION, data, null, 0); } catch (RemoteException e) { + } catch (Exception e) { + Log.i("DevSettings", "Somone wrote a bad service '" + service + + "' that doesn't like to be poked: " + e); } data.recycle(); } diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index f113da1d627..a4abfea36e3 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -64,6 +64,8 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment { private static final String KEY_EQUIPMENT_ID = "fcc_equipment_id"; private static final String PROPERTY_EQUIPMENT_ID = "ro.ril.fccid"; + static final int TAPS_TO_BE_A_DEVELOPER = 7; + long[] mHits = new long[3]; int mDevHitCountdown; Toast mDevHitToast; @@ -152,7 +154,7 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment { super.onResume(); mDevHitCountdown = getActivity().getSharedPreferences(DevelopmentSettings.PREF_FILE, Context.MODE_PRIVATE).getBoolean(DevelopmentSettings.PREF_SHOW, - android.os.Build.TYPE.equals("eng")) ? -1 : 7; + android.os.Build.TYPE.equals("eng")) ? -1 : TAPS_TO_BE_A_DEVELOPER; mDevHitToast = null; } @@ -184,7 +186,8 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment { mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_on, Toast.LENGTH_LONG); mDevHitToast.show(); - } else if (mDevHitCountdown > 0) { + } else if (mDevHitCountdown > 0 + && mDevHitCountdown < (TAPS_TO_BE_A_DEVELOPER-2)) { if (mDevHitToast != null) { mDevHitToast.cancel(); }