1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.appenumeration.cts; 18 19 public class Constants { 20 public static final String PKG_BASE = "android.appenumeration."; 21 public static final String TEST_PKG = "android.appenumeration.cts"; 22 23 /** A package that queries for {@link #TARGET_NO_API} package */ 24 public static final String QUERIES_PACKAGE = PKG_BASE + "queries.pkg"; 25 /** A package has a provider that queries for {@link #TARGET_NO_API} package */ 26 public static final String QUERIES_PACKAGE_PROVIDER = PKG_BASE + "queries.pkg.hasprovider"; 27 /** Queries for the unexported authority in {@link #TARGET_FILTERS} provider */ 28 public static final String QUERIES_UNEXPORTED_PROVIDER_AUTH = 29 PKG_BASE + "queries.provider.authority.unexported"; 30 /** Queries for the unexported action in {@link #TARGET_FILTERS} provider */ 31 public static final String QUERIES_UNEXPORTED_PROVIDER_ACTION = 32 PKG_BASE + "queries.provider.action.unexported"; 33 /** Queries for the unexported action in {@link #TARGET_FILTERS} service filter */ 34 public static final String QUERIES_UNEXPORTED_SERVICE_ACTION = 35 PKG_BASE + "queries.service.action.unexported"; 36 /** Queries for the unexported action in {@link #TARGET_FILTERS} activity filter */ 37 public static final String QUERIES_UNEXPORTED_ACTIVITY_ACTION = 38 PKG_BASE + "queries.activity.action.unexported"; 39 /** A package that queries for the authority in {@link #TARGET_FILTERS} provider */ 40 public static final String QUERIES_PROVIDER_AUTH = PKG_BASE + "queries.provider.authority"; 41 /** A package that queries for the authority in {@link #TARGET_FILTERS} provider */ 42 public static final String QUERIES_PROVIDER_ACTION = PKG_BASE + "queries.provider.action"; 43 /** A package that queries for the action in {@link #TARGET_FILTERS} service filter */ 44 public static final String QUERIES_SERVICE_ACTION = PKG_BASE + "queries.service.action"; 45 /** A package that queries for the action in {@link #TARGET_FILTERS} activity filter */ 46 public static final String QUERIES_ACTIVITY_ACTION = PKG_BASE + "queries.activity.action"; 47 /** A package that has no queries but gets the QUERY_ALL_PACKAGES permission */ 48 public static final String QUERIES_NOTHING_PERM = PKG_BASE + "queries.nothing.haspermission"; 49 /** A package that has no queries but has a provider that can be queried */ 50 public static final String QUERIES_NOTHING_PROVIDER = PKG_BASE + "queries.nothing.hasprovider"; 51 /** A package that has no queries tag or permissions but targets Q */ 52 public static final String QUERIES_NOTHING_Q = PKG_BASE + "queries.nothing.q"; 53 /** A package that has no queries tag or permission to query any specific packages */ 54 public static final String QUERIES_NOTHING = PKG_BASE + "queries.nothing"; 55 /** Another package that has no queries tag or permission to query any specific packages */ 56 public static final String QUERIES_NOTHING_RECEIVES_URI = 57 PKG_BASE + "queries.nothing.receives.uri"; 58 public static final String QUERIES_NOTHING_RECEIVES_PERM_URI = 59 PKG_BASE + "queries.nothing.receives.perm.uri"; 60 public static final String QUERIES_NOTHING_RECEIVES_PERSISTABLE_URI = 61 PKG_BASE + "queries.nothing.receives.persistable.uri"; 62 public static final String QUERIES_NOTHING_RECEIVES_NON_PERSISTABLE_URI = 63 PKG_BASE + "queries.nothing.receives.nonpersistable.uri"; 64 /** Another package that has no queries tag or permission to query any specific packages */ 65 public static final String QUERIES_NOTHING_SEES_INSTALLER = 66 PKG_BASE + "queries.nothing.sees.installer"; 67 /** A package that queries nothing, but is part of a shared user */ 68 public static final String QUERIES_NOTHING_SHARED_USER = PKG_BASE + "queries.nothing.shareduid"; 69 /** A package that queries nothing, but uses a shared library */ 70 public static final String QUERIES_NOTHING_USES_LIBRARY = 71 PKG_BASE + "queries.nothing.useslibrary"; 72 /** A package that queries nothing, but uses a shared library */ 73 public static final String QUERIES_NOTHING_USES_OPTIONAL_LIBRARY = 74 PKG_BASE + "queries.nothing.usesoptionallibrary"; 75 /** A package that queries via wildcard action. */ 76 public static final String QUERIES_WILDCARD_ACTION = PKG_BASE + "queries.wildcard.action"; 77 /** A package that queries for all BROWSABLE intents. */ 78 public static final String QUERIES_WILDCARD_BROWSABLE = PKG_BASE + "queries.wildcard.browsable"; 79 /** A package that queries for all profile / contact targets. */ 80 public static final String QUERIES_WILDCARD_CONTACTS = PKG_BASE + "queries.wildcard.contacts"; 81 /** A package that queries for document viewer / editor targets. */ 82 public static final String QUERIES_WILDCARD_EDITOR = PKG_BASE + "queries.wildcard.editor"; 83 /** A package that queries for all jpeg share targets. */ 84 public static final String QUERIES_WILDCARD_SHARE = PKG_BASE + "queries.wildcard.share"; 85 /** A package that queries for all web intent browsable targets. */ 86 public static final String QUERIES_WILDCARD_WEB = PKG_BASE + "queries.wildcard.web"; 87 /** A package that queries for only browser intent targets. */ 88 public static final String QUERIES_WILDCARD_BROWSER = PKG_BASE + "queries.wildcard.browser"; 89 90 /** A package that queries for {@link #TARGET_NO_API} package */ 91 public static final String TARGET_SHARED_USER = PKG_BASE + "noapi.shareduid"; 92 /** A package that exposes itself via various intent filters (activities, services, etc.) */ 93 public static final String TARGET_FILTERS = PKG_BASE + "filters"; 94 /** A package that declares itself force queryable, making it visible to all other packages. 95 * This is installed as forceQueryable as non-system apps cannot declare themselves as such. */ 96 public static final String TARGET_FORCEQUERYABLE = PKG_BASE + "forcequeryable"; 97 /** A package that declares itself force queryable, but is installed normally making it not 98 * visible to other packages */ 99 public static final String TARGET_FORCEQUERYABLE_NORMAL = 100 PKG_BASE + "forcequeryable.normalinstall"; 101 /** A package with no published API and so isn't queryable by anything but package name */ 102 public static final String TARGET_NO_API = PKG_BASE + "noapi"; 103 /** A package with no published API and just for installing/uninstalling during test */ 104 public static final String TARGET_STUB = PKG_BASE + "stub"; 105 /** A package that offers an activity used for opening / editing file types */ 106 public static final String TARGET_EDITOR = PKG_BASE + "editor.activity"; 107 /** A package that offers an activity used viewing a contact / profile */ 108 public static final String TARGET_CONTACTS = PKG_BASE + "contacts.activity"; 109 /** A package that offers an content sharing activity */ 110 public static final String TARGET_SHARE = PKG_BASE + "share.activity"; 111 /** A package that offers an activity that handles browsable web intents for a specific host */ 112 public static final String TARGET_WEB = PKG_BASE + "web.activity"; 113 /** A package that offers an activity acts as a browser, but use a prefix wildcard for host */ 114 public static final String TARGET_PREFIX_WILDCARD_WEB = 115 PKG_BASE + "prefix.wildcard.web.activity"; 116 /** A package that offers an activity acts as a browser with host undefined */ 117 public static final String TARGET_BROWSER = PKG_BASE + "browser.activity"; 118 /** A package that offers an activity acts as a browser, but uses a wildcard for host */ 119 public static final String TARGET_BROWSER_WILDCARD = PKG_BASE + "browser.wildcard.activity"; 120 /** A package that offers a shared library */ 121 public static final String TARGET_SHARED_LIBRARY_PACKAGE = "com.android.cts.ctsshim"; 122 /** A package that exposes itself as a syncadapter. */ 123 public static final String TARGET_SYNCADAPTER = PKG_BASE + "syncadapter"; 124 /** A package that exposes itself as a syncadapter with a shared uid. */ 125 public static final String TARGET_SYNCADAPTER_SHARED_USER = PKG_BASE + "syncadapter.shareduid"; 126 /** A package that exposes itself as a appwidgetprovider. */ 127 public static final String TARGET_APPWIDGETPROVIDER = PKG_BASE + "appwidgetprovider"; 128 /** A package that exposes itself as a appwidgetprovider with a shared uid. */ 129 public static final String TARGET_APPWIDGETPROVIDER_SHARED_USER = 130 PKG_BASE + "appwidgetprovider.shareduid"; 131 /** A package that offers an activity which handles preferred activity test intent for the 132 * tests of preferred activity. */ 133 public static final String TARGET_PREFERRED_ACTIVITY = PKG_BASE + "preferred.activity"; 134 135 private static final String BASE_PATH = "/data/local/tmp/cts/appenumeration/"; 136 public static final String TARGET_NO_API_APK = BASE_PATH + "CtsAppEnumerationNoApi.apk"; 137 public static final String TARGET_STUB_APK = BASE_PATH + "CtsAppEnumerationStub.apk"; 138 public static final String TARGET_FILTERS_APK = BASE_PATH + "CtsAppEnumerationFilters.apk"; 139 public static final String QUERIES_NOTHING_SEES_INSTALLER_APK = 140 BASE_PATH + "CtsAppEnumerationQueriesNothingSeesInstaller.apk"; 141 public static final String QUERIES_NOTHING_RECEIVES_PERSISTABLE_URI_APK = 142 BASE_PATH + "CtsAppEnumerationQueriesNothingReceivesPersistableUri.apk"; 143 public static final String QUERIES_NOTHING_RECEIVES_NON_PERSISTABLE_URI_APK = 144 BASE_PATH + "CtsAppEnumerationQueriesNothingReceivesNonPersistableUri.apk"; 145 146 public static final String[] ALL_QUERIES_TARGETING_R_PACKAGES = { 147 QUERIES_NOTHING, 148 QUERIES_NOTHING_PERM, 149 QUERIES_ACTIVITY_ACTION, 150 QUERIES_SERVICE_ACTION, 151 QUERIES_PROVIDER_AUTH, 152 QUERIES_UNEXPORTED_ACTIVITY_ACTION, 153 QUERIES_UNEXPORTED_SERVICE_ACTION, 154 QUERIES_UNEXPORTED_PROVIDER_AUTH, 155 QUERIES_PACKAGE, 156 QUERIES_NOTHING_SHARED_USER, 157 QUERIES_WILDCARD_ACTION, 158 QUERIES_WILDCARD_BROWSABLE, 159 QUERIES_WILDCARD_CONTACTS, 160 QUERIES_WILDCARD_EDITOR, 161 QUERIES_WILDCARD_SHARE, 162 QUERIES_WILDCARD_WEB, 163 }; 164 165 public static final String ACTIVITY_CLASS_TEST = PKG_BASE + "cts.TestActivity"; 166 public static final String ACTIVITY_CLASS_DUMMY_ACTIVITY = PKG_BASE + "testapp.DummyActivity"; 167 168 public static final String ACTION_MANIFEST_ACTIVITY = PKG_BASE + "action.ACTIVITY"; 169 public static final String ACTION_MANIFEST_SERVICE = PKG_BASE + "action.SERVICE"; 170 public static final String ACTION_MANIFEST_PROVIDER = PKG_BASE + "action.PROVIDER"; 171 public static final String ACTION_SEND_RESULT = PKG_BASE + "cts.action.SEND_RESULT"; 172 public static final String ACTION_GET_PACKAGE_INFO = PKG_BASE + "cts.action.GET_PACKAGE_INFO"; 173 public static final String ACTION_GET_PACKAGES_FOR_UID = 174 PKG_BASE + "cts.action.GET_PACKAGES_FOR_UID"; 175 public static final String ACTION_GET_NAME_FOR_UID = 176 PKG_BASE + "cts.action.GET_NAME_FOR_UID"; 177 public static final String ACTION_GET_NAMES_FOR_UIDS = 178 PKG_BASE + "cts.action.GET_NAMES_FOR_UIDS"; 179 public static final String ACTION_CHECK_SIGNATURES = PKG_BASE + "cts.action.CHECK_SIGNATURES"; 180 public static final String ACTION_HAS_SIGNING_CERTIFICATE = 181 PKG_BASE + "cts.action.HAS_SIGNING_CERTIFICATE"; 182 public static final String ACTION_START_FOR_RESULT = PKG_BASE + "cts.action.START_FOR_RESULT"; 183 public static final String ACTION_START_DIRECTLY = PKG_BASE + "cts.action.START_DIRECTLY"; 184 public static final String ACTION_JUST_FINISH = PKG_BASE + "cts.action.JUST_FINISH"; 185 public static final String ACTION_AWAIT_PACKAGE_REMOVED = 186 PKG_BASE + "cts.action.AWAIT_PACKAGE_REMOVED"; 187 public static final String ACTION_AWAIT_PACKAGE_ADDED = 188 PKG_BASE + "cts.action.AWAIT_PACKAGE_ADDED"; 189 public static final String ACTION_AWAIT_PACKAGE_FULLY_REMOVED = 190 PKG_BASE + "cts.action.AWAIT_PACKAGE_FULLY_REMOVED"; 191 public static final String ACTION_AWAIT_PACKAGE_DATA_CLEARED = 192 PKG_BASE + "cts.action.AWAIT_PACKAGE_DATA_CLEARED"; 193 public static final String ACTION_QUERY_ACTIVITIES = 194 PKG_BASE + "cts.action.QUERY_INTENT_ACTIVITIES"; 195 public static final String ACTION_QUERY_SERVICES = 196 PKG_BASE + "cts.action.QUERY_INTENT_SERVICES"; 197 public static final String ACTION_QUERY_PROVIDERS = 198 PKG_BASE + "cts.action.QUERY_INTENT_PROVIDERS"; 199 public static final String ACTION_GET_INSTALLED_PACKAGES = 200 PKG_BASE + "cts.action.GET_INSTALLED_PACKAGES"; 201 public static final String ACTION_START_SENDER_FOR_RESULT = 202 PKG_BASE + "cts.action.START_SENDER_FOR_RESULT"; 203 public static final String ACTION_QUERY_RESOLVER = 204 PKG_BASE + "cts.action.QUERY_RESOLVER_FOR_VISIBILITY"; 205 public static final String ACTION_BIND_SERVICE = PKG_BASE + "cts.action.BIND_SERVICE"; 206 public static final String ACTION_GET_SYNCADAPTER_TYPES = 207 PKG_BASE + "cts.action.GET_SYNCADAPTER_TYPES"; 208 public static final String ACTION_GET_SYNCADAPTER_PACKAGES_FOR_AUTHORITY = 209 PKG_BASE + "cts.action.GET_SYNCADAPTER_PACKAGES_FOR_AUTHORITY"; 210 public static final String ACTION_GET_INSTALLED_APPWIDGET_PROVIDERS = 211 PKG_BASE + "cts.action.GET_INSTALLED_APPWIDGET_PROVIDERS"; 212 public static final String ACTION_REQUEST_SYNC_AND_AWAIT_STATUS = 213 PKG_BASE + "cts.action.REQUEST_SYNC_AND_AWAIT_STATUS"; 214 public static final String ACTION_AWAIT_PACKAGES_SUSPENDED = 215 PKG_BASE + "cts.action.AWAIT_PACKAGES_SUSPENDED"; 216 public static final String ACTION_LAUNCHER_APPS_IS_ACTIVITY_ENABLED = 217 PKG_BASE + "cts.action.LAUNCHER_APPS_IS_ACTIVITY_ENABLED"; 218 public static final String ACTION_LAUNCHER_APPS_GET_SUSPENDED_PACKAGE_LAUNCHER_EXTRAS = 219 PKG_BASE + "cts.action.LAUNCHER_APPS_GET_SUSPENDED_PACKAGE_LAUNCHER_EXTRAS"; 220 public static final String ACTION_AWAIT_LAUNCHER_APPS_CALLBACK = 221 PKG_BASE + "cts.action.AWAIT_LAUNCHER_APPS_CALLBACK"; 222 public static final String ACTION_GET_SHAREDLIBRARY_DEPENDENT_PACKAGES = 223 PKG_BASE + "cts.action.GET_SHAREDLIBRARY_DEPENDENT_PACKAGES"; 224 public static final String ACTION_GET_PREFERRED_ACTIVITIES = 225 PKG_BASE + "cts.action.GET_PREFERRED_ACTIVITIES"; 226 public static final String ACTION_SET_INSTALLER_PACKAGE_NAME = 227 PKG_BASE + "cts.action.SET_INSTALLER_PACKAGE_NAME"; 228 public static final String ACTION_GET_INSTALLED_ACCESSIBILITYSERVICES_PACKAGES = 229 PKG_BASE + "cts.action.GET_INSTALLED_ACCESSIBILITYSERVICES_PACKAGES"; 230 public static final String ACTION_LAUNCHER_APPS_SHOULD_HIDE_FROM_SUGGESTIONS = 231 PKG_BASE + "cts.action.LAUNCHER_APPS_SHOULD_HIDE_FROM_SUGGESTIONS"; 232 public static final String ACTION_CHECK_URI_PERMISSION = 233 PKG_BASE + "cts.action.CHECK_URI_PERMISSION"; 234 public static final String ACTION_TAKE_PERSISTABLE_URI_PERMISSION = 235 PKG_BASE + "cts.action.TAKE_PERSISTABLE_URI_PERMISSION"; 236 public static final String ACTION_CAN_PACKAGE_QUERY = 237 PKG_BASE + "cts.action.CAN_PACKAGE_QUERY"; 238 public static final String ACTION_GET_ALL_PACKAGE_INSTALLER_SESSIONS = 239 PKG_BASE + "cts.action.GET_ALL_PACKAGE_INSTALLER_SESSIONS"; 240 public static final String ACTION_AWAIT_LAUNCHER_APPS_SESSION_CALLBACK = 241 PKG_BASE + "cts.action.AWAIT_LAUNCHER_APPS_SESSION_CALLBACK"; 242 public static final String ACTION_GET_SESSION_INFO = 243 PKG_BASE + "cts.action.GET_SESSION_INFO"; 244 public static final String ACTION_GET_STAGED_SESSIONS = 245 PKG_BASE + "cts.action.GET_STAGED_SESSIONS"; 246 public static final String ACTION_GET_ALL_SESSIONS = 247 PKG_BASE + "cts.action.GET_ALL_SESSIONS"; 248 public static final String ACTION_PENDING_INTENT_GET_ACTIVITY = 249 PKG_BASE + "cts.action.PENDING_INTENT_GET_ACTIVITY"; 250 public static final String ACTION_PENDING_INTENT_GET_CREATOR_PACKAGE = 251 PKG_BASE + "cts.action.PENDING_INTENT_GET_CREATOR_PACKAGE"; 252 public static final String ACTION_CHECK_PACKAGE = 253 PKG_BASE + "cts.action.CHECK_PACKAGE"; 254 public static final String ACTION_GRANT_URI_PERMISSION = 255 PKG_BASE + "cts.action.GRANT_URI_PERMISSION"; 256 public static final String ACTION_REVOKE_URI_PERMISSION = 257 PKG_BASE + "cts.action.REVOKE_URI_PERMISSION"; 258 259 public static final String EXTRA_REMOTE_CALLBACK = "remoteCallback"; 260 public static final String EXTRA_REMOTE_READY_CALLBACK = "remoteReadyCallback"; 261 public static final String EXTRA_ERROR = "error"; 262 public static final String EXTRA_FLAGS = "flags"; 263 public static final String EXTRA_DATA = "data"; 264 public static final String EXTRA_CERT = "cert"; 265 public static final String EXTRA_AUTHORITY = "authority"; 266 public static final String EXTRA_ACCOUNT = "account"; 267 public static final String EXTRA_ID = "id"; 268 public static final String EXTRA_PENDING_INTENT = "pendingIntent"; 269 270 public static final int CALLBACK_EVENT_INVALID = -1; 271 public static final int CALLBACK_EVENT_PACKAGE_ADDED = 0; 272 public static final int CALLBACK_EVENT_PACKAGE_REMOVED = 1; 273 public static final int CALLBACK_EVENT_PACKAGE_CHANGED = 2; 274 public static final int CALLBACK_EVENT_PACKAGES_AVAILABLE = 3; 275 public static final int CALLBACK_EVENT_PACKAGES_UNAVAILABLE = 4; 276 public static final int CALLBACK_EVENT_PACKAGES_SUSPENDED = 5; 277 public static final int CALLBACK_EVENT_PACKAGES_UNSUSPENDED = 6; 278 } 279