diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 7e094d4c0a4..d866e9d6005 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -909,7 +909,7 @@ 16777216 - + 64K per log buffer 256K per log buffer diff --git a/res/values/strings.xml b/res/values/strings.xml index 7f4293b2a2a..ae53227cfd2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3168,7 +3168,7 @@ Show options for wireless display certification Logger buffer sizes - + Select Logger sizes per log buffer Allow mock locations diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index a16f8b687f8..8cda9bb661a 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -150,6 +150,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment 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; @@ -993,12 +995,16 @@ public class DevelopmentSettings extends RestrictedSettingsFragment } 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(); }