Loading core/java/android/content/res/AssetManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,10 @@ public final class AssetManager implements AutoCloseable { if (!mOpen) { throw new RuntimeException("AssetManager has been closed"); } // Let's still check if the native object exists, given all the memory corruptions. if (mObject == 0) { throw new RuntimeException("AssetManager is open but the native object is gone"); } } /** Loading Loading @@ -1153,6 +1157,7 @@ public final class AssetManager implements AutoCloseable { int[] getAttributeResolutionStack(long themePtr, @AttrRes int defStyleAttr, @StyleRes int defStyleRes, @StyleRes int xmlStyle) { synchronized (this) { ensureValidLocked(); return nativeAttributeResolutionStack( mObject, themePtr, xmlStyle, defStyleAttr, defStyleRes); } Loading core/java/android/content/res/StringBlock.java +2 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ public final class StringBlock implements Closeable { private static final String TAG = "AssetManager"; private static final boolean localLOGV = false; private final long mNative; private long mNative; // final, but gets modified when closed private final boolean mUseSparse; private final boolean mOwnsNative; Loading Loading @@ -207,6 +207,7 @@ public final class StringBlock implements Closeable { if (mOwnsNative) { nativeDestroy(mNative); } mNative = 0; } } } Loading core/java/android/content/res/XmlBlock.java +3 −1 Original line number Diff line number Diff line Loading @@ -73,7 +73,9 @@ public final class XmlBlock implements AutoCloseable { private void decOpenCountLocked() { mOpenCount--; if (mOpenCount == 0) { mStrings.close(); nativeDestroy(mNative); mNative = 0; if (mAssets != null) { mAssets.xmlBlockGone(hashCode()); } Loading Loading @@ -621,7 +623,7 @@ public final class XmlBlock implements AutoCloseable { } private @Nullable final AssetManager mAssets; private final long mNative; private long mNative; // final, but gets reset on close /*package*/ final StringBlock mStrings; private boolean mOpen = true; private int mOpenCount = 1; Loading Loading
core/java/android/content/res/AssetManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,10 @@ public final class AssetManager implements AutoCloseable { if (!mOpen) { throw new RuntimeException("AssetManager has been closed"); } // Let's still check if the native object exists, given all the memory corruptions. if (mObject == 0) { throw new RuntimeException("AssetManager is open but the native object is gone"); } } /** Loading Loading @@ -1153,6 +1157,7 @@ public final class AssetManager implements AutoCloseable { int[] getAttributeResolutionStack(long themePtr, @AttrRes int defStyleAttr, @StyleRes int defStyleRes, @StyleRes int xmlStyle) { synchronized (this) { ensureValidLocked(); return nativeAttributeResolutionStack( mObject, themePtr, xmlStyle, defStyleAttr, defStyleRes); } Loading
core/java/android/content/res/StringBlock.java +2 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ public final class StringBlock implements Closeable { private static final String TAG = "AssetManager"; private static final boolean localLOGV = false; private final long mNative; private long mNative; // final, but gets modified when closed private final boolean mUseSparse; private final boolean mOwnsNative; Loading Loading @@ -207,6 +207,7 @@ public final class StringBlock implements Closeable { if (mOwnsNative) { nativeDestroy(mNative); } mNative = 0; } } } Loading
core/java/android/content/res/XmlBlock.java +3 −1 Original line number Diff line number Diff line Loading @@ -73,7 +73,9 @@ public final class XmlBlock implements AutoCloseable { private void decOpenCountLocked() { mOpenCount--; if (mOpenCount == 0) { mStrings.close(); nativeDestroy(mNative); mNative = 0; if (mAssets != null) { mAssets.xmlBlockGone(hashCode()); } Loading Loading @@ -621,7 +623,7 @@ public final class XmlBlock implements AutoCloseable { } private @Nullable final AssetManager mAssets; private final long mNative; private long mNative; // final, but gets reset on close /*package*/ final StringBlock mStrings; private boolean mOpen = true; private int mOpenCount = 1; Loading