From 669393319a478af97f65887545aff098d107054d 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 Merged-In: I9d6c8c2b1c3de767b87643f4c3aaff1044e33fbc --- .../core/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 894897705d44..6b752f90929d 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -13696,7 +13696,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); @@ -13710,7 +13712,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); -- 2.11.0