diff options
author | Adnan Begovic <adnan@cyngn.com> | 2015-06-16 14:34:58 -0700 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-06-17 11:58:37 -0700 |
commit | c0cad1ef3b740b62e563c4c0a375ec4b6bb38fc5 (patch) | |
tree | 3e3ec445d603d5c2bf1b82da17e277735dcb5389 | |
parent | 40c053f56819ceaaa2dafeddc8f2cb5d6d277a8b (diff) | |
download | packages_apps_InCallUI-c0cad1ef3b740b62e563c4c0a375ec4b6bb38fc5.tar.gz packages_apps_InCallUI-c0cad1ef3b740b62e563c4c0a375ec4b6bb38fc5.tar.bz2 packages_apps_InCallUI-c0cad1ef3b740b62e563c4c0a375ec4b6bb38fc5.zip |
InCallUi: Mitigate redial/recent call double tap state loss.
In some instances, double tapping the redial/recent
button forces the device into a state where a call
can never be made again. Mitigate this by forcing
InCallActivity to be reset as well as clearing account
selection on tear down.
Change-Id: Ibc07175ed802bc29bcbe584d5b7fc7a7f3a0cf8a
-rw-r--r-- | src/com/android/incallui/InCallPresenter.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/incallui/InCallPresenter.java b/src/com/android/incallui/InCallPresenter.java index 2ffba4fa..7ca624a9 100644 --- a/src/com/android/incallui/InCallPresenter.java +++ b/src/com/android/incallui/InCallPresenter.java @@ -393,6 +393,9 @@ public class InCallPresenter implements CallList.Listener, updateListeners = true; mInCallActivity = null; + // Cancel any pending dialogs + cancelAccountSelection(); + // We attempt cleanup for the destroy case but only after we recalculate the state // to see if we need to come back up or stay shut down. This is why we do the // cleanup after the call to onCallListChange() instead of directly here. @@ -1357,9 +1360,10 @@ public class InCallPresenter implements CallList.Listener, boolean showCircularReveal, boolean newTask) { final Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS - | Intent.FLAG_ACTIVITY_NO_USER_ACTION); + | Intent.FLAG_ACTIVITY_NO_USER_ACTION | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); if (newTask) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); } intent.setClass(mContext, InCallActivity.class); |