diff options
| author | 2022-12-20 02:52:48 +0000 | |
|---|---|---|
| committer | 2022-12-20 02:52:48 +0000 | |
| commit | 8ba9c2ca2ceed3f1120ee02e0faafdf6f3f3676a (patch) | |
| tree | 799d024f4ba4d81118714fc941e6af72875895eb | |
| parent | da6d88b83c1df906ebfb9657b88a9e3c2d8e409c (diff) | |
| parent | a35452bb32e161c719c823477d96025e69272f07 (diff) | |
Merge "Not implement Iterator for OverlayManagerTransaction"
3 files changed, 17 insertions, 8 deletions
diff --git a/core/java/android/content/om/OverlayManagerTransaction.java b/core/java/android/content/om/OverlayManagerTransaction.java index 1856780e1cae..c7c605dca70c 100644 --- a/core/java/android/content/om/OverlayManagerTransaction.java +++ b/core/java/android/content/om/OverlayManagerTransaction.java @@ -60,8 +60,7 @@ import java.util.Objects; * @see FabricatedOverlay * @hide */ -public final class OverlayManagerTransaction - implements Iterable<OverlayManagerTransaction.Request>, Parcelable { +public final class OverlayManagerTransaction implements Parcelable { // TODO: remove @hide from this class when OverlayManager is added to the // SDK, but keep OverlayManagerTransaction.Request @hidden private final List<Request> mRequests; @@ -113,8 +112,15 @@ public final class OverlayManagerTransaction mOverlayManager = null; } - @Override - public Iterator<Request> iterator() { + /** + * Get the iterator of requests + * + * @return the iterator of request + * @hide + */ + @SuppressLint("ReferencesHidden") + @NonNull + public Iterator<Request> getRequests() { return mRequests.iterator(); } diff --git a/core/java/com/android/internal/content/om/OverlayManagerImpl.java b/core/java/com/android/internal/content/om/OverlayManagerImpl.java index 260d1a2c88e5..c4624498138d 100644 --- a/core/java/com/android/internal/content/om/OverlayManagerImpl.java +++ b/core/java/com/android/internal/content/om/OverlayManagerImpl.java @@ -31,6 +31,7 @@ import android.content.Context; import android.content.om.OverlayIdentifier; import android.content.om.OverlayInfo; import android.content.om.OverlayManagerTransaction; +import android.content.om.OverlayManagerTransaction.Request; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.parsing.FrameworkParsingPackageUtils; @@ -295,9 +296,8 @@ public class OverlayManagerImpl { throws PackageManager.NameNotFoundException, IOException { Objects.requireNonNull(transaction); - for (Iterator<OverlayManagerTransaction.Request> it = transaction.iterator(); - it.hasNext(); ) { - final OverlayManagerTransaction.Request request = it.next(); + for (Iterator<Request> it = transaction.getRequests(); it.hasNext(); ) { + final Request request = it.next(); if (request.type == TYPE_REGISTER_FABRICATED) { final FabricatedOverlayInternal fabricatedOverlayInternal = Objects.requireNonNull( diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java index 79f2b3f42e6f..9022a885b237 100644 --- a/services/core/java/com/android/server/om/OverlayManagerService.java +++ b/services/core/java/com/android/server/om/OverlayManagerService.java @@ -51,6 +51,7 @@ import android.content.om.IOverlayManager; import android.content.om.OverlayIdentifier; import android.content.om.OverlayInfo; import android.content.om.OverlayManagerTransaction; +import android.content.om.OverlayManagerTransaction.Request; import android.content.om.OverlayableInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManagerInternal; @@ -107,6 +108,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Objects; @@ -978,7 +980,8 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { // execute the requests (as calling user) Set<UserPackage> affectedPackagesToUpdate = null; - for (final OverlayManagerTransaction.Request request : transaction) { + for (Iterator<Request> it = transaction.getRequests(); it.hasNext(); ) { + Request request = it.next(); affectedPackagesToUpdate = CollectionUtils.addAll(affectedPackagesToUpdate, executeRequest(request)); } |