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

Commit 70cfefa0 authored by Elliott Hughes's avatar Elliott Hughes
Browse files

Restore SystemProperties.PROP_NAME_MAX to keep Kindle running.

The limit has been lifted in O, but without this constant, Kindle crashes here:

  Caused by: java.lang.NoSuchFieldException: PROP_NAME_MAX
    at java.lang.Class.getField(Class.java:1607)
    at com.amazon.android.webkit.AmazonWebKitFactories$Implementation.<clinit>(AmazonWebKitFactories.java:59)

The code seems to want to truncate a system property name to avoid the
exception that SystemProperty.get threw if passed a name that was too long.

Bug: http://b/36095274
Test: select a word in Kindle
Change-Id: Id1881a8a7c6386400a1024beb0d1b741bdaefba7
parent 40aa5ee5
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -35,6 +35,12 @@ public class SystemProperties {
    private static final String TAG = "SystemProperties";
    private static final boolean TRACK_KEY_ACCESS = false;

    /**
     * Android O removed the property name length limit, but com.amazon.kindle 7.8.1.5
     * uses reflection to read this whenever text is selected (http://b/36095274).
     */
    public static final int PROP_NAME_MAX = Integer.MAX_VALUE;

    public static final int PROP_VALUE_MAX = 91;

    private static final ArrayList<Runnable> sChangeCallbacks = new ArrayList<Runnable>();