diff options
| author | Stanislav Zholnin <zholnin@google.com> | 2020-03-15 14:30:00 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-03-15 14:30:00 +0000 |
| commit | decfe4b3316285898e665eeb4ab03332565a1ae4 (patch) | |
| tree | fa67615da55afc461820199b5b284a2cc563c433 /core/java | |
| parent | 1c888e2dbb51b0e3c3eaf8d52ea11ee5cc78b990 (diff) | |
| parent | 48811ee600c69b978fbeba1930f63aca561e8ce6 (diff) | |
Merge "Add logging operation ids." into rvc-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/AppOpsManager.java | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index 51bcdf5ddbbc..679c83a41d41 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -2334,6 +2334,114 @@ public class AppOpsManager { }; /** + * This maps each operation to its statsd logging code. + */ + private static int[] sOpToLoggingId = new int[]{ + AppProtoEnums.APP_OP_COARSE_LOCATION, // OP_COARSE_LOCATION + AppProtoEnums.APP_OP_FINE_LOCATION, // OP_FINE_LOCATION + AppProtoEnums.APP_OP_GPS, // OP_ID__GPS + AppProtoEnums.APP_OP_VIBRATE, // OP_VIBRATE + AppProtoEnums.APP_OP_READ_CONTACTS, // OP_READ_CONTACTS + AppProtoEnums.APP_OP_WRITE_CONTACTS, // OP_WRITE_CONTACTS + AppProtoEnums.APP_OP_READ_CALL_LOG, // OP_READ_CALL_LOG + AppProtoEnums.APP_OP_WRITE_CALL_LOG, // OP_WRITE_CALL_LOG + AppProtoEnums.APP_OP_READ_CALENDAR, // OP_READ_CALENDAR + AppProtoEnums.APP_OP_WRITE_CALENDAR, // OP_WRITE_CALENDAR + AppProtoEnums.APP_OP_WIFI_SCAN, // OP_WIFI_SCAN + AppProtoEnums.APP_OP_POST_NOTIFICATION, // OP_POST_NOTIFICATION + AppProtoEnums.APP_OP_NEIGHBORING_CELLS, // OP_NEIGHBORING_CELLS + AppProtoEnums.APP_OP_CALL_PHONE, // OP_CALL_PHONE + AppProtoEnums.APP_OP_READ_SMS, // OP_READ_SMS + AppProtoEnums.APP_OP_WRITE_SMS, // OP_WRITE_SMS + AppProtoEnums.APP_OP_RECEIVE_SMS, // OP_RECEIVE_SMS + AppProtoEnums.APP_OP_RECEIVE_EMERGENCY_SMS, // OP_RECEIVE_EMERGENCY_SMS + AppProtoEnums.APP_OP_RECEIVE_MMS, // OP_RECEIVE_MMS + AppProtoEnums.APP_OP_RECEIVE_WAP_PUSH, // OP_RECEIVE_WAP_PUSH + AppProtoEnums.APP_OP_SEND_SMS, // OP_SEND_SMS + AppProtoEnums.APP_OP_READ_ICC_SMS, // OP_READ_ICC_SMS + AppProtoEnums.APP_OP_WRITE_ICC_SMS, // OP_WRITE_ICC_SMS + AppProtoEnums.APP_OP_WRITE_SETTINGS, // OP_WRITE_SETTINGS + AppProtoEnums.APP_OP_SYSTEM_ALERT_WINDOW, // OP_SYSTEM_ALERT_WINDOW + AppProtoEnums.APP_OP_ACCESS_NOTIFICATIONS, // OP_ACCESS_NOTIFICATIONS + AppProtoEnums.APP_OP_CAMERA, // OP_CAMERA + AppProtoEnums.APP_OP_RECORD_AUDIO, // OP_RECORD_AUDIO + AppProtoEnums.APP_OP_PLAY_AUDIO, // OP_PLAY_AUDIO + AppProtoEnums.APP_OP_READ_CLIPBOARD, // OP_READ_CLIPBOARD + AppProtoEnums.APP_OP_WRITE_CLIPBOARD, // OP_WRITE_CLIPBOARD + AppProtoEnums.APP_OP_TAKE_MEDIA_BUTTONS, // OP_TAKE_MEDIA_BUTTONS + AppProtoEnums.APP_OP_TAKE_AUDIO_FOCUS, // OP_TAKE_AUDIO_FOCUS + AppProtoEnums.APP_OP_AUDIO_MASTER_VOLUME, // OP_AUDIO_MASTER_VOLUME + AppProtoEnums.APP_OP_AUDIO_VOICE_VOLUME, // OP_AUDIO_VOICE_VOLUME + AppProtoEnums.APP_OP_AUDIO_RING_VOLUME, // OP_AUDIO_RING_VOLUME + AppProtoEnums.APP_OP_AUDIO_MEDIA_VOLUME, // OP_AUDIO_MEDIA_VOLUME + AppProtoEnums.APP_OP_AUDIO_ALARM_VOLUME, // OP_AUDIO_ALARM_VOLUME + AppProtoEnums.APP_OP_AUDIO_NOTIFICATION_VOLUME, // OP_AUDIO_NOTIFICATION_VOLUME + AppProtoEnums.APP_OP_AUDIO_BLUETOOTH_VOLUME, // OP_AUDIO_BLUETOOTH_VOLUME + AppProtoEnums.APP_OP_WAKE_LOCK, // OP_WAKE_LOCK + AppProtoEnums.APP_OP_MONITOR_LOCATION, // OP_MONITOR_LOCATION + AppProtoEnums.APP_OP_MONITOR_HIGH_POWER_LOCATION, // OP_MONITOR_HIGH_POWER_LOCATION + AppProtoEnums.APP_OP_GET_USAGE_STATS, // OP_GET_USAGE_STATS + AppProtoEnums.APP_OP_MUTE_MICROPHONE, //OP_MUTE_MICROPHONE + AppProtoEnums.APP_OP_TOAST_WINDOW, // OP_TOAST_WINDOW + AppProtoEnums.APP_OP_PROJECT_MEDIA, // OP_PROJECT_MEDIA + AppProtoEnums.APP_OP_ACTIVATE_VPN, // OP_ACTIVATE_VPN + AppProtoEnums.APP_OP_WRITE_WALLPAPER, // OP_WRITE_WALLPAPER + AppProtoEnums.APP_OP_ASSIST_STRUCTURE, // OP_ASSIST_STRUCTURE + AppProtoEnums.APP_OP_ASSIST_SCREENSHOT, // OP_ASSIST_SCREENSHOT + AppProtoEnums.APP_OP_READ_PHONE_STATE, // OP_READ_PHONE_STATE + AppProtoEnums.APP_OP_ADD_VOICEMAIL, // OP_ADD_VOICEMAIL + AppProtoEnums.APP_OP_USE_SIP, // OP_USE_SIP + AppProtoEnums.APP_OP_PROCESS_OUTGOING_CALLS, // OP_PROCESS_OUTGOING_CALLS + AppProtoEnums.APP_OP_USE_FINGERPRINT, // OP_USE_FINGERPRINT + AppProtoEnums.APP_OP_BODY_SENSORS, // OP_BODY_SENSORS + AppProtoEnums.APP_OP_READ_CELL_BROADCASTS, // OP_READ_CELL_BROADCASTS + AppProtoEnums.APP_OP_MOCK_LOCATION, // OP_MOCK_LOCATION + AppProtoEnums.APP_OP_READ_EXTERNAL_STORAGE, // OP_READ_EXTERNAL_STORAGE + AppProtoEnums.APP_OP_WRITE_EXTERNAL_STORAGE, // OP_WRITE_EXTERNAL_STORAGE + AppProtoEnums.APP_OP_TURN_SCREEN_ON, // OP_TURN_SCREEN_ON + AppProtoEnums.APP_OP_GET_ACCOUNTS, // OP_GET_ACCOUNTS + AppProtoEnums.APP_OP_RUN_IN_BACKGROUND, // OP_RUN_IN_BACKGROUND + AppProtoEnums.APP_OP_AUDIO_ACCESSIBILITY_VOLUME, // OP_AUDIO_ACCESSIBILITY_VOLUME + AppProtoEnums.APP_OP_READ_PHONE_NUMBERS, // OP_READ_PHONE_NUMBERS + AppProtoEnums.APP_OP_REQUEST_INSTALL_PACKAGES, // OP_REQUEST_INSTALL_PACKAGES + AppProtoEnums.APP_OP_PICTURE_IN_PICTURE, // OP_PICTURE_IN_PICTURE + AppProtoEnums.APP_OP_INSTANT_APP_START_FOREGROUND, // OP_INSTANT_APP_START_FOREGROUND + AppProtoEnums.APP_OP_ANSWER_PHONE_CALLS, // OP_ANSWER_PHONE_CALLS + AppProtoEnums.APP_OP_RUN_ANY_IN_BACKGROUND, // OP_RUN_ANY_IN_BACKGROUND + AppProtoEnums.APP_OP_CHANGE_WIFI_STATE, // OP_CHANGE_WIFI_STATE + AppProtoEnums.APP_OP_REQUEST_DELETE_PACKAGES, // OP_REQUEST_DELETE_PACKAGES + AppProtoEnums.APP_OP_BIND_ACCESSIBILITY_SERVICE, // OP_BIND_ACCESSIBILITY_SERVICE + AppProtoEnums.APP_OP_ACCEPT_HANDOVER, // OP_ACCEPT_HANDOVER + AppProtoEnums.APP_OP_MANAGE_IPSEC_TUNNELS, // OP_MANAGE_IPSEC_TUNNELS + AppProtoEnums.APP_OP_START_FOREGROUND, // OP_START_FOREGROUND + AppProtoEnums.APP_OP_BLUETOOTH_SCAN, // OP_BLUETOOTH_SCAN + AppProtoEnums.APP_OP_USE_BIOMETRIC, // OP_USE_BIOMETRIC + AppProtoEnums.APP_OP_ACTIVITY_RECOGNITION, // OP_ACTIVITY_RECOGNITION + AppProtoEnums.APP_OP_SMS_FINANCIAL_TRANSACTIONS, // OP_SMS_FINANCIAL_TRANSACTIONS + AppProtoEnums.APP_OP_READ_MEDIA_AUDIO, // OP_READ_MEDIA_AUDIO + AppProtoEnums.APP_OP_WRITE_MEDIA_AUDIO, // OP_WRITE_MEDIA_AUDIO + AppProtoEnums.APP_OP_READ_MEDIA_VIDEO, // OP_READ_MEDIA_VIDEO + AppProtoEnums.APP_OP_WRITE_MEDIA_VIDEO, // OP_WRITE_MEDIA_VIDEO + AppProtoEnums.APP_OP_READ_MEDIA_IMAGES, // OP_READ_MEDIA_IMAGES + AppProtoEnums.APP_OP_WRITE_MEDIA_IMAGES, // OP_WRITE_MEDIA_IMAGES + AppProtoEnums.APP_OP_LEGACY_STORAGE, // OP_LEGACY_STORAGE + AppProtoEnums.APP_OP_ACCESS_ACCESSIBILITY, // OP_ACCESS_ACCESSIBILITY + AppProtoEnums.APP_OP_READ_DEVICE_IDENTIFIERS, // OP_READ_DEVICE_IDENTIFIERS + AppProtoEnums.APP_OP_ACCESS_MEDIA_LOCATION, // OP_ACCESS_MEDIA_LOCATION + AppProtoEnums.APP_OP_QUERY_ALL_PACKAGES, // OP_QUERY_ALL_PACKAGES + AppProtoEnums.APP_OP_MANAGE_EXTERNAL_STORAGE, // OP_MANAGE_EXTERNAL_STORAGE + AppProtoEnums.APP_OP_INTERACT_ACROSS_PROFILES, // OP_INTERACT_ACROSS_PROFILES + AppProtoEnums.APP_OP_ACTIVATE_PLATFORM_VPN, // OP_ACTIVATE_PLATFORM_VPN + AppProtoEnums.APP_OP_LOADER_USAGE_STATS, // OP_LOADER_USAGE_STATS + AppProtoEnums.APP_OP_ACCESS_CALL_AUDIO, // OP_ACCESS_CALL_AUDIO + AppProtoEnums.APP_OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED, + // OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED + AppProtoEnums.APP_OP_AUTO_REVOKE_MANAGED_BY_INSTALLER + //OP_AUTO_REVOKE_MANAGED_BY_INSTALLER + }; + + + /** * Mapping from an app op name to the app op code. */ private static HashMap<String, Integer> sOpStrToOp = new HashMap<>(); @@ -2374,6 +2482,10 @@ public class AppOpsManager { throw new IllegalStateException("sOpToString length " + sOpToString.length + " should be " + _NUM_OP); } + if (sOpToLoggingId.length != _NUM_OP) { + throw new IllegalStateException("sOpToLoggingId length " + sOpToLoggingId.length + + " should be " + _NUM_OP); + } if (sOpNames.length != _NUM_OP) { throw new IllegalStateException("sOpNames length " + sOpNames.length + " should be " + _NUM_OP); @@ -2458,6 +2570,15 @@ public class AppOpsManager { } /** + * Retrieve a logging id for the operation. + * + * @hide + */ + public static int opToLoggingId(int op) { + return sOpToLoggingId[op]; + } + + /** * @hide */ public static int strDebugOpToOp(String op) { @@ -5911,6 +6032,11 @@ public class AppOpsManager { return mOp; } + /** @hide */ + public int getLoggingOpCode() { + return AppOpsManager.opToLoggingId(mOp); + } + /** * Gets the number times the op was accessed (performed) in the foreground. * |
