summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-12-20 02:52:48 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-12-20 02:52:48 +0000
commit8ba9c2ca2ceed3f1120ee02e0faafdf6f3f3676a (patch)
tree799d024f4ba4d81118714fc941e6af72875895eb
parentda6d88b83c1df906ebfb9657b88a9e3c2d8e409c (diff)
parenta35452bb32e161c719c823477d96025e69272f07 (diff)
Merge "Not implement Iterator for OverlayManagerTransaction"
-rw-r--r--core/java/android/content/om/OverlayManagerTransaction.java14
-rw-r--r--core/java/com/android/internal/content/om/OverlayManagerImpl.java6
-rw-r--r--services/core/java/com/android/server/om/OverlayManagerService.java5
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));
}