Check processName when starting providers.

Bug: 28708253
Change-Id: I346441021295273c356619c60caa6086ef165363
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index ded6556..6e9e520 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -239,6 +239,7 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicLong;
@@ -11088,8 +11089,12 @@
                                     .getPackageInfo(pkgName, matchFlags, userId);
                             if (pkgInfo != null && !ArrayUtils.isEmpty(pkgInfo.providers)) {
                                 for (ProviderInfo provInfo : pkgInfo.providers) {
-                                    Log.v(TAG, "Installing " + provInfo);
-                                    app.thread.scheduleInstallProvider(provInfo);
+                                    if (Objects.equals(provInfo.processName, app.processName)) {
+                                        Log.v(TAG, "Installing " + provInfo);
+                                        app.thread.scheduleInstallProvider(provInfo);
+                                    } else {
+                                        Log.v(TAG, "Skipping " + provInfo);
+                                    }
                                 }
                             }
                         } catch (RemoteException ignored) {