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.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/java/com/android/incallui/AudioRouteSelectorActivity.java b/java/com/android/incallui/AudioRouteSelectorActivity.java
index 8d166649c..a6fcc9c7d 100644
--- a/java/com/android/incallui/AudioRouteSelectorActivity.java
+++ b/java/com/android/incallui/AudioRouteSelectorActivity.java
@@ -19,18 +19,29 @@ package com.android.incallui;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
+import android.telecom.CallAudioState;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
import com.android.incallui.audiomode.AudioModeProvider;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
+import com.android.incallui.call.CallList;
+import com.android.incallui.call.DialerCall;
import com.android.incallui.call.TelecomAdapter;
/** Simple activity that just shows the audio route selector fragment */
public class AudioRouteSelectorActivity extends FragmentActivity
implements AudioRouteSelectorPresenter {
+ public static final String SHOULD_LOG_BUBBLE_V2_IMPRESSION_EXTRA = "shouldLogBubbleV2Impression";
+
+ private boolean shouldLogBubbleV2Impression;
+
@Override
protected void onCreate(@Nullable Bundle bundle) {
super.onCreate(bundle);
+ shouldLogBubbleV2Impression =
+ getIntent().getBooleanExtra(SHOULD_LOG_BUBBLE_V2_IMPRESSION_EXTRA, false);
AudioRouteSelectorDialogFragment.newInstance(AudioModeProvider.getInstance().getAudioState())
.show(getSupportFragmentManager(), AudioRouteSelectorDialogFragment.TAG);
}
@@ -39,6 +50,34 @@ public class AudioRouteSelectorActivity extends FragmentActivity
public void onAudioRouteSelected(int audioRoute) {
TelecomAdapter.getInstance().setAudioRoute(audioRoute);
finish();
+
+ if (!shouldLogBubbleV2Impression) {
+ return;
+ }
+
+ // Log the select action with audio route and call
+ DialerImpression.Type impressionType = null;
+ if ((audioRoute & CallAudioState.ROUTE_WIRED_OR_EARPIECE) != 0) {
+ impressionType = DialerImpression.Type.BUBBLE_V2_WIRED_OR_EARPIECE;
+ } else if (audioRoute == CallAudioState.ROUTE_SPEAKER) {
+ impressionType = DialerImpression.Type.BUBBLE_V2_SPEAKERPHONE;
+ } else if (audioRoute == CallAudioState.ROUTE_BLUETOOTH) {
+ impressionType = DialerImpression.Type.BUBBLE_V2_BLUETOOTH;
+ }
+ if (impressionType == null) {
+ return;
+ }
+
+ DialerCall call = CallList.getInstance().getOutgoingCall();
+ if (call == null) {
+ call = CallList.getInstance().getActiveOrBackgroundCall();
+ }
+ if (call != null) {
+ Logger.get(this)
+ .logCallImpression(impressionType, call.getUniqueCallId(), call.getTimeAddedMs());
+ } else {
+ Logger.get(this).logImpression(impressionType);
+ }
}
@Override