Remove metrics for emergency dialer.

Bug: 143243654
Test: Compilation
Change-Id: I0375f700bc0fe8fe7d41bae3626e37f9916781d8
Merged-In: I0375f700bc0fe8fe7d41bae3626e37f9916781d8
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index f5c14b9..c20281a 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -70,9 +70,6 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.TextView;
 
-import com.android.phone.EmergencyDialerMetricsLogger.DialedFrom;
-import com.android.phone.EmergencyDialerMetricsLogger.PhoneNumberType;
-import com.android.phone.EmergencyDialerMetricsLogger.UiModeErrorCode;
 import com.android.phone.common.dialpad.DialpadKeyButton;
 import com.android.phone.common.util.ViewUtil;
 import com.android.phone.common.widget.ResizingTextEditText;
@@ -221,8 +218,6 @@
     private int mEntryType;
     private ShortcutViewUtils.Config mShortcutViewConfig;
 
-    private EmergencyDialerMetricsLogger mMetricsLogger;
-
     @Override
     public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         // Do nothing
@@ -257,8 +252,6 @@
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        mMetricsLogger = new EmergencyDialerMetricsLogger(this);
-
         mEntryType = getIntent().getIntExtra(EXTRA_ENTRY_TYPE, ENTRY_TYPE_UNKNOWN);
         Log.d(LOG_TAG, "Launched from " + entryTypeToString(mEntryType));
 
