Merge "Query calendar in a background thread." into nyc-dev

This commit is contained in:
Julia Reynolds
2016-03-09 20:42:22 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 3 deletions

View File

@@ -26,7 +26,9 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri; import android.net.Uri;
import android.os.Handler; import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper; import android.os.Looper;
import android.os.Process;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.service.notification.Condition; import android.service.notification.Condition;
@@ -63,15 +65,18 @@ public class EventConditionProvider extends SystemConditionProviderService {
private final ArraySet<Uri> mSubscriptions = new ArraySet<Uri>(); private final ArraySet<Uri> mSubscriptions = new ArraySet<Uri>();
private final SparseArray<CalendarTracker> mTrackers = new SparseArray<>(); private final SparseArray<CalendarTracker> mTrackers = new SparseArray<>();
private final Handler mWorker; private final Handler mWorker;
private final HandlerThread mThread;
private boolean mConnected; private boolean mConnected;
private boolean mRegistered; private boolean mRegistered;
private boolean mBootComplete; // don't hammer the calendar provider until boot completes. private boolean mBootComplete; // don't hammer the calendar provider until boot completes.
private long mNextAlarmTime; private long mNextAlarmTime;
public EventConditionProvider(Looper worker) { public EventConditionProvider() {
if (DEBUG) Slog.d(TAG, "new " + SIMPLE_NAME + "()"); if (DEBUG) Slog.d(TAG, "new " + SIMPLE_NAME + "()");
mWorker = new Handler(worker); mThread = new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND);
mThread.start();
mWorker = new Handler(mThread.getLooper());
} }
@Override @Override

View File

@@ -50,7 +50,7 @@ public class ZenModeConditions implements ConditionProviders.Callback {
mConditionProviders.addSystemProvider(new ScheduleConditionProvider()); mConditionProviders.addSystemProvider(new ScheduleConditionProvider());
} }
if (mConditionProviders.isSystemProviderEnabled(ZenModeConfig.EVENT_PATH)) { if (mConditionProviders.isSystemProviderEnabled(ZenModeConfig.EVENT_PATH)) {
mConditionProviders.addSystemProvider(new EventConditionProvider(helper.getLooper())); mConditionProviders.addSystemProvider(new EventConditionProvider());
} }
mConditionProviders.setCallback(this); mConditionProviders.setCallback(this);
} }