diff options
author | yueg <yueg@google.com> | 2018-05-01 13:06:06 -0700 |
---|---|---|
committer | Weijia Xu <weijiaxu@google.com> | 2018-05-04 06:14:03 +0000 |
commit | 8006f798211e667cbfb4471f3cda55c1c71ef18a (patch) | |
tree | fc50487319fcf1ed1275cf069d506ce22f7e5962 | |
parent | 8657ebdaa1e4550008078161b0dcd7ffc340497b (diff) |
Set audio selector window type TYPE_APPLICATION_OVERLAY
Bug: 74238896
Test: manual
PiperOrigin-RevId: 194983140
Change-Id: I7dda119fd97445906bb6df93726d475ba634f4e4
-rw-r--r-- | java/com/android/incallui/AndroidManifest.xml | 3 | ||||
-rw-r--r-- | java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/java/com/android/incallui/AndroidManifest.xml b/java/com/android/incallui/AndroidManifest.xml index 7286b0db7..b3d60d473 100644 --- a/java/com/android/incallui/AndroidManifest.xml +++ b/java/com/android/incallui/AndroidManifest.xml @@ -43,6 +43,9 @@ <!-- Set Bluetooth device --> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> + <!-- Set audio selector window type TYPE_APPLICATION_OVERLAY --> + <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> + <!-- Set android:taskAffinity="com.android.incallui" for all activities to ensure proper navigation. Otherwise system could bring up DialtactsActivity instead, e.g. when user unmerge a call. diff --git a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java index cd17c25da..8d0c9525e 100644 --- a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java +++ b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java @@ -24,8 +24,10 @@ import android.content.DialogInterface; import android.content.res.ColorStateList; import android.graphics.PorterDuff.Mode; import android.os.Bundle; +import android.provider.Settings; import android.support.annotation.Nullable; import android.support.design.widget.BottomSheetDialogFragment; +import android.support.v4.os.BuildCompat; import android.telecom.CallAudioState; import android.view.LayoutInflater; import android.view.View; @@ -76,6 +78,14 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment LogUtil.i("AudioRouteSelectorDialogFragment.onCreateDialog", null); Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + if (Settings.canDrawOverlays(getContext())) { + dialog + .getWindow() + .setType( + BuildCompat.isAtLeastO() + ? WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY + : WindowManager.LayoutParams.TYPE_PHONE); + } return dialog; } |