diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index 3fee914f2def1..781b6d5459ca4 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -971,7 +971,8 @@ public class ChooserActivity extends ResolverActivity implements getChooserActivityLogger().logShareTargetSelected( SELECTION_TYPE_COPY, "", - -1); + -1, + false); setResult(RESULT_OK); finish(); @@ -1155,7 +1156,8 @@ public class ChooserActivity extends ResolverActivity implements getChooserActivityLogger().logShareTargetSelected( SELECTION_TYPE_NEARBY, "", - -1); + -1, + false); // Action bar is user-independent, always start as primary safelyStartActivityAsUser(ti, getPersonalProfileUserHandle()); finish(); @@ -1177,7 +1179,8 @@ public class ChooserActivity extends ResolverActivity implements getChooserActivityLogger().logShareTargetSelected( SELECTION_TYPE_EDIT, "", - -1); + -1, + false); // Action bar is user-independent, always start as primary safelyStartActivityAsUser(ti, getPersonalProfileUserHandle()); finish(); @@ -1754,7 +1757,8 @@ public class ChooserActivity extends ResolverActivity implements target.getComponentName().getPackageName() + target.getTitle().toString(), mMaxHashSaltDays); - directTargetAlsoRanked = getRankedPosition((SelectableTargetInfo) targetInfo); + SelectableTargetInfo selectableTargetInfo = (SelectableTargetInfo) targetInfo; + directTargetAlsoRanked = getRankedPosition(selectableTargetInfo); if (mCallerChooserTargets != null) { numCallerProvided = mCallerChooserTargets.length; @@ -1762,7 +1766,8 @@ public class ChooserActivity extends ResolverActivity implements getChooserActivityLogger().logShareTargetSelected( SELECTION_TYPE_SERVICE, targetInfo.getResolveInfo().activityInfo.processName, - value + value, + selectableTargetInfo.isPinned() ); break; case ChooserListAdapter.TARGET_CALLER: @@ -1773,7 +1778,8 @@ public class ChooserActivity extends ResolverActivity implements getChooserActivityLogger().logShareTargetSelected( SELECTION_TYPE_APP, targetInfo.getResolveInfo().activityInfo.processName, - value + value, + targetInfo.isPinned() ); break; case ChooserListAdapter.TARGET_STANDARD_AZ: @@ -1784,7 +1790,8 @@ public class ChooserActivity extends ResolverActivity implements getChooserActivityLogger().logShareTargetSelected( SELECTION_TYPE_STANDARD, targetInfo.getResolveInfo().activityInfo.processName, - value + value, + false ); break; } diff --git a/core/java/com/android/internal/app/ChooserActivityLogger.java b/core/java/com/android/internal/app/ChooserActivityLogger.java index 3217307864719..bb7d50af4200e 100644 --- a/core/java/com/android/internal/app/ChooserActivityLogger.java +++ b/core/java/com/android/internal/app/ChooserActivityLogger.java @@ -34,7 +34,8 @@ public interface ChooserActivityLogger { int appProvidedApp, boolean isWorkprofile, int previewType, String intent); /** Logs a UiEventReported event for the system sharesheet when the user selects a target. */ - void logShareTargetSelected(int targetType, String packageName, int positionPicked); + void logShareTargetSelected(int targetType, String packageName, int positionPicked, + boolean isPinned); /** Logs a UiEventReported event for the system sharesheet being triggered by the user. */ default void logSharesheetTriggered() { diff --git a/core/java/com/android/internal/app/ChooserActivityLoggerImpl.java b/core/java/com/android/internal/app/ChooserActivityLoggerImpl.java index 48bdba3f5dae2..e3cc4f12fcc67 100644 --- a/core/java/com/android/internal/app/ChooserActivityLoggerImpl.java +++ b/core/java/com/android/internal/app/ChooserActivityLoggerImpl.java @@ -51,12 +51,14 @@ public class ChooserActivityLoggerImpl implements ChooserActivityLogger { } @Override - public void logShareTargetSelected(int targetType, String packageName, int positionPicked) { + public void logShareTargetSelected(int targetType, String packageName, int positionPicked, + boolean isPinned) { FrameworkStatsLog.write(FrameworkStatsLog.RANKING_SELECTED, /* event_id = 1 */ SharesheetTargetSelectedEvent.fromTargetType(targetType).getId(), /* package_name = 2 */ packageName, /* instance_id = 3 */ getInstanceId().getId(), - /* position_picked = 4 */ positionPicked); + /* position_picked = 4 */ positionPicked, + /* is_pinned = 5 */ isPinned); } @Override diff --git a/core/java/com/android/internal/logging/UiEventLoggerImpl.java b/core/java/com/android/internal/logging/UiEventLoggerImpl.java index 983e0fe6144e4..ffbf646a345c5 100644 --- a/core/java/com/android/internal/logging/UiEventLoggerImpl.java +++ b/core/java/com/android/internal/logging/UiEventLoggerImpl.java @@ -69,7 +69,8 @@ public class UiEventLoggerImpl implements UiEventLogger { /* event_id = 1 */ eventID, /* package_name = 2 */ packageName, /* instance_id = 3 */ 0, - /* position_picked = 4 */ position); + /* position_picked = 4 */ position, + /* is_pinned = 5 */ false); } } @@ -82,7 +83,8 @@ public class UiEventLoggerImpl implements UiEventLogger { /* event_id = 1 */ eventID, /* package_name = 2 */ packageName, /* instance_id = 3 */ instance.getId(), - /* position_picked = 4 */ position); + /* position_picked = 4 */ position, + /* is_pinned = 5 */ false); } else if ((eventID > 0)) { logWithPosition(event, uid, packageName, position); } diff --git a/core/tests/coretests/src/com/android/internal/app/ChooserActivityLoggerFake.java b/core/tests/coretests/src/com/android/internal/app/ChooserActivityLoggerFake.java index 2ecc26179964d..0dca638472693 100644 --- a/core/tests/coretests/src/com/android/internal/app/ChooserActivityLoggerFake.java +++ b/core/tests/coretests/src/com/android/internal/app/ChooserActivityLoggerFake.java @@ -44,6 +44,7 @@ public class ChooserActivityLoggerFake implements ChooserActivityLogger { // share completed fields public int targetType; public int positionPicked; + public boolean isPinned; CallRecord(int atomId, UiEventLogger.UiEventEnum eventId, String packageName, InstanceId instanceId) { @@ -68,12 +69,13 @@ public class ChooserActivityLoggerFake implements ChooserActivityLogger { } CallRecord(int atomId, String packageName, InstanceId instanceId, int targetType, - int positionPicked) { + int positionPicked, boolean isPinned) { this.atomId = atomId; this.packageName = packageName; this.instanceId = instanceId; this.targetType = targetType; this.positionPicked = positionPicked; + this.isPinned = isPinned; } } @@ -112,9 +114,11 @@ public class ChooserActivityLoggerFake implements ChooserActivityLogger { } @Override - public void logShareTargetSelected(int targetType, String packageName, int positionPicked) { + public void logShareTargetSelected(int targetType, String packageName, int positionPicked, + boolean isPinned) { mCalls.add(new CallRecord(FrameworkStatsLog.RANKING_SELECTED, packageName, getInstanceId(), - SharesheetTargetSelectedEvent.fromTargetType(targetType).getId(), positionPicked)); + SharesheetTargetSelectedEvent.fromTargetType(targetType).getId(), positionPicked, + isPinned)); } @Override