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
This commit is contained in:
Garfield Tan
2018-10-12 17:45:50 -07:00
parent b5cc09fe4a
commit 3a503b6909

View File

@@ -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);