Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf47ae31 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Don't allow acccess to uninstalled system providers" into pi-dev

parents a80057c3 235272a2
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1266,6 +1266,8 @@ public class ActivityManagerService extends IActivityManager.Stub
        }
    }
    boolean mSystemProvidersInstalled;
    CoreSettingsObserver mCoreSettingsObserver;
    FontScaleSettingObserver mFontScaleSettingObserver;
@@ -12110,6 +12112,14 @@ public class ActivityManagerService extends IActivityManager.Stub
                            "Attempt to launch content provider before system ready");
                }
                // If system providers are not installed yet we aggressively crash to avoid
                // creating multiple instance of these providers and then bad things happen!
                if (!mSystemProvidersInstalled && cpi.applicationInfo.isSystemApp()
                        && "system".equals(cpi.processName)) {
                    throw new IllegalStateException("Cannot access system provider: '"
                            + cpi.authority + "' before system providers are installed!");
                }
                // Make sure that the user who owns this provider is running.  If not,
                // we don't want to allow it to run.
                if (!mUserController.isUserRunning(userId, 0)) {
@@ -12663,6 +12673,10 @@ public class ActivityManagerService extends IActivityManager.Stub
            mSystemThread.installSystemProviders(providers);
        }
        synchronized (this) {
            mSystemProvidersInstalled = true;
        }
        mConstants.start(mContext.getContentResolver());
        mCoreSettingsObserver = new CoreSettingsObserver(this);
        mFontScaleSettingObserver = new FontScaleSettingObserver();