summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/AudioRouteSelectorActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/AudioRouteSelectorActivity.java')
-rw-r--r--java/com/android/incallui/AudioRouteSelectorActivity.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/java/com/android/incallui/AudioRouteSelectorActivity.java b/java/com/android/incallui/AudioRouteSelectorActivity.java
index dfd4d1abf..f0ae79bc2 100644
--- a/java/com/android/incallui/AudioRouteSelectorActivity.java
+++ b/java/com/android/incallui/AudioRouteSelectorActivity.java
@@ -32,7 +32,7 @@ public class AudioRouteSelectorActivity extends FragmentActivity
protected void onCreate(@Nullable Bundle bundle) {
super.onCreate(bundle);
AudioRouteSelectorDialogFragment.newInstance(AudioModeProvider.getInstance().getAudioState())
- .show(getSupportFragmentManager(), null);
+ .show(getSupportFragmentManager(), AudioRouteSelectorDialogFragment.TAG);
}
@Override
@@ -44,4 +44,20 @@ public class AudioRouteSelectorActivity extends FragmentActivity
public void onAudioRouteSelectorDismiss() {
finish();
}
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ AudioRouteSelectorDialogFragment audioRouteSelectorDialogFragment =
+ (AudioRouteSelectorDialogFragment)
+ getSupportFragmentManager().findFragmentByTag(AudioRouteSelectorDialogFragment.TAG);
+ // If Android back button is pressed, the fragment is dismissed and removed. If home button is
+ // pressed, we have to manually dismiss the fragment here. The fragment is also removed when
+ // dismissed.
+ if (audioRouteSelectorDialogFragment != null) {
+ audioRouteSelectorDialogFragment.dismiss();
+ }
+ // We don't expect the activity to resume
+ finish();
+ }
}