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

Commit 17c204de authored by Muhammad Qureshi's avatar Muhammad Qureshi
Browse files

Make writeKeyValuePairs accept Nullable args

API Review requested to remove unneeded allocations so pass null for
arguments that are empty when writing KeyValuePairs

Bug: 146383532
Test: m
Change-Id: Ic1788f65e8c7f837d6800d59c186519a82882bf7
Merged-In: Ic1788f65e8c7f837d6800d59c186519a82882bf7
(cherry picked from commit 996afa63)
parent 0c8cdf54
Loading
Loading
Loading
Loading
+28 −4
Original line number Diff line number Diff line
@@ -142,16 +142,16 @@ static int write_java_methods(
                fprintf(out,
                        "%s        final int count = valueMap.size();\n", indent.c_str());
                fprintf(out,
                        "%s        final SparseIntArray intMap = new SparseIntArray();\n",
                        "%s        SparseIntArray intMap = null;\n",
                        indent.c_str());
                fprintf(out,
                        "%s        final SparseLongArray longMap = new SparseLongArray();\n",
                        "%s        SparseLongArray longMap = null;\n",
                        indent.c_str());
                fprintf(out,
                        "%s        final SparseArray<String> stringMap = new SparseArray<>();\n",
                        "%s        SparseArray<String> stringMap = null;\n",
                        indent.c_str());
                fprintf(out,
                        "%s        final SparseArray<Float> floatMap = new SparseArray<>();\n",
                        "%s        SparseArray<Float> floatMap = null;\n",
                        indent.c_str());
                fprintf(out,
                        "%s        for (int i = 0; i < count; i++) {\n", indent.c_str());
@@ -162,18 +162,42 @@ static int write_java_methods(
                        indent.c_str());
                fprintf(out,
                        "%s            if (value instanceof Integer) {\n", indent.c_str());
                fprintf(out,
                        "%s                if (null == intMap) {\n", indent.c_str());
                fprintf(out,
                        "%s                    intMap = new SparseIntArray();\n", indent.c_str());
                fprintf(out,
                        "%s                }\n", indent.c_str());
                fprintf(out,
                        "%s                intMap.put(key, (Integer) value);\n", indent.c_str());
                fprintf(out,
                        "%s            } else if (value instanceof Long) {\n", indent.c_str());
                fprintf(out,
                        "%s                if (null == longMap) {\n", indent.c_str());
                fprintf(out,
                        "%s                    longMap = new SparseLongArray();\n", indent.c_str());
                fprintf(out,
                        "%s                }\n", indent.c_str());
                fprintf(out,
                        "%s                longMap.put(key, (Long) value);\n", indent.c_str());
                fprintf(out,
                        "%s            } else if (value instanceof String) {\n", indent.c_str());
                fprintf(out,
                        "%s                if (null == stringMap) {\n", indent.c_str());
                fprintf(out,
                        "%s                    stringMap = new SparseArray<>();\n", indent.c_str());
                fprintf(out,
                        "%s                }\n", indent.c_str());
                fprintf(out,
                        "%s                stringMap.put(key, (String) value);\n", indent.c_str());
                fprintf(out,
                        "%s            } else if (value instanceof Float) {\n", indent.c_str());
                fprintf(out,
                        "%s                if (null == floatMap) {\n", indent.c_str());
                fprintf(out,
                        "%s                    floatMap = new SparseArray<>();\n", indent.c_str());
                fprintf(out,
                        "%s                }\n", indent.c_str());
                fprintf(out,
                        "%s                floatMap.put(key, (Float) value);\n", indent.c_str());
                fprintf(out,