diff options
Diffstat (limited to 'java/com/android/incallui')
-rw-r--r-- | java/com/android/incallui/InCallPresenter.java | 11 | ||||
-rw-r--r-- | java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java | 40 |
2 files changed, 44 insertions, 7 deletions
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java index 6e7daf551..6386c56be 100644 --- a/java/com/android/incallui/InCallPresenter.java +++ b/java/com/android/incallui/InCallPresenter.java @@ -52,6 +52,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.location.GeoUtil; +import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; import com.android.dialer.postcall.PostCall; @@ -429,7 +430,15 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud } Bundle extras = dialerCall.getIntentExtras(); - return shouldStartInBubbleModeWithExtras(extras); + boolean result = shouldStartInBubbleModeWithExtras(extras); + if (result) { + Logger.get(context) + .logCallImpression( + DialerImpression.Type.START_CALL_IN_BUBBLE_MODE, + dialerCall.getUniqueCallId(), + dialerCall.getTimeAddedMs()); + } + return result; } private boolean shouldStartInBubbleModeWithExtras(Bundle outgoingExtras) { diff --git a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java index 316dd128b..cd17c25da 100644 --- a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java +++ b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java @@ -35,7 +35,11 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.android.dialer.common.FragmentUtils; import com.android.dialer.common.LogUtil; +import com.android.dialer.logging.DialerImpression; +import com.android.dialer.logging.Logger; import com.android.incallui.audiomode.BluetoothDeviceProviderComponent; +import com.android.incallui.call.CallList; +import com.android.incallui.call.DialerCall; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Set; @@ -101,15 +105,18 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment initItem( (TextView) view.findViewById(R.id.audioroute_speaker), CallAudioState.ROUTE_SPEAKER, - audioState); + audioState, + DialerImpression.Type.IN_CALL_SWITCH_AUDIO_ROUTE_SPEAKER); initItem( (TextView) view.findViewById(R.id.audioroute_headset), CallAudioState.ROUTE_WIRED_HEADSET, - audioState); + audioState, + DialerImpression.Type.IN_CALL_SWITCH_AUDIO_ROUTE_WIRED_HEADSET); initItem( (TextView) view.findViewById(R.id.audioroute_earpiece), CallAudioState.ROUTE_EARPIECE, - audioState); + audioState, + DialerImpression.Type.IN_CALL_SWITCH_AUDIO_ROUTE_EARPIECE); // TODO(a bug): set peak height correctly to fully expand it in landscape mode. return view; @@ -123,7 +130,11 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment .onAudioRouteSelectorDismiss(); } - private void initItem(TextView item, final int itemRoute, CallAudioState audioState) { + private void initItem( + TextView item, + final int itemRoute, + CallAudioState audioState, + DialerImpression.Type impressionType) { int selectedColor = getResources().getColor(R.color.dialer_theme_color); if ((audioState.getSupportedRouteMask() & itemRoute) == 0) { item.setVisibility(View.GONE); @@ -134,10 +145,11 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment } item.setOnClickListener( (v) -> { - dismiss(); + logCallAudioRouteImpression(impressionType); FragmentUtils.getParentUnsafe( AudioRouteSelectorDialogFragment.this, AudioRouteSelectorPresenter.class) .onAudioRouteSelected(itemRoute); + dismiss(); }); } @@ -153,7 +165,7 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment } textView.setOnClickListener( (v) -> { - dismiss(); + logCallAudioRouteImpression(DialerImpression.Type.IN_CALL_SWITCH_AUDIO_ROUTE_BLUETOOTH); // Set Bluetooth audio route FragmentUtils.getParentUnsafe( AudioRouteSelectorDialogFragment.this, AudioRouteSelectorPresenter.class) @@ -162,6 +174,7 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment BluetoothDeviceProviderComponent.get(getContext()) .bluetoothDeviceProvider() .setActiveBluetoothDevice(bluetoothDevice); + dismiss(); }); return textView; @@ -178,4 +191,19 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment return bluetoothDevice.getName(); } } + + private void logCallAudioRouteImpression(DialerImpression.Type impressionType) { + DialerCall dialerCall = CallList.getInstance().getOutgoingCall(); + if (dialerCall == null) { + dialerCall = CallList.getInstance().getActiveOrBackgroundCall(); + } + + if (dialerCall != null) { + Logger.get(getContext()) + .logCallImpression( + impressionType, dialerCall.getUniqueCallId(), dialerCall.getTimeAddedMs()); + } else { + Logger.get(getContext()).logImpression(impressionType); + } + } } |