diff options
author | yueg <yueg@google.com> | 2017-09-18 16:59:16 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-09-19 07:17:37 -0700 |
commit | b26c1ae4fdb6f15bd8984132225fd4dc4b2b8fb9 (patch) | |
tree | 7ca1e4d2c9ed2b501430a6cebdb48d21b29bb26c /java/com/android/incallui/NotificationBroadcastReceiver.java | |
parent | 10ea1bd17c116c47191e56ff67a1a6da32fcab4f (diff) |
Add "Turn speaker on"/"Turn speaker off" action button in notification.
Add action button when create in call notification and when audio state changes to ROUTE_SPEAKER or ROUTE_WIRED_OR_EARPIECE. Ignore when audio state is ROUTE_BLUETOOTH.
Screenshot:
Speaker on: https://screenshot.googleplex.com/hnsQL0YcFJj
Speaker off: https://screenshot.googleplex.com/oFrbvbs9gVG
Test: StatusBarNotifierTest
PiperOrigin-RevId: 169169372
Change-Id: I2f96f20170dd174b35dfd3f7578fe5b9450391ab
Diffstat (limited to 'java/com/android/incallui/NotificationBroadcastReceiver.java')
-rw-r--r-- | java/com/android/incallui/NotificationBroadcastReceiver.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/java/com/android/incallui/NotificationBroadcastReceiver.java b/java/com/android/incallui/NotificationBroadcastReceiver.java index 0daa017d7..f83f84dbb 100644 --- a/java/com/android/incallui/NotificationBroadcastReceiver.java +++ b/java/com/android/incallui/NotificationBroadcastReceiver.java @@ -21,12 +21,14 @@ import android.content.Context; import android.content.Intent; import android.os.Build.VERSION_CODES; import android.support.annotation.RequiresApi; +import android.telecom.CallAudioState; import android.telecom.VideoProfile; import com.android.dialer.common.LogUtil; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.incallui.call.CallList; import com.android.incallui.call.DialerCall; +import com.android.incallui.call.TelecomAdapter; /** * Accepts broadcast Intents which will be prepared by {@link StatusBarNotifier} and thus sent from @@ -52,6 +54,9 @@ public class NotificationBroadcastReceiver extends BroadcastReceiver { "com.android.incallui.ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST"; public static final String ACTION_DECLINE_VIDEO_UPGRADE_REQUEST = "com.android.incallui.ACTION_DECLINE_VIDEO_UPGRADE_REQUEST"; + public static final String ACTION_TURN_ON_SPEAKER = "com.android.incallui.ACTION_TURN_ON_SPEAKER"; + public static final String ACTION_TURN_OFF_SPEAKER = + "com.android.incallui.ACTION_TURN_OFF_SPEAKER"; @RequiresApi(VERSION_CODES.N_MR1) public static final String ACTION_PULL_EXTERNAL_CALL = @@ -84,6 +89,10 @@ public class NotificationBroadcastReceiver extends BroadcastReceiver { context.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)); int notificationId = intent.getIntExtra(EXTRA_NOTIFICATION_ID, -1); InCallPresenter.getInstance().getExternalCallNotifier().pullExternalCall(notificationId); + } else if (action.equals(ACTION_TURN_ON_SPEAKER)) { + TelecomAdapter.getInstance().setAudioRoute(CallAudioState.ROUTE_SPEAKER); + } else if (action.equals(ACTION_TURN_OFF_SPEAKER)) { + TelecomAdapter.getInstance().setAudioRoute(CallAudioState.ROUTE_WIRED_OR_EARPIECE); } } |