summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/incallui/AudioRouteSelectorActivity.java18
-rw-r--r--java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java1
2 files changed, 18 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();
+ }
}
diff --git a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java
index c7a9d6332..860d2d282 100644
--- a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java
+++ b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java
@@ -37,6 +37,7 @@ import com.android.dialer.common.LogUtil;
/** Shows picker for audio routes */
public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment {
+ public static final String TAG = "AudioRouteSelectorDialogFragment";
private static final String ARG_AUDIO_STATE = "audio_state";
/** Called when an audio route is picked */