diff options
| author | Mehdi Alizadeh <mett@google.com> | 2019-04-25 14:52:02 -0700 |
|---|---|---|
| committer | Mehdi Alizadeh <mett@google.com> | 2019-05-06 12:35:03 -0700 |
| commit | 97fb3ed8bcc29cfd60d47afa0997ddd2a805983f (patch) | |
| tree | 52876a07eb76cc0b30e88869c007f5bc97143968 /core/java | |
| parent | cc1159a166977dae4692231d4f5a950bc0c94a17 (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.java | 20 |
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); |
