From 3a503b6909c6ca216f4ca9f3c6ab466d9421e122 Mon Sep 17 00:00:00 2001 From: Garfield Tan Date: Fri, 12 Oct 2018 17:45:50 -0700 Subject: [PATCH] Use toArray(T[]) instead of toArray(). toArray() always creates Object array, which can't be cast to array type of specific types. Bug: None Test: Package can be installed and uninstalled correctly with a package list. Change-Id: I9d6c8c2b1c3de767b87643f4c3aaff1044e33fbc --- .../java/com/android/server/pm/PackageManagerService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 329b1da82608b..c05af09e47b6c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -12118,7 +12118,9 @@ public class PackageManagerService extends IPackageManager.Stub if (mPackageListObservers.size() == 0) { return; } - observers = (PackageListObserver[]) mPackageListObservers.toArray(); + final PackageListObserver[] observerArray = + new PackageListObserver[mPackageListObservers.size()]; + observers = mPackageListObservers.toArray(observerArray); } for (int i = observers.length - 1; i >= 0; --i) { observers[i].onPackageAdded(packageName); @@ -12138,7 +12140,9 @@ public class PackageManagerService extends IPackageManager.Stub if (mPackageListObservers.size() == 0) { return; } - observers = (PackageListObserver[]) mPackageListObservers.toArray(); + final PackageListObserver[] observerArray = + new PackageListObserver[mPackageListObservers.size()]; + observers = mPackageListObservers.toArray(observerArray); } for (int i = observers.length - 1; i >= 0; --i) { observers[i].onPackageRemoved(packageName);