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

Commit 5d82ef9c authored by Song Chun Fan's avatar Song Chun Fan
Browse files

[SyncManager] hold PackageMonitor object

System server only holds a weak reference to PackageMonitor though PackageMonitorCallback. If there's nothing else holding on to PackageMonitor, it will get GC'd and following callbacks to it will be discarded.

BUG: 398759145  
TEST: manual
FLAG: EXEMPT bug fix
Change-Id: Iec8a2c375b495416edfc25fc12aa300649365a65
parent 0fb7911c
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -261,6 +261,7 @@ public class SyncManager {
    private final SyncLogger mLogger;

    private final AppCloningDeviceConfigHelper mAppCloningDeviceConfigHelper;
    private final PackageMonitorImpl mPackageMonitor;

    private boolean isJobIdInUseLockedH(int jobId, List<JobInfo> pendingJobs) {
        for (int i = 0, size = pendingJobs.size(); i < size; i++) {
@@ -725,8 +726,8 @@ public class SyncManager {
                mUserIntentReceiver, UserHandle.ALL, intentFilter, null, null);


        final PackageMonitor packageMonitor = new PackageMonitorImpl();
        packageMonitor.register(mContext, null /* thread */, UserHandle.ALL,
        mPackageMonitor = new PackageMonitorImpl();
        mPackageMonitor.register(mContext, null /* thread */, UserHandle.ALL,
                false /* externalStorage */);

        intentFilter = new IntentFilter(Intent.ACTION_TIME_CHANGED);