1 package android.companion.cts.common
2
3 import android.Manifest
4 import android.companion.AssociationRequest.DEVICE_PROFILE_APP_STREAMING
5 import android.companion.AssociationRequest.DEVICE_PROFILE_AUTOMOTIVE_PROJECTION
6 import android.companion.AssociationRequest.DEVICE_PROFILE_COMPUTER
7 import android.companion.AssociationRequest.DEVICE_PROFILE_GLASSES
8 import android.companion.AssociationRequest.DEVICE_PROFILE_NEARBY_DEVICE_STREAMING
9 import android.companion.AssociationRequest.DEVICE_PROFILE_WATCH
10 import android.net.MacAddress
11 import android.os.Handler
12 import android.os.HandlerThread
13 import java.util.concurrent.Executor
14
15 /** Set of all supported CDM Device Profiles. */
16 val DEVICE_PROFILES = setOf(
17 DEVICE_PROFILE_WATCH,
18 DEVICE_PROFILE_GLASSES,
19 DEVICE_PROFILE_NEARBY_DEVICE_STREAMING,
20 DEVICE_PROFILE_COMPUTER,
21 DEVICE_PROFILE_APP_STREAMING,
22 DEVICE_PROFILE_AUTOMOTIVE_PROJECTION
23 )
24
25 val DEVICE_PROFILE_TO_NAME = mapOf(
26 DEVICE_PROFILE_WATCH to "WATCH",
27 DEVICE_PROFILE_GLASSES to "GLASSES",
28 DEVICE_PROFILE_NEARBY_DEVICE_STREAMING to "NEARBY_DEVICE_STREAMING",
29 DEVICE_PROFILE_COMPUTER to "COMPUTER",
30 DEVICE_PROFILE_APP_STREAMING to "APP_STREAMING",
31 DEVICE_PROFILE_AUTOMOTIVE_PROJECTION to "AUTOMOTIVE_PROJECTION"
32 )
33
34 val DEVICE_PROFILE_TO_PERMISSION = mapOf(
35 DEVICE_PROFILE_WATCH to Manifest.permission.REQUEST_COMPANION_PROFILE_WATCH,
36 DEVICE_PROFILE_APP_STREAMING to
37 Manifest.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING,
38 DEVICE_PROFILE_AUTOMOTIVE_PROJECTION to
39 Manifest.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION,
40 DEVICE_PROFILE_GLASSES to
41 Manifest.permission.REQUEST_COMPANION_PROFILE_GLASSES,
42 DEVICE_PROFILE_NEARBY_DEVICE_STREAMING to
43 Manifest.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING,
44 DEVICE_PROFILE_COMPUTER to
45 Manifest.permission.REQUEST_COMPANION_PROFILE_COMPUTER
46 )
47
48 val MAC_ADDRESS_A = MacAddress.fromString("00:00:00:00:00:AA")
49 val MAC_ADDRESS_B = MacAddress.fromString("00:00:00:00:00:BB")
50 val MAC_ADDRESS_C = MacAddress.fromString("00:00:00:00:00:CC")
51
52 const val DEVICE_DISPLAY_NAME_A = "Device A"
53 const val DEVICE_DISPLAY_NAME_B = "Device B"
54
<lambda>null55 val SIMPLE_EXECUTOR: Executor by lazy { Executor { it.run() } }
56
<lambda>null57 val MAIN_THREAD_EXECUTOR: Executor by lazy {
58 Executor {
59 with(Handler.getMain()) { post(it) }
60 }
61 }
62
<lambda>null63 val BACKGROUND_THREAD_EXECUTOR: Executor by lazy {
64 with(HandlerThread("CdmTestBackgroundThread")) {
65 start()
66 Executor { threadHandler.post(it) }
67 }
68 }
69
70 val PRIMARY_PROCESS_NAME = ":primary"
71 val SECONDARY_PROCESS_NAME = ":secondary"
72