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

Commit 63b67bd0 authored by Dan Sandler's avatar Dan Sandler Committed by Jessica Wagantall
Browse files

[PATCH 2/2] Delay hiding the cast icon for 3 seconds. DO NOT MERGE

Ensure that the user has had a chance to see it for a few
seconds after screen recording has ended.

(cherry picked from commit 8fd25bf7)

Ticket: CYNGNOS-1299
Bug: 19121797
Change-Id: I7a5c12b371b735c756ca5a3e8716c385fb3fbfe9
parent c0ddc217
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -124,6 +124,14 @@ public class PhoneStatusBarPolicy {
        }
    };

    private Runnable mRemoveCastIconRunnable = new Runnable() {
        @Override
        public void run() {
            if (DEBUG) Log.v(TAG, "updateCast: hiding icon NOW");
            mService.setIconVisibility(SLOT_CAST, false);
        }
    };

    public PhoneStatusBarPolicy(Context context, CastController cast, HotspotController hotspot,
            SuController su) {
        mContext = context;
@@ -397,11 +405,17 @@ public class PhoneStatusBarPolicy {
            }
        }
        if (DEBUG) Log.v(TAG, "updateCast: isCasting: " + isCasting);
        mHandler.removeCallbacks(mRemoveCastIconRunnable);
        if (isCasting) {
            mService.setIcon(SLOT_CAST, R.drawable.stat_sys_cast, 0,
                    mContext.getString(R.string.accessibility_casting));
            mService.setIconVisibility(SLOT_CAST, true);
        } else {
            // don't turn off the screen-record icon for a few seconds, just to make sure the user
            // has seen it
            if (DEBUG) Log.v(TAG, "updateCast: hiding icon in 3 sec...");
            mHandler.postDelayed(mRemoveCastIconRunnable, 3000);
        }
        mService.setIconVisibility(SLOT_CAST, isCasting);
    }

    private final HotspotController.Callback mHotspotCallback = new HotspotController.Callback() {