summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2014-06-17 09:33:03 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2014-06-17 09:33:03 -0700
commit6f5e790ac973fba355ecdc9f586561bbc8abf745 (patch)
treed308dac8eadc3c5bb4770da0c5654748c20d0104
parent0d643fd182d37d2e8ee5d547b80d80423a5ed98d (diff)
downloadpackages_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.java15
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();
}