summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorMehdi Alizadeh <mett@google.com>2019-04-25 14:52:02 -0700
committerMehdi Alizadeh <mett@google.com>2019-05-06 12:35:03 -0700
commit97fb3ed8bcc29cfd60d47afa0997ddd2a805983f (patch)
tree52876a07eb76cc0b30e88869c007f5bc97143968 /core/java
parentcc1159a166977dae4692231d4f5a950bc0c94a17 (diff)
Collects metrics for the new Sharing Shortcuts api
Bug: 122904954 Test: atest com.android.server.pm.ShortcutManagerTest1 \ com.android.server.pm.ShortcutManagerTest2 \ com.android.server.pm.ShortcutManagerTest3 \ com.android.server.pm.ShortcutManagerTest4 \ com.android.server.pm.ShortcutManagerTest5 \ com.android.server.pm.ShortcutManagerTest6 \ com.android.server.pm.ShortcutManagerTest7 \ com.android.server.pm.ShortcutManagerTest8 \ com.android.server.pm.ShortcutManagerTest9 \ com.android.server.pm.ShortcutManagerTest10 Change-Id: Ifafcaa789814618846d41431d6190e4d79e871e5
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 9a34ffae2a2e..b7d838edadc5 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -202,6 +202,9 @@ public class ChooserActivity extends ResolverActivity {
private long mChooserShownTime;
protected boolean mIsSuccessfullySelected;
+ private long mQueriedTargetServicesTimeMs;
+ private long mQueriedSharingShortcutsTimeMs;
+
private ChooserListAdapter mChooserListAdapter;
private ChooserRowAdapter mChooserRowAdapter;
private int mChooserRowServiceSpacing;
@@ -273,6 +276,8 @@ public class ChooserActivity extends ResolverActivity {
sri.connection.destroy();
mServiceConnections.remove(sri.connection);
if (mServiceConnections.isEmpty()) {
+ logDirectShareTargetReceived(
+ MetricsEvent.ACTION_DIRECT_SHARE_TARGETS_LOADED_CHOOSER_SERVICE);
sendVoiceChoicesIfNeeded();
}
break;
@@ -283,6 +288,8 @@ public class ChooserActivity extends ResolverActivity {
}
unbindRemainingServices();
+ logDirectShareTargetReceived(
+ MetricsEvent.ACTION_DIRECT_SHARE_TARGETS_LOADED_CHOOSER_SERVICE);
sendVoiceChoicesIfNeeded();
mChooserListAdapter.completeServiceTargetLoading();
break;
@@ -305,6 +312,8 @@ public class ChooserActivity extends ResolverActivity {
break;
case SHORTCUT_MANAGER_SHARE_TARGET_RESULT_COMPLETED:
+ logDirectShareTargetReceived(
+ MetricsEvent.ACTION_DIRECT_SHARE_TARGETS_LOADED_SHORTCUT_MANAGER);
sendVoiceChoicesIfNeeded();
break;
@@ -1155,6 +1164,8 @@ public class ChooserActivity extends ResolverActivity {
}
void queryTargetServices(ChooserListAdapter adapter) {
+ mQueriedTargetServicesTimeMs = System.currentTimeMillis();
+
final PackageManager pm = getPackageManager();
ShortcutManager sm = (ShortcutManager) getSystemService(ShortcutManager.class);
int targetsToQuery = 0;
@@ -1281,6 +1292,7 @@ public class ChooserActivity extends ResolverActivity {
private void queryDirectShareTargets(
ChooserListAdapter adapter, boolean skipAppPredictionService) {
+ mQueriedSharingShortcutsTimeMs = System.currentTimeMillis();
if (!skipAppPredictionService) {
AppPredictor appPredictor = getAppPredictorForDirectShareIfEnabled();
if (appPredictor != null) {
@@ -1391,6 +1403,14 @@ public class ChooserActivity extends ResolverActivity {
// Do nothing. We'll send the voice stuff ourselves.
}
+ private void logDirectShareTargetReceived(int logCategory) {
+ final long queryTime =
+ logCategory == MetricsEvent.ACTION_DIRECT_SHARE_TARGETS_LOADED_SHORTCUT_MANAGER
+ ? mQueriedSharingShortcutsTimeMs : mQueriedTargetServicesTimeMs;
+ final int apiLatency = (int) (System.currentTimeMillis() - queryTime);
+ getMetricsLogger().write(new LogMaker(logCategory).setSubtype(apiLatency));
+ }
+
void updateModelAndChooserCounts(TargetInfo info) {
if (info != null) {
sendClickToAppPredictor(info);