diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java index 782607cc3aef0..f3033cd89cf8b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java @@ -44,6 +44,8 @@ import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; +import com.android.internal.logging.MetricsProto; import com.android.systemui.R; import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.RemoteInputController; @@ -127,10 +129,14 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene mEditText.mShowImeOnInputConnection = false; mController.remoteInputSent(mEntry); + MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_SEND, + mEntry.notification.getPackageName()); try { mPendingIntent.send(mContext, 0, fillInIntent); } catch (PendingIntent.CanceledException e) { Log.i(TAG, "Unable to send remote input result", e); + MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_FAIL, + mEntry.notification.getPackageName()); } } @@ -165,6 +171,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene mController.removeRemoteInput(mEntry); mEntry.remoteInputText = mEditText.getText(); setVisibility(INVISIBLE); + MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_CLOSE, + mEntry.notification.getPackageName()); } @Override @@ -198,6 +206,9 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene } public void focus() { + MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_OPEN, + mEntry.notification.getPackageName()); + setVisibility(VISIBLE); mController.addRemoteInput(mEntry); mEditText.setInnerFocusable(true); diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index 7b3fd66f3236c..f49235c0b7562 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -2169,6 +2169,24 @@ message MetricsEvent { // User blacklisted an app for Data Saver mode; action pass package name of app. ACTION_DATA_SAVER_BLACKLIST = 396; + // User opened a remote input view associated with a notification. Passes package name of app + // that posted the notification. Note that this can also happen transiently during notification + // reinflation. + ACTION_REMOTE_INPUT_OPEN = 397; + + // User attempt to send data through a remote input view associated with a notification. + // Passes package name of app that posted the notification. May succeed or fail. + ACTION_REMOTE_INPUT_SEND = 398; + + // Failed attempt to send data through a remote input view associated with a + // notification. Passes package name of app that posted the notification. + ACTION_REMOTE_INPUT_FAIL = 399; + + // User closed a remote input view associated with a notification. Passes package name of app + // that posted the notification. Note that this can also happen transiently during notification + // reinflation. + ACTION_REMOTE_INPUT_CLOSE = 400; + // Add new aosp constants above this line. // END OF AOSP CONSTANTS }