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

Commit d7f62ef0 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Prevent NPE whlie leaving windowless dream service." into rvc-dev am:...

Merge "Prevent NPE whlie leaving windowless dream service." into rvc-dev am: 3944050a am: 875f6092

Change-Id: I645efb74e4d73970edb71a975df5ad0a05f0574d
parents 1500de6b 875f6092
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -883,7 +883,7 @@ public class DreamService extends Service implements Window.Callback {
     * </p>
     */
    public void onWakeUp() {
        mActivity.finishAndRemoveTask();
        finish();
    }

    /** {@inheritDoc} */
@@ -904,14 +904,15 @@ public class DreamService extends Service implements Window.Callback {
    public final void finish() {
        if (mDebug) Slog.v(TAG, "finish(): mFinished=" + mFinished);

        if (mActivity == null) {
            Slog.w(TAG, "Finish was called before the dream was attached.");
        } else if (!mActivity.isFinishing()) {
            // In case the activity is not finished yet, do it now. This can happen if someone calls
            // finish() directly, without going through wakeUp().
        if (mActivity != null) {
            if (!mActivity.isFinishing()) {
                // In case the activity is not finished yet, do it now.
                mActivity.finishAndRemoveTask();
                return;
            }
        } else if (!mWindowless) {
            Slog.w(TAG, "Finish was called before the dream was attached.");
        }

        if (!mFinished) {
            mFinished = true;
@@ -1010,7 +1011,7 @@ public class DreamService extends Service implements Window.Callback {
     * @param started A callback that will be invoked once onDreamingStarted has completed.
     */
    private void attach(IBinder dreamToken, boolean canDoze, IRemoteCallback started) {
        if (mActivity != null) {
        if (mDreamToken != null) {
            Slog.e(TAG, "attach() called when dream with token=" + mDreamToken
                    + " already attached");
            return;