@@ -498,10 +491,6 @@
         if (!TextUtils.isEmpty(phoneNumber)) {
             if (DBG) Log.d(LOG_TAG, "dial emergency number: " + Rlog.pii(LOG_TAG, phoneNumber));
 
-            // Write metrics when user has intention to make a call from a shortcut button.
-            mMetricsLogger.logPlaceCall(DialedFrom.SHORTCUT, PhoneNumberType.HAS_SHORTCUT,
-                    mShortcutViewConfig.getPhoneInfo());
-
             placeCall(phoneNumber, ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_SHORTCUT,
                     mShortcutViewConfig.getPhoneInfo());
         } else {
@@ -638,10 +627,6 @@
     protected void onStart() {
         super.onStart();
 
-        mMetricsLogger.logLaunchEmergencyDialer(mEntryType,
-                mShortcutViewConfig.isEnabled() ? UiModeErrorCode.SUCCESS
-                        : UiModeErrorCode.UNSPECIFIED_ERROR);
-
         if (mShortcutViewConfig.isEnabled()) {
             // Shortcut view doesn't support dark text theme.
             mBackgroundDrawable.setColor(Color.BLACK);
@@ -745,28 +730,20 @@
         // nothing and just returns input number.
         mLastNumber = PhoneNumberUtils.convertToEmergencyNumber(this, mLastNumber);
 
-        @DialedFrom final int dialedFrom =
-                mShortcutViewConfig.isEnabled() ? DialedFrom.FASTER_LAUNCHER_DIALPAD
-                        : DialedFrom.TRADITIONAL_DIALPAD;
-        @PhoneNumberType final int phoneNumberType;
-
         boolean isEmergencyNumber;
         ShortcutViewUtils.PhoneInfo phoneToMakeCall = null;
         if (mShortcutAdapter != null && mShortcutAdapter.hasShortcut(mLastNumber)) {
             isEmergencyNumber = true;
             phoneToMakeCall = mShortcutViewConfig.getPhoneInfo();
-            phoneNumberType = PhoneNumberType.HAS_SHORTCUT;
         } else if (mShortcutViewConfig.hasPromotedEmergencyNumber(mLastNumber)) {
             // If a number from SIM/network/... is categoried as police/ambulance/fire,
             // hasPromotedEmergencyNumber() will return true, but it maybe not promoted as a
             // shortcut button because a number provided by database has higher priority.
             isEmergencyNumber = true;
             phoneToMakeCall = mShortcutViewConfig.getPhoneInfo();
-            phoneNumberType = PhoneNumberType.NO_SHORTCUT;
         } else {
             isEmergencyNumber = getSystemService(TelephonyManager.class)
                     .isEmergencyNumber(mLastNumber);
-            phoneNumberType = PhoneNumberType.NO_SHORTCUT;
         }
 
         if (isEmergencyNumber) {
@@ -779,19 +756,11 @@
                 return;
             }
 
-            // Write metrics when user has intention to make a call from dialpad
-            mMetricsLogger.logPlaceCall(dialedFrom, phoneNumberType, phoneToMakeCall);
-
             placeCall(mLastNumber, ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_DIALPAD,
                     phoneToMakeCall);
         } else {
             if (DBG) Log.d(LOG_TAG, "rejecting bad requested number " + mLastNumber);
 
-            // Write metrics when user has intention to make a call of a non-emergency number, even
-            // this number is rejected.
-            mMetricsLogger.logPlaceCall(dialedFrom, PhoneNumberType.NOT_EMERGENCY_NUMBER,
-                    phoneToMakeCall);
-
             showDialog(BAD_EMERGENCY_NUMBER_DIALOG);
         }
         mDigits.getText().delete(0, mDigits.getText().length());
diff --git a/src/com/android/phone/EmergencyDialerMetricsLogger.java b/src/com/android/phone/EmergencyDialerMetricsLogger.java
deleted file mode 100644
index b9ba352..0000000
--- a/src/com/android/phone/EmergencyDialerMetricsLogger.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import android.annotation.IntDef;
-import android.app.KeyguardManager;
-import android.content.Context;
-import android.metrics.LogMaker;
-import android.os.Build;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-import androidx.annotation.Nullable;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * EmergencyCallMetricsLogger is a utility to collect metrics of emergency calls
- */
-class EmergencyDialerMetricsLogger {
-    private static final String LOG_TAG = "EmergencyDialerLogger";
-
-    @IntDef({
-            DialedFrom.TRADITIONAL_DIALPAD,
-            DialedFrom.SHORTCUT,
-            DialedFrom.FASTER_LAUNCHER_DIALPAD,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface DialedFrom {
-        int TRADITIONAL_DIALPAD = 0;
-        int SHORTCUT = 1;
-        int FASTER_LAUNCHER_DIALPAD = 2;
-    }
-
-    @IntDef({
-            LaunchedFrom.UNDEFINED,
-            LaunchedFrom.LOCK_SCREEN,
-            LaunchedFrom.POWER_KEY_MENU,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface LaunchedFrom {
-        int UNDEFINED = 0;
-        int LOCK_SCREEN = 1;
-        int POWER_KEY_MENU = 2;
-    }
-
-    @IntDef({
-            PhoneNumberType.HAS_SHORTCUT,
-            PhoneNumberType.NO_SHORTCUT,
-            PhoneNumberType.NOT_EMERGENCY_NUMBER,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface PhoneNumberType {
-        int HAS_SHORTCUT = 0;
-        int NO_SHORTCUT = 1;
-        int NOT_EMERGENCY_NUMBER = 2;
-    }
-
-    @IntDef({
-            UiModeErrorCode.UNSPECIFIED_ERROR,
-            UiModeErrorCode.SUCCESS,
-            UiModeErrorCode.CONFIG_ENTRY_POINT,
-            UiModeErrorCode.CONFIG_SIM_OPERATOR,
-            UiModeErrorCode.UNSUPPORTED_COUNTRY,
-            UiModeErrorCode.AIRPLANE_MODE,
-            UiModeErrorCode.NO_PROMOTED_NUMBER,
-            UiModeErrorCode.NO_CAPABLE_PHONE,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface UiModeErrorCode {
-        int UNSPECIFIED_ERROR = -1;
-        int SUCCESS = 0;
-        int CONFIG_ENTRY_POINT = 1;
-        int CONFIG_SIM_OPERATOR = 2;
-        int UNSUPPORTED_COUNTRY = 3;
-        int AIRPLANE_MODE = 4;
-        int NO_PROMOTED_NUMBER = 5;
-        int NO_CAPABLE_PHONE = 6;
-    }
-
-    private class TelephonyInfo {
-        private final String mNetworkCountryIso;
-        private final String mNetworkOperator;
-
-        TelephonyInfo(String networkCountryIso, String networkOperator) {
-            mNetworkCountryIso = networkCountryIso;
-            mNetworkOperator = networkOperator;
-        }
-    }
-
-    private final MetricsLogger mMetricsLogger = new MetricsLogger();
-
-    private final Context mAppContext;
-
-    @LaunchedFrom
-    private int mLaunchedFrom;
-    @UiModeErrorCode
-    private int mUiModeErrorCode;
-
-    EmergencyDialerMetricsLogger(Context context) {
-        mAppContext = context.getApplicationContext();
-    }
-
-    /**
-     * Log when Emergency Dialer is launched.
-     * - Where the user launch Emergency Dialer from.
-     * - Whether shortcut view is enabled, and the reason why it's not enabled.
-     *
-     * @param entryType
-     * @param uiModeErrorCode
-     */
-    public void logLaunchEmergencyDialer(int entryType,
-            @UiModeErrorCode int uiModeErrorCode) {
-        final @EmergencyDialerMetricsLogger.LaunchedFrom int launchedFrom;
-        if (entryType == EmergencyDialer.ENTRY_TYPE_LOCKSCREEN_BUTTON) {
-            launchedFrom = EmergencyDialerMetricsLogger.LaunchedFrom.LOCK_SCREEN;
-        } else if (entryType == EmergencyDialer.ENTRY_TYPE_POWER_MENU) {
-            launchedFrom = EmergencyDialerMetricsLogger.LaunchedFrom.POWER_KEY_MENU;
-        } else {
-            launchedFrom = EmergencyDialerMetricsLogger.LaunchedFrom.UNDEFINED;
-        }
-
-        mLaunchedFrom = launchedFrom;
-        mUiModeErrorCode = uiModeErrorCode;
-    }
-
-    /**
-     * Log when user tring to place an emergency call.
-     * - Which UI (traditional dialpad, shortcut button, dialpad in shortcut view) the user place
-     *   the call from.
-     * - The number is promoted in shortcut view or not, or not even an emergency number?
-     * - Whether the device is locked.
-     * - Network country ISO and network operator.
-     *
-     * @param dialedFrom
-     * @param phoneNumberType
-     * @param phoneInfo
-     */
-    public void logPlaceCall(@DialedFrom int dialedFrom,
-            @PhoneNumberType int phoneNumberType,
-            @Nullable ShortcutViewUtils.PhoneInfo phoneInfo) {
-        TelephonyInfo telephonyInfo = getTelephonyInfo(phoneNumberType, phoneInfo);
-        final KeyguardManager keyguard = mAppContext.getSystemService(KeyguardManager.class);
-
-        logBeforeMakeCall(dialedFrom, phoneNumberType, keyguard.isKeyguardLocked(),
-                telephonyInfo.mNetworkCountryIso, telephonyInfo.mNetworkOperator);
-    }
-
-    private TelephonyInfo getTelephonyInfo(@PhoneNumberType int phoneNumberType,
-            @Nullable ShortcutViewUtils.PhoneInfo phoneInfo) {
-        final TelephonyManager telephonyManager = mAppContext.getSystemService(
-                TelephonyManager.class);
-        final TelephonyManager subTelephonyManager;
-        final String networkCountryIso;
-        final String networkOperator;
-        if (phoneNumberType == PhoneNumberType.HAS_SHORTCUT && phoneInfo != null) {
-            subTelephonyManager = telephonyManager.createForSubscriptionId(phoneInfo.getSubId());
-            networkCountryIso = phoneInfo.getCountryIso();
-        } else {
-            // No specific phone to make this call. Take information of default network.
-            subTelephonyManager = null;
-            networkCountryIso = telephonyManager.getNetworkCountryIso();
-        }
-        if (subTelephonyManager != null) {
-            networkOperator = subTelephonyManager.getNetworkOperator();
-        } else {
-            // This could be:
-            // - No specific phone to make this call.
-            // - Subscription changed! Maybe the device roamed to another network?
-            // Take information of default network.
-            networkOperator = telephonyManager.getNetworkOperator();
-        }
-
-        return new TelephonyInfo(networkCountryIso, networkOperator);
-    }
-
-    private void logBeforeMakeCall(@DialedFrom int dialedFrom,
-            @PhoneNumberType int phoneNumberType,
-            boolean isDeviceLocked,
-            String networkCountryIso,
-            String networkOperator) {
-        if (Log.isLoggable(LOG_TAG, Log.DEBUG)) {
-            Log.d(LOG_TAG, "EmergencyDialer session: dialedFrom=" + dialFromToString(dialedFrom)
-                    + ", launchedFrom=" + launchedFromToString(mLaunchedFrom)
-                    + ", uimode=" + uiModeErrorCodeToString(mUiModeErrorCode)
-                    + ", type=" + phoneNumberTypeToString(phoneNumberType)
-                    + ", locked=" + isDeviceLocked
-                    + ", country=" + networkCountryIso
-                    + ", operator=" + networkOperator);
-        }
-        mMetricsLogger.write(new LogMaker(MetricsEvent.EMERGENCY_DIALER_MAKE_CALL_V2)
-                .setType(MetricsEvent.TYPE_ACTION)
-                .setSubtype(dialedFrom)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_LAUNCH_FROM, mLaunchedFrom)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_UI_MODE_ERROR_CODE,
-                        mUiModeErrorCode)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_PHONE_NUMBER_TYPE,
-                        phoneNumberType)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_IS_DEVICE_LOCKED,
-                        isDeviceLocked ? 1 : 0)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_NETWORK_COUNTRY_ISO,
-                        networkCountryIso)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_NETWORK_OPERATOR,
-                        networkOperator)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_RADIO_VERSION,
-                        Build.getRadioVersion())
-        );
-    }
-
-    private String dialFromToString(@DialedFrom int dialedFrom) {
-        switch (dialedFrom) {
-            case DialedFrom.TRADITIONAL_DIALPAD:
-                return "traditional";
-            case DialedFrom.SHORTCUT:
-                return "shortcut";
-            case DialedFrom.FASTER_LAUNCHER_DIALPAD:
-                return "dialpad";
-            default:
-                return "unknown_error";
-        }
-    }
-
-    private String launchedFromToString(@LaunchedFrom int launchedFrom) {
-        switch (launchedFrom) {
-            case LaunchedFrom.UNDEFINED:
-                return "undefined";
-            case LaunchedFrom.LOCK_SCREEN:
-                return "lockscreen";
-            case LaunchedFrom.POWER_KEY_MENU:
-                return "powermenu";
-            default:
-                return "unknown_error";
-        }
-    }
-
-    private String phoneNumberTypeToString(@PhoneNumberType int phoneNumberType) {
-        switch (phoneNumberType) {
-            case PhoneNumberType.HAS_SHORTCUT:
-                return "has_shortcut";
-            case PhoneNumberType.NO_SHORTCUT:
-                return "no_shortcut";
-            case PhoneNumberType.NOT_EMERGENCY_NUMBER:
-                return "not_emergency";
-            default:
-                return "unknown_error";
-        }
-    }
-
-    private String uiModeErrorCodeToString(@UiModeErrorCode int uiModeErrorCode) {
-        switch (uiModeErrorCode) {
-            case UiModeErrorCode.UNSPECIFIED_ERROR:
-                return "unspecified_error";
-            case UiModeErrorCode.SUCCESS:
-                return "success";
-            case UiModeErrorCode.CONFIG_ENTRY_POINT:
-                return "config_entry_point";
-            case UiModeErrorCode.CONFIG_SIM_OPERATOR:
-                return "config_sim_operator";
-            case UiModeErrorCode.UNSUPPORTED_COUNTRY:
-                return "unsupported_country";
-            case UiModeErrorCode.AIRPLANE_MODE:
-                return "airplane_mode";
-            case UiModeErrorCode.NO_PROMOTED_NUMBER:
-                return "no_promoted_number";
-            case UiModeErrorCode.NO_CAPABLE_PHONE:
-                return "no_capable_phone";
-            default:
-                return "unknown_error";
-        }
-    }
-}
diff --git a/src/com/android/phone/EmergencyShortcutButton.java b/src/com/android/phone/EmergencyShortcutButton.java
index f77595b..9e51e82 100644
--- a/src/com/android/phone/EmergencyShortcutButton.java
+++ b/src/com/android/phone/EmergencyShortcutButton.java
@@ -19,8 +19,6 @@
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.content.Context;
-import android.metrics.LogMaker;
-import android.os.SystemClock;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
@@ -32,9 +30,6 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-
 /**
  * Emergency shortcut button displays a local emergency phone number information(including phone
  * number, and phone type). To decrease false clicking, it need to click twice to confirm to place
@@ -66,12 +61,6 @@
 
     private boolean mConfirmViewHiding;
 
-    /**
-     * The time, in millis, since boot when user taps on shortcut button to reveal confirm view.
-     * This is used for metrics when calculating the interval between reveal tap and confirm tap.
-     */
-    private long mTimeOfRevealTapInMillis = 0;
-
     public EmergencyShortcutButton(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -209,15 +198,6 @@
                 }
                 break;
             case R.id.emergency_call_confirm_view:
-                if (mTimeOfRevealTapInMillis != 0) {
-                    long timeBetweenTwoTaps =
-                            SystemClock.elapsedRealtime() - mTimeOfRevealTapInMillis;
-                    // Reset reveal time to zero for next reveal-confirm taps pair.
-                    mTimeOfRevealTapInMillis = 0;
-
-                    writeMetricsForConfirmTap(timeBetweenTwoTaps);
-                }
-
                 if (mOnConfirmClickListener != null) {
                     mOnConfirmClickListener.onConfirmClick(this);
                 }
@@ -229,7 +209,6 @@
         mConfirmViewHiding = false;
 
         mConfirmView.setVisibility(View.VISIBLE);
-        mTimeOfRevealTapInMillis = SystemClock.elapsedRealtime();
         int centerX = mCallNumberInfoView.getLeft() + mCallNumberInfoView.getWidth() / 2;
         int centerY = mCallNumberInfoView.getTop() + mCallNumberInfoView.getHeight() / 2;
         Animator reveal = ViewAnimationUtils.createCircularReveal(
@@ -266,8 +245,6 @@
             @Override
             public void onAnimationEnd(Animator animation) {
                 mConfirmView.setVisibility(INVISIBLE);
-                // Reset reveal time to zero for next reveal-confirm taps pair.
-                mTimeOfRevealTapInMillis = 0;
             }
         });
         reveal.start();
@@ -282,12 +259,4 @@
             hideSelectedButton();
         }
     };
-
-    private void writeMetricsForConfirmTap(long timeBetweenTwoTaps) {
-        LogMaker logContent = new LogMaker(MetricsEvent.EMERGENCY_DIALER_SHORTCUT_CONFIRM_TAP)
-                .setType(MetricsEvent.TYPE_ACTION)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_SHORTCUT_TAPS_INTERVAL,
-                        timeBetweenTwoTaps);
-        MetricsLogger.action(logContent);
-    }
 }