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

Unverified Commit b9025694 authored by liangweikang's avatar liangweikang Committed by Michael Bestas
Browse files

fixed applyConfigurationToResourcesLocked WeakReference is null

https://code.google.com/p/android/issues/detail?id=226956



Test: compile anr monkey test

Change-Id: Id2c3dbd398e9b5b892ef5703cdd9747f072a51cb
Signed-off-by: default avatarliangweikang <liangweikang900911@gmail.com>
parent ac93fef8
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -826,7 +826,8 @@ public class ResourcesManager {

            for (int i = mResourceImpls.size() - 1; i >= 0; i--) {
                ResourcesKey key = mResourceImpls.keyAt(i);
                ResourcesImpl r = mResourceImpls.valueAt(i).get();
                WeakReference<ResourcesImpl> weakImplRef = mResourceImpls.valueAt(i);
                ResourcesImpl r = weakImplRef != null ? weakImplRef.get() : null;
                if (r != null) {
                    if (DEBUG || DEBUG_CONFIGURATION) Slog.v(TAG, "Changing resources "
                            + r + " config to: " + config);
@@ -890,8 +891,9 @@ public class ResourcesManager {

            final int implCount = mResourceImpls.size();
            for (int i = 0; i < implCount; i++) {
                final ResourcesImpl impl = mResourceImpls.valueAt(i).get();
                final ResourcesKey key = mResourceImpls.keyAt(i);
                final WeakReference<ResourcesImpl> weakImplRef = mResourceImpls.valueAt(i);
                final ResourcesImpl impl = weakImplRef != null ? weakImplRef.get() : null;
                if (impl != null && key.mResDir.equals(assetPath)) {
                    if (!ArrayUtils.contains(key.mLibDirs, libAsset)) {
                        final int newLibAssetCount = 1 +