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

Commit f260d2ef authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Fix issue #28118215: Crash during system boot due to null carrier apps" into nyc-dev

parents 6e1e880f 5fb47f3e
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -152,6 +152,7 @@ public class UsageStatsService extends SystemService implements
    private ArrayList<UsageStatsManagerInternal.AppIdleStateChangeListener>
            mPackageAccessListeners = new ArrayList<>();

    private boolean mHaveCarrierPrivilegedApps;
    private List<String> mCarrierPrivilegedApps;

    public UsageStatsService(Context context) {
@@ -931,18 +932,22 @@ public class UsageStatsService extends SystemService implements

    private boolean isCarrierApp(String packageName) {
        synchronized (mLock) {
            if (mCarrierPrivilegedApps == null) {
            if (!mHaveCarrierPrivilegedApps) {
                fetchCarrierPrivilegedAppsLocked();
            }
        }
            if (mCarrierPrivilegedApps != null) {
                return mCarrierPrivilegedApps.contains(packageName);
            }
            return false;
        }
    }

    void clearCarrierPrivilegedApps() {
        if (DEBUG) {
            Slog.i(TAG, "Clearing carrier privileged apps list");
        }
        synchronized (mLock) {
            mHaveCarrierPrivilegedApps = false;
            mCarrierPrivilegedApps = null; // Need to be refetched.
        }
    }
@@ -951,6 +956,7 @@ public class UsageStatsService extends SystemService implements
        TelephonyManager telephonyManager =
                getContext().getSystemService(TelephonyManager.class);
        mCarrierPrivilegedApps = telephonyManager.getPackagesWithCarrierPrivileges();
        mHaveCarrierPrivilegedApps = true;
        if (DEBUG) {
            Slog.d(TAG, "apps with carrier privilege " + mCarrierPrivilegedApps);
        }
@@ -1024,7 +1030,8 @@ public class UsageStatsService extends SystemService implements
            }

            pw.println();
            pw.println("Carrier privileged apps: " + mCarrierPrivilegedApps);
            pw.println("Carrier privileged apps (have=" + mHaveCarrierPrivilegedApps
                    + "): " + mCarrierPrivilegedApps);

            pw.println();
            pw.println("Settings:");