Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 894af268 authored by Mark Salyzyn's avatar Mark Salyzyn
Browse files

logd: settings: ro.config.low_ram support

- limit settings to 64K, 256K and 1M if ro.config.low_ram true
- Correctly handle ro.logd.size

Bug: 17526187
Change-Id: I2380b649516b29c2a98f54de18e5a4780b3421ce
parent 69b67465
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -894,6 +894,13 @@
        <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>
+9 −1
Original line number Diff line number Diff line
@@ -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);