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
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 6a8caec..d1f9b55 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -56,6 +56,7 @@
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 @@
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 f113da1..a4abfea 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -64,6 +64,8 @@
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 @@
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 @@
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();
}