diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2014-06-17 09:33:03 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2014-06-17 09:33:03 -0700 |
commit | 6f5e790ac973fba355ecdc9f586561bbc8abf745 (patch) | |
tree | d308dac8eadc3c5bb4770da0c5654748c20d0104 | |
parent | 0d643fd182d37d2e8ee5d547b80d80423a5ed98d (diff) | |
download | packages_apps_Settings-6f5e790ac973fba355ecdc9f586561bbc8abf745.zip packages_apps_Settings-6f5e790ac973fba355ecdc9f586561bbc8abf745.tar.gz packages_apps_Settings-6f5e790ac973fba355ecdc9f586561bbc8abf745.tar.bz2 |
Fix bug #15687210 Settings crashing when turning ON<>OFF developer option.
- prevent NPE
- define default value (to 256K)
- add more logs for showing value which has been set or any exception
Change-Id: I8f067f14d81ee56631d1ad74b91b5ede26cae125
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 02045ab..275258e 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -16,7 +16,6 @@ package com.android.settings; -import android.app.ActionBar; import android.app.Activity; import android.app.ActivityManagerNative; import android.app.AlertDialog; @@ -57,13 +56,11 @@ 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; import android.view.View; import android.view.accessibility.AccessibilityManager; import android.webkit.WebView; -import android.widget.CompoundButton; import android.widget.Switch; import android.widget.TextView; @@ -163,6 +160,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final int RESULT_DEBUG_APP = 1000; + private static String DEFAULT_LOG_RING_BUFFER_SIZE_IN_BYTES = "262144"; // 256K + private IWindowManager mWindowManager; private IBackupManager mBackupManager; private DevicePolicyManager mDpm; @@ -1072,12 +1071,16 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } private void writeLogdSizeOption(Object newValue) { - SystemProperties.set(SELECT_LOGD_SIZE_PROPERTY, newValue.toString()); + final String size = (newValue != null) ? + newValue.toString() : DEFAULT_LOG_RING_BUFFER_SIZE_IN_BYTES; + SystemProperties.set(SELECT_LOGD_SIZE_PROPERTY, size); pokeSystemProperties(); try { - Process p = Runtime.getRuntime().exec("logcat -b all -G " + newValue.toString()); - int status = p.waitFor(); + Process p = Runtime.getRuntime().exec("logcat -b all -G " + size); + p.waitFor(); + Log.i(TAG, "Logcat ring buffer sizes set to: " + size); } catch (Exception e) { + Log.w(TAG, "Cannot set logcat ring buffer sizes", e); } updateLogdSizeValues(); } |