diff options
| author | 2024-05-16 06:12:39 +0000 | |
|---|---|---|
| committer | 2024-05-16 06:12:39 +0000 | |
| commit | ebdc8aa67657d1f348ae60eabfb128d4dc2a5239 (patch) | |
| tree | 578dc8928ff740d390fa9b49907616aed0427e4e | |
| parent | c3b69933d06799a6fa5ab274669983a472df2f5f (diff) | |
| parent | c0b20d85df56634437bfa7bf7b3e58f1a645739f (diff) | |
Merge "Update `ACCESSIBILITY_SHORTCUT_STATS` to include qs shortcut types" into main
| -rw-r--r-- | core/java/com/android/internal/accessibility/util/AccessibilityStatsLogUtils.java | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/stats/pull/StatsPullAtomService.java | 54 |
2 files changed, 37 insertions, 22 deletions
diff --git a/core/java/com/android/internal/accessibility/util/AccessibilityStatsLogUtils.java b/core/java/com/android/internal/accessibility/util/AccessibilityStatsLogUtils.java index 6864bf7bae16..8e18f842a055 100644 --- a/core/java/com/android/internal/accessibility/util/AccessibilityStatsLogUtils.java +++ b/core/java/com/android/internal/accessibility/util/AccessibilityStatsLogUtils.java @@ -24,6 +24,7 @@ import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE; +import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SERVICE_STATUS__DISABLED; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SERVICE_STATUS__ENABLED; @@ -32,6 +33,7 @@ import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_BUTTON_LONG_PRESS; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_FLOATING_MENU; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_GESTURE; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__QUICK_SETTINGS; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__TRIPLE_TAP; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__TWO_FINGER_TRIPLE_TAP; import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__UNKNOWN_TYPE; @@ -48,7 +50,6 @@ import android.content.ComponentName; import android.content.Context; import android.provider.Settings; -import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType; import com.android.internal.util.FrameworkStatsLog; @@ -248,6 +249,8 @@ public final class AccessibilityStatsLogUtils { } case HARDWARE: return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__VOLUME_KEY; + case QUICK_SETTINGS: + return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__QUICK_SETTINGS; } return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__UNKNOWN_TYPE; } diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 3beeaedb59cc..3b9ad1915478 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -49,10 +49,13 @@ import static android.util.MathUtils.constrain; import static android.view.Display.HdrCapabilities.HDR_TYPE_INVALID; import static com.android.internal.util.ConcurrentUtils.DIRECT_EXECUTOR; -import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_BUTTON; -import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_FLOATING_MENU; -import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_GESTURE; -import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__UNKNOWN_TYPE; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__GESTURE_SHORTCUT_TYPE__TRIPLE_TAP; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__HARDWARE_SHORTCUT_TYPE__VOLUME_KEY; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__QS_SHORTCUT_TYPE__QUICK_SETTINGS; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__A11Y_BUTTON; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__A11Y_FLOATING_MENU; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__A11Y_GESTURE; +import static com.android.internal.util.FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__UNKNOWN_TYPE; import static com.android.internal.util.FrameworkStatsLog.DATA_USAGE_BYTES_TRANSFER__OPPORTUNISTIC_DATA_SUB__NOT_OPPORTUNISTIC; import static com.android.internal.util.FrameworkStatsLog.DATA_USAGE_BYTES_TRANSFER__OPPORTUNISTIC_DATA_SUB__OPPORTUNISTIC; import static com.android.internal.util.FrameworkStatsLog.TIME_ZONE_DETECTOR_STATE__DETECTION_MODE__GEO; @@ -792,7 +795,7 @@ public class StatsPullAtomService extends SystemService { case FrameworkStatsLog.KEYSTORE2_CRASH_STATS: return pullKeystoreAtoms(atomTag, data); case FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS: - return pullAccessibilityShortcutStatsLocked(atomTag, data); + return pullAccessibilityShortcutStatsLocked(data); case FrameworkStatsLog.ACCESSIBILITY_FLOATING_MENU_STATS: return pullAccessibilityFloatingMenuStatsLocked(atomTag, data); case FrameworkStatsLog.MEDIA_CAPABILITIES: @@ -4767,7 +4770,10 @@ public class StatsPullAtomService extends SystemService { } } - int pullAccessibilityShortcutStatsLocked(int atomTag, List<StatsEvent> pulledData) { + /** + * Pulls ACCESSIBILITY_SHORTCUT_STATS atom + */ + int pullAccessibilityShortcutStatsLocked(List<StatsEvent> pulledData) { UserManager userManager = mContext.getSystemService(UserManager.class); if (userManager == null) { return StatsManager.PULL_SKIP; @@ -4775,10 +4781,6 @@ public class StatsPullAtomService extends SystemService { final long token = Binder.clearCallingIdentity(); try { final ContentResolver resolver = mContext.getContentResolver(); - final int hardware_shortcut_type = - FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__VOLUME_KEY; - final int triple_tap_shortcut = - FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__TRIPLE_TAP; for (UserInfo userInfo : userManager.getUsers()) { final int userId = userInfo.getUserHandle().getIdentifier(); @@ -4796,15 +4798,22 @@ public class StatsPullAtomService extends SystemService { final int hardware_shortcut_service_num = countAccessibilityServices( hardware_shortcut_list); + final String qs_shortcut_list = Settings.Secure.getStringForUser(resolver, + Settings.Secure.ACCESSIBILITY_QS_TARGETS, userId); + final boolean qs_shortcut_enabled = !TextUtils.isEmpty(qs_shortcut_list); + // only allow magnification to use it for now final int triple_tap_service_num = Settings.Secure.getIntForUser(resolver, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0, userId); - - pulledData.add( - FrameworkStatsLog.buildStatsEvent(atomTag, - software_shortcut_type, software_shortcut_service_num, - hardware_shortcut_type, hardware_shortcut_service_num, - triple_tap_shortcut, triple_tap_service_num)); + pulledData.add(FrameworkStatsLog.buildStatsEvent( + FrameworkStatsLog.ACCESSIBILITY_SHORTCUT_STATS, + software_shortcut_type, software_shortcut_service_num, + ACCESSIBILITY_SHORTCUT_STATS__HARDWARE_SHORTCUT_TYPE__VOLUME_KEY, + hardware_shortcut_service_num, + ACCESSIBILITY_SHORTCUT_STATS__GESTURE_SHORTCUT_TYPE__TRIPLE_TAP, + triple_tap_service_num, + ACCESSIBILITY_SHORTCUT_STATS__QS_SHORTCUT_TYPE__QUICK_SETTINGS, + qs_shortcut_enabled)); } } } catch (RuntimeException e) { @@ -5143,16 +5152,19 @@ public class StatsPullAtomService extends SystemService { Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, userId); final String hardware_shortcut_list = Settings.Secure.getStringForUser(resolver, Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE, userId); + final String qs_shortcut_list = Settings.Secure.getStringForUser(resolver, + Settings.Secure.ACCESSIBILITY_QS_TARGETS, userId); final boolean hardware_shortcut_dialog_shown = Settings.Secure.getIntForUser(resolver, Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 0, userId) == 1; final boolean software_shortcut_enabled = !TextUtils.isEmpty(software_shortcut_list); final boolean hardware_shortcut_enabled = hardware_shortcut_dialog_shown && !TextUtils.isEmpty(hardware_shortcut_list); + final boolean qs_shortcut_enabled = !TextUtils.isEmpty(qs_shortcut_list); final boolean triple_tap_shortcut_enabled = Settings.Secure.getIntForUser(resolver, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0, userId) == 1; return software_shortcut_enabled || hardware_shortcut_enabled - || triple_tap_shortcut_enabled; + || triple_tap_shortcut_enabled || qs_shortcut_enabled; } private boolean isAccessibilityFloatingMenuUser(Context context, @UserIdInt int userId) { @@ -5169,13 +5181,13 @@ public class StatsPullAtomService extends SystemService { private int convertToAccessibilityShortcutType(int shortcutType) { switch (shortcutType) { case Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR: - return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_BUTTON; + return ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__A11Y_BUTTON; case Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU: - return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_FLOATING_MENU; + return ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__A11Y_FLOATING_MENU; case Settings.Secure.ACCESSIBILITY_BUTTON_MODE_GESTURE: - return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__A11Y_GESTURE; + return ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__A11Y_GESTURE; default: - return ACCESSIBILITY_SHORTCUT_REPORTED__SHORTCUT_TYPE__UNKNOWN_TYPE; + return ACCESSIBILITY_SHORTCUT_STATS__SOFTWARE_SHORTCUT_TYPE__UNKNOWN_TYPE; } } |