diff --git a/services/core/java/com/android/server/job/controllers/ContentObserverController.java b/services/core/java/com/android/server/job/controllers/ContentObserverController.java index 9dce070221bcd..a42d0cd4c831c 100644 --- a/services/core/java/com/android/server/job/controllers/ContentObserverController.java +++ b/services/core/java/com/android/server/job/controllers/ContentObserverController.java @@ -22,6 +22,7 @@ import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.UserHandle; +import android.util.Slog; import android.util.TimeUtils; import android.util.ArrayMap; import android.util.ArraySet; @@ -40,6 +41,7 @@ import java.util.List; */ public class ContentObserverController extends StateController { private static final String TAG = "JobScheduler.Content"; + private static final boolean DEBUG = false; /** * Maximum number of changing URIs we will batch together to report. @@ -88,6 +90,9 @@ public class ContentObserverController extends StateController { if (taskStatus.contentObserverJobInstance == null) { taskStatus.contentObserverJobInstance = new JobInstance(taskStatus); } + if (DEBUG) { + Slog.i(TAG, "Tracking content-trigger job " + taskStatus); + } mTrackedTasks.add(taskStatus); boolean havePendingUris = false; // If there is a previous job associated with the new job, propagate over @@ -175,6 +180,9 @@ public class ContentObserverController extends StateController { taskStatus.contentObserverJobInstance = null; } } + if (DEBUG) { + Slog.i(TAG, "No longer tracking job " + taskStatus); + } mTrackedTasks.remove(taskStatus); } } @@ -194,16 +202,20 @@ public class ContentObserverController extends StateController { } final class ObserverInstance extends ContentObserver { - final Uri mUri; + final JobInfo.TriggerContentUri mUri; final ArraySet mJobs = new ArraySet<>(); - public ObserverInstance(Handler handler, Uri uri) { + public ObserverInstance(Handler handler, JobInfo.TriggerContentUri uri) { super(handler); mUri = uri; } @Override public void onChange(boolean selfChange, Uri uri) { + if (DEBUG) { + Slog.i(TAG, "onChange(self=" + selfChange + ") for " + uri + + " when mUri=" + mUri); + } synchronized (mLock) { final int N = mJobs.size(); for (int i=0; i