summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/NotificationBroadcastReceiver.java
diff options
context:
space:
mode:
authoryueg <yueg@google.com>2017-09-18 16:59:16 -0700
committerEric Erfanian <erfanian@google.com>2017-09-19 07:17:37 -0700
commitb26c1ae4fdb6f15bd8984132225fd4dc4b2b8fb9 (patch)
tree7ca1e4d2c9ed2b501430a6cebdb48d21b29bb26c /java/com/android/incallui/NotificationBroadcastReceiver.java
parent10ea1bd17c116c47191e56ff67a1a6da32fcab4f (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.java9
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);
}
}