From ceeb04c7c484ca57b921a32186c8f97f28e1a7e2 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Mon, 25 Apr 2016 14:00:54 -0700 Subject: [PATCH] RemoteInput: add logging and metrics Bug: 28277176 Change-Id: I79421927cc686f989231c29dd505b70ed22739f7 --- .../statusbar/policy/RemoteInputView.java | 11 +++++++++++ proto/src/metrics_constants.proto | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) 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 0fdd99fe7f58d..dd2c600e2f432 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 }