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
This commit is contained in:
Garfield Tan
2018-10-12 17:45:50 -07:00
committed by Chenbo Feng
parent 5751278992
commit 669393319a

View File

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