1 /* 2 * Copyright (C) 2021 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 package com.android.bedstead.testapp 17 18 import com.android.eventlib.events.activities.ActivityCreatedEvent 19 import com.android.eventlib.events.activities.ActivityCreatedEvent.ActivityCreatedEventQuery 20 import com.android.eventlib.events.activities.ActivityDestroyedEvent 21 import com.android.eventlib.events.activities.ActivityDestroyedEvent.ActivityDestroyedEventQuery 22 import com.android.eventlib.events.activities.ActivityEvents 23 import com.android.eventlib.events.activities.ActivityPausedEvent 24 import com.android.eventlib.events.activities.ActivityPausedEvent.ActivityPausedEventQuery 25 import com.android.eventlib.events.activities.ActivityRestartedEvent 26 import com.android.eventlib.events.activities.ActivityRestartedEvent.ActivityRestartedEventQuery 27 import com.android.eventlib.events.activities.ActivityResumedEvent 28 import com.android.eventlib.events.activities.ActivityResumedEvent.ActivityResumedEventQuery 29 import com.android.eventlib.events.activities.ActivityStartedEvent 30 import com.android.eventlib.events.activities.ActivityStartedEvent.ActivityStartedEventQuery 31 import com.android.eventlib.events.activities.ActivityStoppedEvent 32 import com.android.eventlib.events.activities.ActivityStoppedEvent.ActivityStoppedEventQuery 33 import com.android.eventlib.events.broadcastreceivers.BroadcastReceivedEvent 34 import com.android.eventlib.events.broadcastreceivers.BroadcastReceivedEvent.BroadcastReceivedEventQuery 35 import com.android.eventlib.events.broadcastreceivers.BroadcastReceiverEvents 36 import com.android.eventlib.events.delegatedadminreceivers.DelegatedAdminChoosePrivateKeyAliasEvent 37 import com.android.eventlib.events.delegatedadminreceivers.DelegatedAdminChoosePrivateKeyAliasEvent.DelegatedAdminChoosePrivateKeyAliasEventQuery 38 import com.android.eventlib.events.delegatedadminreceivers.DelegatedAdminReceiverEvents 39 import com.android.eventlib.events.delegatedadminreceivers.DelegatedAdminSecurityLogsAvailableEvent 40 import com.android.eventlib.events.delegatedadminreceivers.DelegatedAdminSecurityLogsAvailableEvent.DelegatedAdminSecurityLogsAvailableEventQuery 41 import com.android.eventlib.events.deviceadminreceivers.DelegatedAdminNetworkLogsAvailableEvent 42 import com.android.eventlib.events.deviceadminreceivers.DelegatedAdminNetworkLogsAvailableEvent.DelegatedAdminNetworkLogsAvailableEventQuery 43 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminBugreportFailedEvent 44 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminBugreportFailedEvent.DeviceAdminBugreportFailedEventQuery 45 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminBugreportSharedEvent 46 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminBugreportSharedEvent.DeviceAdminBugreportSharedEventQuery 47 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminBugreportSharingDeclinedEvent 48 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminBugreportSharingDeclinedEvent.DeviceAdminBugreportSharingDeclinedEventQuery 49 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminChoosePrivateKeyAliasEvent 50 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminChoosePrivateKeyAliasEvent.DeviceAdminChoosePrivateKeyAliasEventQuery 51 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminDisableRequestedEvent 52 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminDisableRequestedEvent.DeviceAdminDisableRequestedEventQuery 53 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminDisabledEvent 54 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminDisabledEvent.DeviceAdminDisabledEventQuery 55 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminEnabledEvent 56 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminEnabledEvent.DeviceAdminEnabledEventQuery 57 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminLockTaskModeEnteringEvent 58 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminLockTaskModeEnteringEvent.DeviceAdminLockTaskModeEnteringEventQuery 59 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminLockTaskModeExitingEvent 60 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminLockTaskModeExitingEvent.DeviceAdminLockTaskModeExitingEventQuery 61 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminNetworkLogsAvailableEvent 62 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminNetworkLogsAvailableEvent.DeviceAdminNetworkLogsAvailableEventQuery 63 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminOperationSafetyStateChangedEvent 64 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminOperationSafetyStateChangedEvent.DeviceAdminOperationSafetyStateChangedEventQuery 65 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordChangedEvent 66 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordChangedEvent.DeviceAdminPasswordChangedEventQuery 67 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordExpiringEvent 68 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordExpiringEvent.DeviceAdminPasswordExpiringEventQuery 69 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordFailedEvent 70 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordFailedEvent.DeviceAdminPasswordFailedEventQuery 71 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordSucceededEvent 72 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminPasswordSucceededEvent.DeviceAdminPasswordSucceededEventQuery 73 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminProfileProvisioningCompleteEvent 74 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminProfileProvisioningCompleteEvent.DeviceAdminProfileProvisioningCompleteEventQuery 75 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminReadyForUserInitializationEvent 76 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminReadyForUserInitializationEvent.DeviceAdminReadyForUserInitializationEventQuery 77 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminReceiverEvents 78 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminSecurityLogsAvailableEvent 79 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminSecurityLogsAvailableEvent.DeviceAdminSecurityLogsAvailableEventQuery 80 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminSystemUpdatePendingEvent 81 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminSystemUpdatePendingEvent.DeviceAdminSystemUpdatePendingEventQuery 82 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminTransferAffiliatedProfileOwnershipCompleteEvent 83 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminTransferAffiliatedProfileOwnershipCompleteEvent.DeviceAdminTransferAffiliatedProfileOwnershipCompleteEventQuery 84 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminTransferOwnershipCompleteEvent 85 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminTransferOwnershipCompleteEvent.DeviceAdminTransferOwnershipCompleteEventQuery 86 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserAddedEvent 87 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserAddedEvent.DeviceAdminUserAddedEventQuery 88 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserRemovedEvent 89 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserRemovedEvent.DeviceAdminUserRemovedEventQuery 90 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserStartedEvent 91 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserStartedEvent.DeviceAdminUserStartedEventQuery 92 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserStoppedEvent 93 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserStoppedEvent.DeviceAdminUserStoppedEventQuery 94 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserSwitchedEvent 95 import com.android.eventlib.events.deviceadminreceivers.DeviceAdminUserSwitchedEvent.DeviceAdminUserSwitchedEventQuery 96 import com.android.eventlib.events.services.ServiceBoundEvent 97 import com.android.eventlib.events.services.ServiceBoundEvent.ServiceBoundEventQuery 98 import com.android.eventlib.events.services.ServiceConfigurationChangedEvent 99 import com.android.eventlib.events.services.ServiceConfigurationChangedEvent.ServiceConfigurationChangedEventQuery 100 import com.android.eventlib.events.services.ServiceCreatedEvent 101 import com.android.eventlib.events.services.ServiceCreatedEvent.ServiceCreatedEventQuery 102 import com.android.eventlib.events.services.ServiceDestroyedEvent 103 import com.android.eventlib.events.services.ServiceDestroyedEvent.ServiceDestroyedEventQuery 104 import com.android.eventlib.events.services.ServiceEvents 105 import com.android.eventlib.events.services.ServiceLowMemoryEvent 106 import com.android.eventlib.events.services.ServiceLowMemoryEvent.ServiceLowMemoryEventQuery 107 import com.android.eventlib.events.services.ServiceMemoryTrimmedEvent 108 import com.android.eventlib.events.services.ServiceMemoryTrimmedEvent.ServiceMemoryTrimmedEventQuery 109 import com.android.eventlib.events.services.ServiceReboundEvent 110 import com.android.eventlib.events.services.ServiceReboundEvent.ServiceReboundEventQuery 111 import com.android.eventlib.events.services.ServiceStartedEvent 112 import com.android.eventlib.events.services.ServiceStartedEvent.ServiceStartedEventQuery 113 import com.android.eventlib.events.services.ServiceTaskRemovedEvent 114 import com.android.eventlib.events.services.ServiceTaskRemovedEvent.ServiceTaskRemovedEventQuery 115 import com.android.eventlib.events.services.ServiceUnboundEvent 116 import com.android.eventlib.events.services.ServiceUnboundEvent.ServiceUnboundEventQuery 117 118 /** 119 * Quick access to events on this test app. 120 * 121 * 122 * Additional filters can be added to the returned object. 123 * 124 * 125 * `#poll` can be used to fetch results, and the result can be asserted on. 126 */ 127 class TestAppEvents internal constructor(private val mTestApp: TestAppInstance) : ActivityEvents, 128 BroadcastReceiverEvents, DeviceAdminReceiverEvents, DelegatedAdminReceiverEvents, 129 ServiceEvents { 130 activityCreatednull131 override fun activityCreated(): ActivityCreatedEventQuery = 132 ActivityCreatedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 133 134 override fun activityDestroyed(): ActivityDestroyedEventQuery = 135 ActivityDestroyedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 136 137 override fun activityPaused(): ActivityPausedEventQuery = 138 ActivityPausedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 139 140 override fun activityRestarted(): ActivityRestartedEventQuery = 141 ActivityRestartedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 142 143 override fun activityResumed(): ActivityResumedEventQuery = 144 ActivityResumedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 145 146 override fun activityStarted(): ActivityStartedEventQuery = 147 ActivityStartedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 148 149 override fun activityStopped(): ActivityStoppedEventQuery = 150 ActivityStoppedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 151 152 override fun broadcastReceived(): BroadcastReceivedEventQuery = 153 BroadcastReceivedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 154 155 override fun bugReportFailed(): DeviceAdminBugreportFailedEventQuery = 156 DeviceAdminBugreportFailedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 157 158 override fun bugReportShared(): DeviceAdminBugreportSharedEventQuery = 159 DeviceAdminBugreportSharedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 160 161 override fun bugReportSharingDeclined(): DeviceAdminBugreportSharingDeclinedEventQuery = 162 DeviceAdminBugreportSharingDeclinedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 163 164 override fun choosePrivateKeyAlias(): DeviceAdminChoosePrivateKeyAliasEventQuery = 165 DeviceAdminChoosePrivateKeyAliasEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 166 167 override fun deviceAdminDisabled(): DeviceAdminDisabledEventQuery = 168 DeviceAdminDisabledEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 169 170 override fun deviceAdminDisableRequested(): DeviceAdminDisableRequestedEventQuery = 171 DeviceAdminDisableRequestedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 172 173 override fun deviceAdminEnabled(): DeviceAdminEnabledEventQuery = 174 DeviceAdminEnabledEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 175 176 override fun lockTaskModeEntering(): DeviceAdminLockTaskModeEnteringEventQuery = 177 DeviceAdminLockTaskModeEnteringEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 178 179 override fun lockTaskModeExiting(): DeviceAdminLockTaskModeExitingEventQuery = 180 DeviceAdminLockTaskModeExitingEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 181 182 override fun networkLogsAvailable(): DeviceAdminNetworkLogsAvailableEventQuery = 183 DeviceAdminNetworkLogsAvailableEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 184 185 override fun operationSafetyStateChanged(): DeviceAdminOperationSafetyStateChangedEventQuery = 186 DeviceAdminOperationSafetyStateChangedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 187 188 override fun passwordChanged(): DeviceAdminPasswordChangedEventQuery = 189 DeviceAdminPasswordChangedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 190 191 override fun passwordExpiring(): DeviceAdminPasswordExpiringEventQuery = 192 DeviceAdminPasswordExpiringEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 193 194 override fun passwordFailed(): DeviceAdminPasswordFailedEventQuery = 195 DeviceAdminPasswordFailedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 196 197 override fun passwordSucceeded(): DeviceAdminPasswordSucceededEventQuery = 198 DeviceAdminPasswordSucceededEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 199 200 override fun profileProvisioningComplete(): DeviceAdminProfileProvisioningCompleteEventQuery = 201 DeviceAdminProfileProvisioningCompleteEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 202 203 override fun readyForUserInitialization(): DeviceAdminReadyForUserInitializationEventQuery = 204 DeviceAdminReadyForUserInitializationEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 205 206 override fun securityLogsAvailable(): DeviceAdminSecurityLogsAvailableEventQuery = 207 DeviceAdminSecurityLogsAvailableEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 208 209 override fun systemUpdatePending(): DeviceAdminSystemUpdatePendingEventQuery = 210 DeviceAdminSystemUpdatePendingEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 211 212 override fun transferAffiliatedProfileOwnershipComplete(): DeviceAdminTransferAffiliatedProfileOwnershipCompleteEventQuery = 213 DeviceAdminTransferAffiliatedProfileOwnershipCompleteEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 214 215 override fun transferOwnershipComplete(): DeviceAdminTransferOwnershipCompleteEventQuery = 216 DeviceAdminTransferOwnershipCompleteEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 217 218 override fun userAdded(): DeviceAdminUserAddedEventQuery = 219 DeviceAdminUserAddedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 220 221 override fun userRemoved(): DeviceAdminUserRemovedEventQuery = 222 DeviceAdminUserRemovedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 223 224 override fun userStarted(): DeviceAdminUserStartedEventQuery = 225 DeviceAdminUserStartedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 226 227 override fun userStopped(): DeviceAdminUserStoppedEventQuery = 228 DeviceAdminUserStoppedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 229 230 override fun userSwitched(): DeviceAdminUserSwitchedEventQuery = 231 DeviceAdminUserSwitchedEvent.queryPackage(mTestApp.packageName()).onUser(mTestApp.user()) 232 233 override fun serviceCreated(): ServiceCreatedEventQuery = 234 ServiceCreatedEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 235 236 override fun serviceStarted(): ServiceStartedEventQuery = 237 ServiceStartedEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 238 239 override fun serviceDestroyed(): ServiceDestroyedEventQuery = 240 ServiceDestroyedEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 241 242 override fun serviceConfigurationChanged(): ServiceConfigurationChangedEventQuery = 243 ServiceConfigurationChangedEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 244 245 override fun serviceLowMemory(): ServiceLowMemoryEventQuery = 246 ServiceLowMemoryEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 247 248 override fun serviceMemoryTrimmed(): ServiceMemoryTrimmedEventQuery = 249 ServiceMemoryTrimmedEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 250 251 override fun serviceBound(): ServiceBoundEventQuery = 252 ServiceBoundEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 253 254 override fun serviceUnbound(): ServiceUnboundEventQuery = 255 ServiceUnboundEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 256 257 override fun serviceRebound(): ServiceReboundEventQuery = 258 ServiceReboundEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 259 260 override fun serviceTaskRemoved(): ServiceTaskRemovedEventQuery = 261 ServiceTaskRemovedEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 262 263 override fun delegateChoosePrivateKeyAlias(): DelegatedAdminChoosePrivateKeyAliasEventQuery = 264 DelegatedAdminChoosePrivateKeyAliasEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 265 266 override fun delegateNetworkLogsAvailable(): DelegatedAdminNetworkLogsAvailableEventQuery = 267 DelegatedAdminNetworkLogsAvailableEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 268 269 override fun delegateSecurityLogsAvailable(): DelegatedAdminSecurityLogsAvailableEventQuery = 270 DelegatedAdminSecurityLogsAvailableEvent.queryPackage(mTestApp.testApp().packageName()).onUser(mTestApp.user()) 271 } 272