OSDN Git Service

am 9d690250: am 66718d5a: am 894af268: logd: settings: ro.config.low_ram support
authorMark Salyzyn <salyzyn@google.com>
Wed, 17 Sep 2014 23:49:59 +0000 (23:49 +0000)
committerAndroid Git Automerger <android-git-automerger@android.com>
Wed, 17 Sep 2014 23:49:59 +0000 (23:49 +0000)
* commit '9d690250b8f6b85d0471477f9385657cdeb4d3a3':
  logd: settings: ro.config.low_ram support

res/values/arrays.xml
src/com/android/settings/DevelopmentSettings.java

index c7c0020..0a09a9c 100644 (file)
         <item>16M</item>
     </string-array>
 
+    <!-- Titles for logd limit size lowram selection preference. [CHAR LIMIT=14] -->
+    <string-array name="select_logd_size_lowram_titles">
+        <item>64K</item>
+        <item>256K</item>
+        <item>1M</item>
+    </string-array>
+
     <!-- Values for logd limit size selection preference. -->
     <string-array name="select_logd_size_values" translatable="false" >
         <item>65536</item>
index d801ae0..8bc4b64 100644 (file)
@@ -1107,9 +1107,13 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
             }
             String[] values = getResources().getStringArray(R.array.select_logd_size_values);
             String[] titles = getResources().getStringArray(R.array.select_logd_size_titles);
+            if (SystemProperties.get("ro.config.low_ram").equals("true")) {
+                mLogdSize.setEntries(R.array.select_logd_size_lowram_titles);
+                titles = getResources().getStringArray(R.array.select_logd_size_lowram_titles);
+            }
             String[] summaries = getResources().getStringArray(R.array.select_logd_size_summaries);
             int index = 1; // punt to second entry if not found
-            for (int i = 0; i < values.length; i++) {
+            for (int i = 0; i < titles.length; i++) {
                 if (currentValue.equals(values[i])
                         || currentValue.equals(titles[i])) {
                     index = i;
@@ -1123,6 +1127,10 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
     }
 
     private void writeLogdSizeOption(Object newValue) {
+        String currentValue = SystemProperties.get(SELECT_LOGD_DEFAULT_SIZE_PROPERTY);
+        if (currentValue != null) {
+            DEFAULT_LOG_RING_BUFFER_SIZE_IN_BYTES = currentValue;
+        }
         final String size = (newValue != null) ?
                 newValue.toString() : DEFAULT_LOG_RING_BUFFER_SIZE_IN_BYTES;
         SystemProperties.set(SELECT_LOGD_SIZE_PROPERTY, size);