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 8fd25bf771)

Bug: 19121797
Change-Id: I7a5c12b371b735c756ca5a3e8716c385fb3fbfe9
This commit is contained in:
Dan Sandler
2015-10-20 16:01:27 -07:00
committed by Daniel Sandler
parent f6c7515817
commit 51c2619c77

View File

@@ -106,6 +106,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) {
mContext = context;
mCast = cast;
@@ -304,11 +312,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() {