summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/InCallActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/InCallActivity.java')
-rw-r--r--java/com/android/incallui/InCallActivity.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index bda003ccc..cc9a8e438 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -694,8 +694,13 @@ public class InCallActivity extends TransactionSafeFragmentActivity
if (didShowInCallScreen) {
return false;
}
- InCallScreen inCallScreen = InCallBindings.createInCallScreen();
- transaction.add(R.id.main, inCallScreen.getInCallScreenFragment(), TAG_IN_CALL_SCREEN);
+ InCallScreen inCallScreen = getInCallScreen();
+ if (inCallScreen == null) {
+ inCallScreen = InCallBindings.createInCallScreen();
+ transaction.add(R.id.main, inCallScreen.getInCallScreenFragment(), TAG_IN_CALL_SCREEN);
+ } else {
+ transaction.show(inCallScreen.getInCallScreenFragment());
+ }
Logger.get(this).logScreenView(ScreenEvent.Type.INCALL, this);
didShowInCallScreen = true;
return true;
@@ -707,7 +712,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
}
InCallScreen inCallScreen = getInCallScreen();
if (inCallScreen != null) {
- transaction.remove(inCallScreen.getInCallScreenFragment());
+ transaction.hide(inCallScreen.getInCallScreenFragment());
}
didShowInCallScreen = false;
return true;