a step toward enforcing unique metrics log IDs
First of several change lists:
1. Add in the new proto (this CL)
2. Migrate the existing code over to the proto.
3. Remove MetricsConstants once it is unused.
Bug: 26442178
Change-Id: Ic24829246af8ec5b202e39a85960aac5cf336c33
diff --git a/proto/Android.mk b/proto/Android.mk
new file mode 100644
index 0000000..a13a780
--- /dev/null
+++ b/proto/Android.mk
@@ -0,0 +1,16 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := framework-protos
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := nano
+LOCAL_SRC_FILES:= $(call all-proto-files-under, src)
+LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt
+
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj core-libart
+
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/jarjar-rules.txt
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/proto/jarjar-rules.txt b/proto/jarjar-rules.txt
new file mode 100644
index 0000000..0c77c2a
--- /dev/null
+++ b/proto/jarjar-rules.txt
@@ -0,0 +1 @@
+rule com.google.** com.android.@1
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto
new file mode 100644
index 0000000..fa3a47d
--- /dev/null
+++ b/proto/src/metrics_constants.proto
@@ -0,0 +1,325 @@
+// Copyright (C) 2016 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto2";
+
+option java_package = "com.android.internal.logging";
+option java_outer_classname = "MetricsProto";
+
+package com_android_internal_logging;
+
+// Wrapper for System UI log events
+message MetricsEvent {
+
+ // Known visual elements: views or controls.
+ enum View {
+ VIEW_UNKNOWN = 0;
+ MAIN_SETTINGS = 1;
+ ACCESSIBILITY = 2;
+ ACCESSIBILITY_CAPTION_PROPERTIES = 3;
+ ACCESSIBILITY_SERVICE = 4;
+ ACCESSIBILITY_TOGGLE_DALTONIZER = 5;
+ ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE = 6;
+ ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION = 7;
+ ACCOUNT = 8;
+ ACCOUNTS_ACCOUNT_SYNC = 9;
+ ACCOUNTS_CHOOSE_ACCOUNT_ACTIVITY = 10;
+ ACCOUNTS_MANAGE_ACCOUNTS = 11;
+ APN = 12;
+ APN_EDITOR = 13;
+ APP_OPS_DETAILS = 14;
+ APP_OPS_SUMMARY = 15;
+ APPLICATION = 16;
+ APPLICATIONS_APP_LAUNCH = 17;
+ APPLICATIONS_APP_PERMISSION = 18;
+ APPLICATIONS_APP_STORAGE = 19;
+ APPLICATIONS_INSTALLED_APP_DETAILS = 20;
+ APPLICATIONS_PROCESS_STATS_DETAIL = 21;
+ APPLICATIONS_PROCESS_STATS_MEM_DETAIL = 22;
+ APPLICATIONS_PROCESS_STATS_UI = 23;
+ BLUETOOTH = 24;
+ BLUETOOTH_DEVICE_PICKER = 25;
+ BLUETOOTH_DEVICE_PROFILES = 26;
+ CHOOSE_LOCK_GENERIC = 27;
+ CHOOSE_LOCK_PASSWORD = 28;
+ CHOOSE_LOCK_PATTERN = 29;
+ CONFIRM_LOCK_PASSWORD = 30;
+ CONFIRM_LOCK_PATTERN = 31;
+ CRYPT_KEEPER = 32;
+ CRYPT_KEEPER_CONFIRM = 33;
+ DASHBOARD_SEARCH_RESULTS = 34;
+ DASHBOARD_SUMMARY = 35;
+ DATA_USAGE = 36;
+ DATA_USAGE_SUMMARY = 37;
+ DATE_TIME = 38;
+ DEVELOPMENT = 39;
+ DEVICEINFO = 40;
+ DEVICEINFO_IMEI_INFORMATION = 41;
+ DEVICEINFO_STORAGE = 42;
+ DEVICEINFO_SIM_STATUS = 43;
+ DEVICEINFO_STATUS = 44;
+ DEVICEINFO_USB = 45;
+ DISPLAY = 46;
+ DREAM = 47;
+ ENCRYPTION = 48;
+ FINGERPRINT = 49;
+ FINGERPRINT_ENROLL = 50;
+ FUELGAUGE_BATTERY_HISTORY_DETAIL = 51;
+ FUELGAUGE_BATTERY_SAVER = 52;
+ FUELGAUGE_POWER_USAGE_DETAIL = 53;
+ FUELGAUGE_POWER_USAGE_SUMMARY = 54;
+ HOME = 55;
+ ICC_LOCK = 56;
+ INPUTMETHOD_LANGUAGE = 57;
+ INPUTMETHOD_KEYBOARD = 58;
+ INPUTMETHOD_SPELL_CHECKERS = 59;
+ INPUTMETHOD_SUBTYPE_ENABLER = 60;
+ INPUTMETHOD_USER_DICTIONARY = 61;
+ INPUTMETHOD_USER_DICTIONARY_ADD_WORD = 62;
+ LOCATION = 63;
+ LOCATION_MODE = 64;
+ MANAGE_APPLICATIONS = 65;
+ MASTER_CLEAR = 66;
+ MASTER_CLEAR_CONFIRM = 67;
+ NET_DATA_USAGE_METERED = 68;
+ NFC_BEAM = 69;
+ NFC_PAYMENT = 70;
+ NOTIFICATION = 71;
+ NOTIFICATION_APP_NOTIFICATION = 72;
+ NOTIFICATION_OTHER_SOUND = 73;
+ NOTIFICATION_REDACTION = 74;
+ NOTIFICATION_STATION = 75;
+ NOTIFICATION_ZEN_MODE = 76;
+ OWNER_INFO = 77;
+ PRINT_JOB_SETTINGS = 78;
+ PRINT_SERVICE_SETTINGS = 79;
+ PRINT_SETTINGS = 80;
+ PRIVACY = 81;
+ PROXY_SELECTOR = 82;
+ RESET_NETWORK = 83;
+ RESET_NETWORK_CONFIRM = 84;
+ RUNNING_SERVICE_DETAILS = 85;
+ SCREEN_PINNING = 86;
+ SECURITY = 87;
+ SIM = 88;
+ TESTING = 89;
+ TETHER = 90;
+ TRUST_AGENT = 91;
+ TRUSTED_CREDENTIALS = 92;
+ TTS_ENGINE_SETTINGS = 93;
+ TTS_TEXT_TO_SPEECH = 94;
+ USAGE_ACCESS = 95;
+ USER = 96;
+ USERS_APP_RESTRICTIONS = 97;
+ USER_DETAILS = 98;
+ VOICE_INPUT = 99;
+ VPN = 100;
+ WALLPAPER_TYPE = 101;
+ WFD_WIFI_DISPLAY = 102;
+ WIFI = 103;
+ WIFI_ADVANCED = 104;
+ WIFI_CALLING = 105;
+ WIFI_SAVED_ACCESS_POINTS = 106;
+ WIFI_APITEST = 107;
+ WIFI_INFO = 108;
+ WIFI_P2P = 109;
+ WIRELESS = 110;
+ QS_PANEL = 111;
+ QS_AIRPLANEMODE = 112;
+ QS_BLUETOOTH = 113;
+ QS_CAST = 114;
+ QS_CELLULAR = 115;
+ QS_COLORINVERSION = 116;
+ QS_DATAUSAGEDETAIL = 117;
+ QS_DND = 118;
+ QS_FLASHLIGHT = 119;
+ QS_HOTSPOT = 120;
+ QS_INTENT = 121;
+ QS_LOCATION = 122;
+ QS_ROTATIONLOCK = 123;
+ QS_USERDETAILITE = 124;
+ QS_USERDETAIL = 125;
+ QS_WIFI = 126;
+ NOTIFICATION_PANEL = 127;
+ NOTIFICATION_ITEM = 128;
+ NOTIFICATION_ITEM_ACTION = 129;
+ APPLICATIONS_ADVANCED = 130;
+ LOCATION_SCANNING = 131;
+ MANAGE_APPLICATIONS_ALL = 132;
+ MANAGE_APPLICATIONS_NOTIFICATIONS = 133;
+ ACTION_WIFI_ADD_NETWORK = 134;
+ ACTION_WIFI_CONNECT = 135;
+ ACTION_WIFI_FORCE_SCAN = 136;
+ ACTION_WIFI_FORGET = 137;
+ ACTION_WIFI_OFF = 138;
+ ACTION_WIFI_ON = 139;
+ MANAGE_PERMISSIONS = 140;
+ NOTIFICATION_ZEN_MODE_PRIORITY = 141;
+ NOTIFICATION_ZEN_MODE_AUTOMATION = 142;
+ MANAGE_DOMAIN_URLS = 143;
+ NOTIFICATION_ZEN_MODE_SCHEDULE_RULE = 144;
+ NOTIFICATION_ZEN_MODE_EXTERNAL_RULE = 145;
+ NOTIFICATION_ZEN_MODE_EVENT_RULE = 146;
+ ACTION_BAN_APP_NOTES = 147;
+ ACTION_DISMISS_ALL_NOTES = 148;
+ QS_DND_DETAILS = 149;
+ QS_BLUETOOTH_DETAILS = 150;
+ QS_CAST_DETAILS = 151;
+ QS_WIFI_DETAILS = 152;
+ QS_WIFI_TOGGLE = 153;
+ QS_BLUETOOTH_TOGGLE = 154;
+ QS_CELLULAR_TOGGLE = 155;
+ QS_SWITCH_USER = 156;
+ QS_CAST_SELECT = 157;
+ QS_CAST_DISCONNECT = 158;
+ ACTION_BLUETOOTH_TOGGLE = 159;
+ ACTION_BLUETOOTH_SCAN = 160;
+ ACTION_BLUETOOTH_RENAME = 161;
+ ACTION_BLUETOOTH_FILES = 162;
+ QS_DND_TIME = 163;
+ QS_DND_CONDITION_SELECT = 164;
+ QS_DND_ZEN_SELECT = 165;
+ QS_DND_TOGGLE = 166;
+ ACTION_ZEN_ALLOW_REMINDERS = 167;
+ ACTION_ZEN_ALLOW_EVENTS = 168;
+ ACTION_ZEN_ALLOW_MESSAGES = 169;
+ ACTION_ZEN_ALLOW_CALLS = 170;
+ ACTION_ZEN_ALLOW_REPEAT_CALLS = 171;
+ ACTION_ZEN_ADD_RULE = 172;
+ ACTION_ZEN_ADD_RULE_OK = 173;
+ ACTION_ZEN_DELETE_RULE = 174;
+ ACTION_ZEN_DELETE_RULE_OK = 175;
+ ACTION_ZEN_ENABLE_RULE = 176;
+ ACTION_AIRPLANE_TOGGLE = 177;
+ ACTION_CELL_DATA_TOGGLE = 178;
+ NOTIFICATION_ACCESS = 179;
+ NOTIFICATION_ZEN_MODE_ACCESS = 180;
+ APPLICATIONS_DEFAULT_APPS = 181;
+ APPLICATIONS_STORAGE_APPS = 182;
+ APPLICATIONS_USAGE_ACCESS_DETAIL = 183;
+ APPLICATIONS_HIGH_POWER_APPS = 184;
+ FUELGAUGE_HIGH_POWER_DETAILS = 185;
+ ACTION_LS_UNLOCK = 186;
+ ACTION_LS_SHADE = 187;
+ ACTION_LS_HINT = 188;
+ ACTION_LS_CAMERA = 189;
+ ACTION_LS_DIALER = 190;
+ ACTION_LS_LOCK = 191;
+ ACTION_LS_NOTE = 192;
+ ACTION_LS_QS = 193;
+ ACTION_SHADE_QS_PULL = 194;
+ ACTION_SHADE_QS_TAP = 195;
+ LOCKSCREEN = 196;
+ BOUNCER = 197;
+ SCREEN = 198;
+ NOTIFICATION_ALERT = 199;
+ ACTION_EMERGENCY_CALL = 200;
+ APPLICATIONS_MANAGE_ASSIST = 201;
+ PROCESS_STATS_SUMMARY = 202;
+ ACTION_ROTATION_LOCK = 203;
+ ACTION_NOTE_CONTROLS = 204;
+ ACTION_NOTE_INFO = 205;
+ ACTION_APP_NOTE_SETTINGS = 206;
+ VOLUME_DIALOG = 207;
+ VOLUME_DIALOG_DETAILS = 208;
+ ACTION_VOLUME_SLIDER = 209;
+ ACTION_VOLUME_STREAM = 210;
+ ACTION_VOLUME_KEY = 211;
+ ACTION_VOLUME_ICON = 212;
+ ACTION_RINGER_MODE = 213;
+ ACTION_ACTIVITY_CHOOSER_SHOWN = 214;
+ ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET = 215;
+ ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET = 216;
+ ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET = 217;
+ ACTION_BRIGHTNESS = 218;
+ ACTION_BRIGHTNESS_AUTO = 219;
+ BRIGHTNESS_DIALOG = 220;
+ SYSTEM_ALERT_WINDOW_APPS = 221;
+ DREAMING = 222;
+ DOZING = 223;
+ OVERVIEW_ACTIVITY = 224;
+ ABOUT_LEGAL_SETTINGS = 225;
+ ACTION_SEARCH_RESULTS = 226;
+ TUNER = 227;
+ TUNER_QS = 228;
+ TUNER_DEMO_MODE = 229;
+ TUNER_QS_REORDER = 230;
+ TUNER_QS_ADD = 231;
+ TUNER_QS_REMOVE = 232;
+ TUNER_STATUS_BAR_ENABLE = 233;
+ TUNER_STATUS_BAR_DISABLE = 234;
+ TUNER_DEMO_MODE_ENABLED = 235;
+ TUNER_DEMO_MODE_ON = 236;
+ TUNER_BATTERY_PERCENTAGE = 237;
+ FUELGAUGE_INACTIVE_APPS = 238;
+ ACTION_ASSIST_LONG_PRESS = 239;
+ FINGERPRINT_ENROLLING = 240;
+ FINGERPRINT_FIND_SENSOR = 241;
+ FINGERPRINT_ENROLL_FINISH = 242;
+ FINGERPRINT_ENROLL_INTRO = 243;
+ FINGERPRINT_ENROLL_ONBOARD = 244;
+ FINGERPRINT_ENROLL_SIDECAR = 245;
+ FINGERPRINT_ENROLLING_SETUP = 246;
+ FINGERPRINT_FIND_SENSOR_SETUP = 247;
+ FINGERPRINT_ENROLL_FINISH_SETUP = 248;
+ FINGERPRINT_ENROLL_INTRO_SETUP = 249;
+ FINGERPRINT_ENROLL_ONBOARD_SETUP = 250;
+ ACTION_FINGERPRINT_ENROLL = 251;
+ ACTION_FINGERPRINT_AUTH = 252;
+ ACTION_FINGERPRINT_DELETE = 253;
+ ACTION_FINGERPRINT_RENAME = 254;
+ ACTION_DOUBLE_TAP_POWER_CAMERA_GESTURE = 255;
+ ACTION_WIGGLE_CAMERA_GESTURE = 256;
+ QS_WORKMODE = 257;
+ BACKGROUND_CHECK_SUMMARY = 258;
+ QS_LOCK_TILE = 259;
+ QS_USER_TILE = 260;
+ QS_BATTERY_TILE = 261;
+ NOTIFICATION_ZEN_MODE_VISUAL_INTERRUPTIONS = 262;
+ ACTION_ZEN_ALLOW_PEEK = 263;
+ ACTION_ZEN_ALLOW_LIGHTS = 264;
+ NOTIFICATION_TOPIC_NOTIFICATION = 265;
+ ACTION_DEFAULT_SMS_APP_CHANGED = 266;
+ QS_COLOR_MATRIX = 267;
+ QS_CUSTOM = 268;
+ ACTION_ZEN_ALLOW_SCREEN_ON = 269;
+
+ // Logged when the user docks a window from recents by
+ // longpressing a task and dragging it to the dock area.
+ ACTION_WINDOW_DOCK_DRAG_DROP = 270;
+
+ // Logged when the user docks a fullscreen window by long pressing
+ // recents which also opens recents on the lower/right side.
+ ACTION_WINDOW_DOCK_LONGPRESS = 271;
+
+ // Logged when the user docks a window by dragging from the navbar
+ // which also opens recents on the lower/right side.
+ ACTION_WINDOW_DOCK_SWIPE = 272;
+
+ // Logged when the user launches a profile-specific app and we
+ // intercept it with the confirm credentials UI.
+ PROFILE_CHALLENGE = 273;
+
+ QS_BATTERY_DETAIL = 274;
+
+ // Logged when the user goes into the overview history.
+ OVERVIEW_HISTORY = 275;
+
+ // Logged when the user pages through overview.
+ ACTION_OVERVIEW_PAGE = 276;
+
+ // Logged when the user launches a task from overview.
+ ACTION_OVERVIEW_SELECT = 277;
+ }
+}