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

Commit 9769ddbc authored by Song Chun Fan's avatar Song Chun Fan Committed by Android (Google) Code Review
Browse files

Merge "[TV*ManagerService] hold PackageMonitor object" into main

parents 16d79829 d59a80d4
Loading
Loading
Loading
Loading
+65 −59
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ public final class TvInputManagerService extends SystemService {
    private final Map<String, SessionState> mSessionIdToSessionStateMap = new HashMap<>();

    private final MessageHandler mMessageHandler;

    private final MyPackageMonitor mPackageMonitor;
    private final ActivityManager mActivityManager;

    private boolean mExternalInputLoggingDisplayNameFilterEnabled = false;
@@ -200,6 +200,7 @@ public final class TvInputManagerService extends SystemService {
        mMessageHandler =
                new MessageHandler(mContext.getContentResolver(), IoThread.get().getLooper());
        mTvInputHardwareManager = new TvInputHardwareManager(context, new HardwareListener());
        mPackageMonitor = new MyPackageMonitor(/* supportsPackageRestartQuery */ true);

        mActivityManager =
                (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);
@@ -298,8 +299,11 @@ public final class TvInputManagerService extends SystemService {
        mExternalInputLoggingDeviceBrandNames.addAll(Arrays.asList(deviceBrandNames));
    }

    private void registerBroadcastReceivers() {
        PackageMonitor monitor = new PackageMonitor(/* supportsPackageRestartQuery */ true) {
    private class MyPackageMonitor extends PackageMonitor {
        MyPackageMonitor(boolean supportsPackageRestartQuery) {
            super(supportsPackageRestartQuery);
        }

        private void buildTvInputList(String[] packages) {
            int userId = getChangingUserId();
            synchronized (mLock) {
@@ -364,8 +368,10 @@ public final class TvInputManagerService extends SystemService {
            // the update can be handled in {@link #onSomePackagesChanged}.
            return true;
        }
        };
        monitor.register(mContext, null, UserHandle.ALL, true);
    }

    private void registerBroadcastReceivers() {
        mPackageMonitor.register(mContext, null, UserHandle.ALL, true);

        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(Intent.ACTION_USER_SWITCHED);
+74 −67
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@ public class TvInteractiveAppManagerService extends SystemService {
    // A global lock.
    private final Object mLock = new Object();
    private final Context mContext;
    private final MyPackageMonitor mPackageMonitor;
    // ID of the current user.
    @GuardedBy("mLock")
    private int mCurrentUserId = UserHandle.USER_SYSTEM;
@@ -138,6 +139,7 @@ public class TvInteractiveAppManagerService extends SystemService {
        super(context);
        mContext = context;
        mUserManager = (UserManager) getContext().getSystemService(Context.USER_SERVICE);
        mPackageMonitor = new MyPackageMonitor(/* supportsPackageRestartQuery */ true);
    }

    @GuardedBy("mLock")
@@ -518,8 +520,11 @@ public class TvInteractiveAppManagerService extends SystemService {
        }
    }

    private void registerBroadcastReceivers() {
        PackageMonitor monitor = new PackageMonitor(/* supportsPackageRestartQuery */ true) {
    private class MyPackageMonitor extends PackageMonitor {
        MyPackageMonitor(boolean supportsPackageRestartQuery) {
            super(supportsPackageRestartQuery);
        }

        private void buildTvInteractiveAppServiceList(String[] packages) {
            int userId = getChangingUserId();
            synchronized (mLock) {
@@ -596,8 +601,10 @@ public class TvInteractiveAppManagerService extends SystemService {
            // the update can be handled in {@link #onSomePackagesChanged}.
            return true;
        }
        };
        monitor.register(mContext, null, UserHandle.ALL, true);
    }

    private void registerBroadcastReceivers() {
        mPackageMonitor.register(mContext, null, UserHandle.ALL, true);

        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(Intent.ACTION_USER_SWITCHED);