diff options
Diffstat (limited to 'java/com/android/incallui/AudioRouteSelectorActivity.java')
-rw-r--r-- | java/com/android/incallui/AudioRouteSelectorActivity.java | 39 |
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 |