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

Commit 7034caf2 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Query calendar in a background thread.

Bug: 24667663
Change-Id: I87da42e9d0a12629d58cc4b859ae1ad7ab5f3121
parent 4628b6c1
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -26,7 +26,9 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
import android.service.notification.Condition;
@@ -63,15 +65,18 @@ public class EventConditionProvider extends SystemConditionProviderService {
    private final ArraySet<Uri> mSubscriptions = new ArraySet<Uri>();
    private final SparseArray<CalendarTracker> mTrackers = new SparseArray<>();
    private final Handler mWorker;
    private final HandlerThread mThread;

    private boolean mConnected;
    private boolean mRegistered;
    private boolean mBootComplete;  // don't hammer the calendar provider until boot completes.
    private long mNextAlarmTime;

    public EventConditionProvider(Looper worker) {
    public EventConditionProvider() {
        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
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ public class ZenModeConditions implements ConditionProviders.Callback {
            mConditionProviders.addSystemProvider(new ScheduleConditionProvider());
        }
        if (mConditionProviders.isSystemProviderEnabled(ZenModeConfig.EVENT_PATH)) {
            mConditionProviders.addSystemProvider(new EventConditionProvider(helper.getLooper()));
            mConditionProviders.addSystemProvider(new EventConditionProvider());
        }
        mConditionProviders.setCallback(this);
    }