1 /*
2  * Copyright (C) 2013 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.tradefed.device;
17 
18 /**
19  * Represents the allocation state of the device from the IDeviceManager perspective
20  */
21 public enum DeviceAllocationState implements DeviceAllocationEventHandler {
22     /** the initial state of a device - should not reside here for long */
23     Unknown(new UnknownHandler()),
24     /** Device does not match global device filter, and will be ignored by this TF */
25     Ignored(new IgnoredHandler()),
26     /** device is available to be allocated to a test */
27     Available(new AvailableHandler()),
28     /** device is visible via adb but is in an error state that prevents it from running tests */
29     Unavailable(new UnavailableHandler()),
30     /** device is currently allocated to a test */
31     Allocated(new AllocatedHandler()),
32     /** device is currently being checked for responsiveness */
33     Checking_Availability(new CheckingAvailHandler());
34 
35     private final DeviceAllocationEventHandler mEventHandler;
36 
DeviceAllocationState(DeviceAllocationEventHandler eventHandler)37     DeviceAllocationState(DeviceAllocationEventHandler eventHandler) {
38         mEventHandler = eventHandler;
39     }
40 
41     @Override
handleDeviceEvent(DeviceEvent event)42     public DeviceAllocationState handleDeviceEvent(DeviceEvent event) {
43         return mEventHandler.handleDeviceEvent(event);
44     }
45 }
46