Cross-check and bump transliterated code markers to android-8.1.0_r22.
diff --git a/resources/src/main/java/org/robolectric/res/android/AConfiguration.java b/resources/src/main/java/org/robolectric/res/android/AConfiguration.java
index f6d9588..d4f9224 100644
--- a/resources/src/main/java/org/robolectric/res/android/AConfiguration.java
+++ b/resources/src/main/java/org/robolectric/res/android/AConfiguration.java
@@ -1,6 +1,6 @@
package org.robolectric.res.android;
-// transliterated from https://android.googlesource.com/platform/frameworks/native/+/android-8.0.0_r4/include/android/configuration.h
+// transliterated from https://android.googlesource.com/platform/frameworks/native/+/android-8.1.0_r22/include/android/configuration.h
public class AConfiguration {
/** Orientation: not specified. */
public static final int ACONFIGURATION_ORIENTATION_ANY = 0x0000;
diff --git a/resources/src/main/java/org/robolectric/res/android/AssetDir.java b/resources/src/main/java/org/robolectric/res/android/AssetDir.java
index 191884e..4910df7 100644
--- a/resources/src/main/java/org/robolectric/res/android/AssetDir.java
+++ b/resources/src/main/java/org/robolectric/res/android/AssetDir.java
@@ -2,8 +2,8 @@
import org.robolectric.res.android.CppAssetManager.FileType;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/libs/androidfw/AssetDir.cpp and
-// https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/include/androidfw/AssetDir.h
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/AssetDir.cpp and
+// https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/AssetDir.h
public class AssetDir {
private SortedVector<FileInfo> mFileInfo;
diff --git a/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java b/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java
index da831bd..f3be76b 100644
--- a/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java
+++ b/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java
@@ -12,7 +12,7 @@
/**
* transliterated from
- * https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r4/tools/aapt2/ConfigDescription.cpp
+ * https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/tools/aapt2/ConfigDescription.cpp
*/
public class ConfigDescription {
public static final int SDK_CUPCAKE = 3;
@@ -980,7 +980,7 @@
return false;
}
- // transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/tools/aapt/AaptConfig.cpp
+ // transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/tools/aapt/AaptConfig.cpp
private static void applyVersionForCompatibility(ResTable_config config) {
if (config == null) {
return;
diff --git a/resources/src/main/java/org/robolectric/res/android/CppAssetManager.java b/resources/src/main/java/org/robolectric/res/android/CppAssetManager.java
index f4d2c6f..6faed79 100644
--- a/resources/src/main/java/org/robolectric/res/android/CppAssetManager.java
+++ b/resources/src/main/java/org/robolectric/res/android/CppAssetManager.java
@@ -33,7 +33,7 @@
import org.robolectric.res.android.ZipFileRO.ZipEntryRO;
import org.robolectric.util.PerfStatsCollector;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/libs/androidfw/AssetManager.cpp
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/AssetManager.cpp
public class CppAssetManager {
private static final boolean kIsDebug = false;
diff --git a/resources/src/main/java/org/robolectric/res/android/DynamicRefTable.java b/resources/src/main/java/org/robolectric/res/android/DynamicRefTable.java
index 6969a5a..48cf106 100644
--- a/resources/src/main/java/org/robolectric/res/android/DynamicRefTable.java
+++ b/resources/src/main/java/org/robolectric/res/android/DynamicRefTable.java
@@ -1,6 +1,6 @@
package org.robolectric.res.android;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/include/androidfw/ResourceTypes.h
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/ResourceTypes.h
import static org.robolectric.res.android.Errors.NO_ERROR;
import static org.robolectric.res.android.Errors.UNKNOWN_ERROR;
diff --git a/resources/src/main/java/org/robolectric/res/android/Errors.java b/resources/src/main/java/org/robolectric/res/android/Errors.java
index 3df6b19..1307705 100644
--- a/resources/src/main/java/org/robolectric/res/android/Errors.java
+++ b/resources/src/main/java/org/robolectric/res/android/Errors.java
@@ -1,6 +1,6 @@
package org.robolectric.res.android;
-// transliterated from https://android.googlesource.com/platform/system/core/+/android-7.1.1_r13/include/utils/Errors.h
+// transliterated from https://android.googlesource.com/platform/system/core/+/android-8.1.0_r22/include/utils/Errors.h
public class Errors {
diff --git a/resources/src/main/java/org/robolectric/res/android/IdmapEntries.java b/resources/src/main/java/org/robolectric/res/android/IdmapEntries.java
index 380e4e8..5a8067b 100644
--- a/resources/src/main/java/org/robolectric/res/android/IdmapEntries.java
+++ b/resources/src/main/java/org/robolectric/res/android/IdmapEntries.java
@@ -2,7 +2,7 @@
import static org.robolectric.res.android.Errors.*;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/ResourceTypes.cpp
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/ResourceTypes.cpp
public class IdmapEntries {
public boolean hasEntries() {
diff --git a/resources/src/main/java/org/robolectric/res/android/LocaleData.java b/resources/src/main/java/org/robolectric/res/android/LocaleData.java
index ce40a1f..39e7aca 100644
--- a/resources/src/main/java/org/robolectric/res/android/LocaleData.java
+++ b/resources/src/main/java/org/robolectric/res/android/LocaleData.java
@@ -9,7 +9,7 @@
import java.util.Arrays;
import java.util.Map;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/LocaleData.cpp
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/LocaleData.cpp
public class LocaleData {
private static int packLocale(final byte[] language, final byte[] region) {
diff --git a/resources/src/main/java/org/robolectric/res/android/LocaleDataTables.java b/resources/src/main/java/org/robolectric/res/android/LocaleDataTables.java
index 96c80e1..f20eb63 100644
--- a/resources/src/main/java/org/robolectric/res/android/LocaleDataTables.java
+++ b/resources/src/main/java/org/robolectric/res/android/LocaleDataTables.java
@@ -6,10 +6,10 @@
import java.util.Map;
import java.util.Set;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/LocaleDataTables.cpp
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/LocaleDataTables.cpp
public class LocaleDataTables {
- // Auto-generated by frameworks/base/tools/localedata/extract_icu_data.py
+ // Auto-generated by ./tools/localedata/extract_icu_data.py
static final byte[][] SCRIPT_CODES = {
/* 0 */ {'A', 'h', 'o', 'm'},
/* 1 */ {'A', 'r', 'a', 'b'},
diff --git a/resources/src/main/java/org/robolectric/res/android/ResStringPool.java b/resources/src/main/java/org/robolectric/res/android/ResStringPool.java
index b6cc1eb..6ef9785 100644
--- a/resources/src/main/java/org/robolectric/res/android/ResStringPool.java
+++ b/resources/src/main/java/org/robolectric/res/android/ResStringPool.java
@@ -1,7 +1,7 @@
package org.robolectric.res.android;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/ResourceTypes.cpp
-// and https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/include/androidfw/ResourceTypes.h
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/ResourceTypes.cpp
+// and https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/ResourceTypes.h
import static org.robolectric.res.android.Errors.BAD_TYPE;
import static org.robolectric.res.android.Errors.NAME_NOT_FOUND;
@@ -312,6 +312,12 @@
// byte[] bytes = new byte[u16len * 2];
// buf.position(bufOffset + str);
// buf.get(bytes);
+// // Reject malformed (non null-terminated) strings
+// if (str[encLen] != 0x00) {
+// ALOGW("Bad string block: string #%d is not null-terminated",
+// (int)idx);
+// return NULL;
+// }
// return new String(bytes, StandardCharsets.UTF_16);
// } else {
// ALOGW("Bad string block: string #%d extends to %d, past end at %d\n",
diff --git a/resources/src/main/java/org/robolectric/res/android/ResStringPoolHeader.java b/resources/src/main/java/org/robolectric/res/android/ResStringPoolHeader.java
index 93c6787..045ec7c 100644
--- a/resources/src/main/java/org/robolectric/res/android/ResStringPoolHeader.java
+++ b/resources/src/main/java/org/robolectric/res/android/ResStringPoolHeader.java
@@ -17,7 +17,7 @@
* into a style table starting at stylesStart. Each entry in the
* style table is an array of ResStringPool_span structures.
*/
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/include/androidfw/ResourceTypes.h#434
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/ResourceTypes.h#434
public class ResStringPoolHeader {
public static final int SIZEOF = ResChunk_header.SIZEOF + 20;
diff --git a/resources/src/main/java/org/robolectric/res/android/ResTable.java b/resources/src/main/java/org/robolectric/res/android/ResTable.java
index 7c16eb4..b5a8eb7 100644
--- a/resources/src/main/java/org/robolectric/res/android/ResTable.java
+++ b/resources/src/main/java/org/robolectric/res/android/ResTable.java
@@ -46,8 +46,8 @@
import org.robolectric.res.android.ResourceTypes.ResTable_typeSpec;
import org.robolectric.res.android.ResourceTypes.Res_value;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/libs/androidfw/ResourceTypes.cpp
-// and https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/include/androidfw/ResourceTypes.h
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/ResourceTypes.cpp
+// and https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/ResourceTypes.h
public class ResTable {
private static final int IDMAP_MAGIC = 0x504D4449;
@@ -2473,6 +2473,7 @@
// delete typeList[j];
// }
// }
+// typeList.clear();
// }
//
// final int N = packages.size();
@@ -2573,8 +2574,6 @@
final boolean isSystemAsset;
}
- // transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/ResourceTypes.cpp:3151
-
// --------------------------------------------------------------------
// --------------------------------------------------------------------
// --------------------------------------------------------------------
diff --git a/resources/src/main/java/org/robolectric/res/android/ResTable_config.java b/resources/src/main/java/org/robolectric/res/android/ResTable_config.java
index 341af2b..e0ed96d 100644
--- a/resources/src/main/java/org/robolectric/res/android/ResTable_config.java
+++ b/resources/src/main/java/org/robolectric/res/android/ResTable_config.java
@@ -76,7 +76,7 @@
* Describes a particular resource configuration.
*
* Transliterated from:
- * * https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/ResourceTypes.cpp
+ * * https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/ResourceTypes.cpp
* * https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/include/androidfw/ResourceTypes.h (struct ResTable_config)
*
* Changes from 8.0.0_r4 partially applied.
@@ -1083,8 +1083,7 @@
- // transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/libs/androidfw/ResourceTypes.cpp
- // Changes from 8.0.0_r4 partially applied.
+ // transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/ResourceTypes.cpp
public boolean isBetterThan(
ResTable_config o, ResTable_config requested) {
diff --git a/resources/src/main/java/org/robolectric/res/android/ResourceTypes.java b/resources/src/main/java/org/robolectric/res/android/ResourceTypes.java
index e7d6b46..8b271f8 100644
--- a/resources/src/main/java/org/robolectric/res/android/ResourceTypes.java
+++ b/resources/src/main/java/org/robolectric/res/android/ResourceTypes.java
@@ -14,8 +14,8 @@
import java.util.Map;
import org.robolectric.res.android.ResourceTypes.ResStringPool_header.Writer;
-// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/libs/androidfw/ResourceTypes.cpp
-// and https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/include/androidfw/ResourceTypes.h
+// transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/libs/androidfw/ResourceTypes.cpp
+// and https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/ResourceTypes.h
public class ResourceTypes {
public static final String ANDROID_NS = "http://schemas.android.com/apk/res/android";
public static final String AUTO_NS = "http://schemas.android.com/apk/res-auto";
diff --git a/resources/src/main/java/org/robolectric/res/android/String8.java b/resources/src/main/java/org/robolectric/res/android/String8.java
index f653046..96d8f98 100644
--- a/resources/src/main/java/org/robolectric/res/android/String8.java
+++ b/resources/src/main/java/org/robolectric/res/android/String8.java
@@ -2,8 +2,8 @@
import java.io.File;
-// transliterated from https://android.googlesource.com/platform/system/core/+/android-7.1.1_r13/libutils/String8.cpp
-// and https://android.googlesource.com/platform/system/core/+/android-7.1.1_r13/include/utils/String8.h
+// transliterated from https://android.googlesource.com/platform/system/core/+/android-8.1.0_r22/libutils/String8.cpp
+// and https://android.googlesource.com/platform/system/core/+/android-8.1.0_r22/include/utils/String8.h
public class String8 {
private StringBuilder mString;
diff --git a/resources/src/main/java/org/robolectric/res/android/StringPoolRef.java b/resources/src/main/java/org/robolectric/res/android/StringPoolRef.java
index 5c79837..ee3ea63 100644
--- a/resources/src/main/java/org/robolectric/res/android/StringPoolRef.java
+++ b/resources/src/main/java/org/robolectric/res/android/StringPoolRef.java
@@ -1,7 +1,7 @@
package org.robolectric.res.android;
/**
- * transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r13/include/androidfw/ResourceTypes.h:541
+ * transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/include/androidfw/ResourceTypes.h:541
* Wrapper class that allows the caller to retrieve a string from a string pool without knowing
* which string pool to look.
*/
diff --git a/shadows/framework/src/main/java/org/robolectric/android/ConfigurationV25.java b/shadows/framework/src/main/java/org/robolectric/android/ConfigurationV25.java
index 39779a5..2d74756 100644
--- a/shadows/framework/src/main/java/org/robolectric/android/ConfigurationV25.java
+++ b/shadows/framework/src/main/java/org/robolectric/android/ConfigurationV25.java
@@ -15,7 +15,7 @@
import java.util.Locale;
import org.robolectric.RuntimeEnvironment;
-// adapted from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r4/core/java/android/content/res/Configuration.java
+// adapted from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/core/java/android/content/res/Configuration.java
public class ConfigurationV25 {
private static String localesToResourceQualifier(List<Locale> locs) {
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscAssetManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscAssetManager.java
index 448fbac..1a1cf30 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscAssetManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscAssetManager.java
@@ -77,7 +77,7 @@
import org.robolectric.util.ReflectionHelpers;
import org.robolectric.util.ReflectionHelpers.ClassParameter;
-// native method impls transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r36/core/jni/android_util_AssetManager.cpp
+// native method impls transliterated from https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r22/core/jni/android_util_AssetManager.cpp
@Implements(value = AssetManager.class, maxSdk = VERSION_CODES.O_MR1,
shadowPicker = Picker.class)
public class ShadowArscAssetManager extends ShadowAssetManager {