CTS Verifier CTS Verifier %1$s Pass Info Fail Next Go Retry Finish Fail and Next Audio Camera Car Device Administration Hardware Networking Sensors Location Security Streaming Features Clock Job Scheduler Telecom Telephony TV Instant Apps Other Clear Remove all test results? Yes Cancel Test results cleared. View Couldn\'t create test results report. Please grant runtime permissions, otherwise, tests might fail. Export Cannot save report to external storage, see log for details. Report saved to: %s Intent Not Resolved The following intent could not be resolved: %1$s Report Viewer Test passed! Test failed! Loading... Error occurred while generating test data... Settings Policy Serialization Test This test checks that a device policy is properly saved and loaded across reboots.\n\nPress the \"Generate Policy\" button to create a random policy. Then press the \"Apply Policy\" button to apply the policy. Reboot the device and verify that all rows in the policy list are green. Red items indicate policy settings that were not loaded properly. Device Admin Uninstall Test This test checks that an active device administrator can be easily uninstalled from the application details screen in a way similar to other apps. This test requires CtsEmptyDeviceAdmin.apk to be installed on the device. Device Admin Tapjacking Test This test checks that an activity cannot tapjack the user by obscuring the device admin details while prompting the user to activate the admin. Car Dock Test This test ensures that car mode opens the app associated with car dock when going into car mode.\n\n Click on "Enable Car Mode" to start the test. Clicking on the button will either bring up a disambiguation dialog asking which app to open or immediately open the CAR_DOCK application. Select the "CTS Verifier" app and then "Always" if the dialog pops up. This will open the CAR_DOCK application.\n\n In the CAR_DOCK application, press the home button, which will enable the pass button if the framework correctly tries to open the CAR_DOCK app again. Enable Car Mode Press the Home button 1. Press the \"Generate Policy\" to create a random device policy\n\n2. Press \"Apply Policy\" to put the policy into effect.\n\n3. Reboot your device and return to this test in the CTS Verifier. Generate Policy Apply Policy Random policy generated. Reboot your device and return to this CTS Verifier test. Password Quality Alphabetic Alphanumeric Numeric Something Minimum Password Length Maximum Failed Passwords for Wipe Maximum Time to Lock Expected value: %1$s\nActual value: %2$s Screen Lock Test This test checks that the DevicePolicyManager\'s lockNow method immediately locks the screen. It should lock the screen immediately despite any settings that may specify a timeout.\n\nClick the \"Force Lock\" button to lock the screen. Your screen should be locked and require the password to be entered. Force Lock It appears the screen was locked successfully! It does not look like the screen was locked... Please install the \'Test Device Admin\' app (packaged as CtsEmptyDeviceAdmin.apk) on the device. \'Test Device Admin\' installed on the device. Add \'Test Device Admin\' as an active administrator on the device. Tap the button below to review the device admin details and activate the administrator. Enable admin Attempt to uninstall the app from the application details page of the \'Test Device Admin\' app. You should see another screen showing the device admin details before you can uninstall the app from the device. Wait till the app is uninstalled before returning to this page. Launch settings This activity attempts to tapjack the activity below.\n Any security sensitive controls below should not respond to taps as long as this activity is visible. 1. Launch the device admin add screen by pressing the button below.\n 2. Wait for an overlaying transparent activity to show up obscuring the device admin details window.\n 3. The button to activate the admin should be disabled and should not register any taps.\n 4. Press \'back\' to exit the overlaying transparent activity.\n 5. Press \'back\' to exit the device admin details and return to this screen.\n Pass the test if the device admin could not be activated while the details window was being obscured. Enable device admin Recent Task Removal Test This test verifies that an app whose task is removed from recents is not also force-stopped without explicit user consent. This test requires CtsForceStopHelper.apk to be installed. Please install the \'Force stop helper app\' on the device. \'Force stop helper app\' installed on device. Proceed to the following steps. Tap the button to launch the helper activity. Then return to this screen. Launch test activity Open recents and remove the task of the activity started in the previous step and return to this screen. Deny any dialog that is shown asking for permission to force-stop or kill the app. Verifying... Please wait. Biometric Test This test ensures that biometrics can be authenticated when templates are enrolled. Enroll Start Test 1 Start Test 2 Start Test 3 Start Test 4 Start Test 5 Instructions For the next test, please write down the numbers shown in the title, subtitle, description, and negative button fields. After authenticating, please enter the strings in the appropriate box. Please enter the numbers you recorded Lock Bound Keys Test This test ensures that Keystore cryptographic keys that are bound to lock screen authentication are unusable without a recent enough authentication. You need to set up a screen lock in order to complete this test. If available, this test should be run by using fingerprint authentication as well as PIN/pattern/password authentication. Fingerprint Bound Keys Test This test ensures that Keystore cryptographic keys that are bound to fingerprint authentication are unusable without an authentication. You need to set up a fingerprint order to complete this test. Authenticate now with fingerprint Authentication failed Start Test Biometric Prompt Bound Keys Test This test ensures that Keystore cryptographic keys that are bound to biometric authentication are unusable without an authentication. Bluetooth Test The Bluetooth Control tests check whether or not the device can disable and enable Bluetooth properly. \n\nThe Bluetooth tests require two devices, and Bluetooth data is exchanged between them. \nThere are two types of connections: Insecure and Secure. There are two types of roles: Server and Client. You must pass all connection and role combinations. \nThis is a list of the tests: \nThis Device x Other Device \n\n\"Bluetooth LE Insecure Client Test\" x \"Bluetooth LE Insecure Server Test\" \n\n\"Bluetooth LE Insecure Server Test\" x \"Bluetooth LE Insecure Client Test\" \n\n\"Bluetooth LE Secure Client Test\" x \"Bluetooth LE Secure Server Test\" \n\n\"Bluetooth LE Secure Server Test\" x \"Bluetooth LE Secure Client Test\" \n\n\"Bluetooth LE CoC Insecure Server Test\" x \"Bluetooth LE CoC Insecure Client Test\" \n\n\"Bluetooth LE CoC Insecure Client Test\" x \"Bluetooth LE CoC Insecure Server Test\" \n\n\"Bluetooth LE CoC Secure Server Test\" x \"Bluetooth LE CoC Secure Client Test\" \n\n\"Bluetooth LE CoC Secure Client Test\" x \"Bluetooth LE CoC Secure Server Test\" \n\nThe Device Communication tests require two devices to pair and exchange messages. The two devices must be: \n\n1. a candidate device implementation running the software build to be tested \n\n2. a separate device implementation already known to be compatible Bluetooth Control Device Communication Bluetooth LE Bluetooth HID Bluetooth LE CoC Toggle Bluetooth Disable and enable Bluetooth to successfully complete this test. Enable Bluetooth Disable Bluetooth Disabling Bluetooth... Could not disable Bluetooth... Bluetooth LE CoC Insecure Client Test The Bluetooth LE CoC test must be done simultaneously on two devices. This device is the client. All tests listed here must be done without pairing. Tap \"Bluetooth LE CoC Insecure Server Test\" on the other device. \n\nTap \"01 Bluetooth LE CoC Client Test\" on this device, then tap \"01 Bluetooth LE CoC Server Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. The Bluetooth LE CoC test must be done simultaneously on two devices. This device is the client. All tests listed here must be done without pairing. Bluetooth LE CoC Insecure Server Test This test is mostly automated, but requires some user interaction. Once the list items below have check marks, the test is complete. \n\nTap \"01 Bluetooth LE CoC Server Test\" on this device, then tap \"01 Bluetooth LE CoC Client Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. Bluetooth LE CoC Secure Client Test The Bluetooth LE CoC test must be done simultaneously on two devices. This device is the client. All tests listed here must be done without pairing. Tap \"Bluetooth LE CoC Secure Server Test\" on the other device. \n\nTap \"01 Bluetooth LE CoC Client Test\" on this device, then tap \"01 Bluetooth LE CoC Server Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. The Bluetooth LE CoC test must be done simultaneously on two devices. This device is the client. All tests listed here must be done without pairing. Bluetooth LE CoC Secure Server Test This test is mostly automated, but requires some user interaction. Once the list items below have check marks, the test is complete. \n\nTap \"01 Bluetooth LE CoC Server Test\" on this device, then tap \"01 Bluetooth LE CoC Client Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. 01 Bluetooth LE CoC Client Test Bluetooth LE Client Connect Get peer PSM value LE CoC client Connect Check connection type Send 8 bytes Receive 8 bytes Send and receive large data buffer 01 Bluetooth LE CoC Server Test Bluetooth LE Server Connect Create LE CoC listener Waiting on PSM to be read Waiting on LE CoC connection Check connection type Waiting to receive 8 bytes Sending 8 bytes Send and receive large data buffer Connection Access Server Connection Access Client Start the CTS Verifier on another device, start the Bluetooth test, and choose \"Connection Access Client\" to setup the test. \n\nFirst, unpair the devices via Bluetooth settings. Then connect the devices together using the \"Make Discoverable\" and \"Pick Server\" buttons. \n\nA connection access request should appear on the server and enable the pass button. Start the CTS Verifier on another device, start the Bluetooth test, and choose \"Connection Access Server\" to complete the test. \n\nMake the device acting as the server discoverable and connect to it via the \"Pick Server\" button. Check that the server displays the connection access request dialog. The client device does not need to do anything else. Was the connection access request dialog shown? Tap the \"Bluetooth Settings\" button and check that both devices are not paired before running the test. \n\nUse the \"Make Discoverable\" and \"Pick Server\" buttons to connect the two Bluetooth devices together and start the test. Bluetooth HID Host Test Start the CTS Verifier on another device, start the Bluetooth test, and choose \"Bluetooth HID Device\" to complete the test. \n\nClick \"Register app\" and \"Make discoverable\" on another device first, and click \"Select device\". Choose the device from device picker. If the remote device is already paired, unpair it first from system Settings. \n\nAfter the remote device completes the \"Send_report\" command, text \"bluetooth\" should appear in the EditText. Mark the test as passed. \n\n If the device under test (DUT) does not have Bluetooth HID Host service or HID Device service enabled, mark the test as passed. Bluetooth HID Host Select device Bluetooth HID Device Test Start the CTS Verifier on another device, start the Bluetooth test, and choose \"Bluetooth HID Host\" to complete the test. \n\nFirst, click the \"Register app\" button, and click the \"Make discoverable\" button. \n\nThen, on another device, click the \"Select device" button, and choose this device. \n\nWait until the dialog shows up for pairing two devices. \n\nFinally, click the \"Test send_report\", \"Test reply_report\", \"Test report_error\". \n\nIf all the commands are successful, then click \"Unregister app\" and mark the test as passed. \n\n If the device under test (DUT) does not have Bluetooth HID Host service or HID Device service enabled, mark the test as passed. Bluetooth HID Device Register app Unregister app Test Send_report Test Reply_report Test Report_error Secure Server Start the CTS Verifier on another device, start the Bluetooth test, and choose \"Secure Client\" to complete the test. Insecure Server Start the CTS Verifier on another device, start the Bluetooth test, and choose \"Insecure Client\" to complete the test. Waiting for client... Listening... Connecting... Connected Received Messages Sent Messages No messages Make Discoverable Pick Server Pairing dialog shown? Insecure connections should not show the pairing dialog! Advertising is not supported Advertising is not supported on this device.\nTest finishes. BLE open failed Cannot open BLE GattService.\nTest finishes. Add service failed Failed to add services.\nTest finishes. Secure Client Insecure Client Device Picker Paired Devices New Devices No devices Scan for Devices Scanning... Device must be unpaired via Bluetooth settings before completing the test.\n\nUnpair the device in settings, make the server discoverable, and rescan to pick this device. Bluetooth Settings Bluetooth LE GATT Client Handler Service 01 Bluetooth LE Client Test Bluetooth LE Client Connect Bluetooth LE Discover Service Bluetooth LE Read Characteristic Bluetooth LE Write Characteristic Bluetooth LE Reliable Write Bluetooth LE Reliable Write (receive bad response) Bluetooth LE Notify Characteristic Bluetooth LE Read Descriptor Bluetooth LE Write Descriptor Bluetooth LE Read RSSI Bluetooth LE Client Disconnect The Bluetooth LE test must be done simultaneously on two devices. This device is the client. All tests listed here must be done without pairing. Type in the Bluetooth address of the remote device to connect to, and verify that the devices are connected. Verify that the service is discovered when you press the "Discover Service" button. Write values to and read values from the server to verify that the write and read functionalities are working correctly. A Reliable Write has two steps.\n\n1) Write to the device. This will trigger a callback from the server to verify that the value written was correct.\n2) Execute the write, if the value written is valid. Start accepting notifications, and verify that notifications are being reported correctly. The server should be notifying this device with the time every second. Press button to read the RSSI value. Verify that the RSSI changes as you move the two devices further apart or closer together. Verify that the device is disconnected when you press the "Disconnect" button Bluetooth address Connect Discover service Nothing to write yet Nothing read yet Write Read Begin write Execute write Begin notification Stop notification Waiting on notification Read RSSI Disconnect TEST Test finished Next Test Running This test requires a few minutes. Don\'t interrupt the test. Bluetooth LE Request MTU(23bytes) Bluetooth LE Request MTU(512bytes) Bluetooth LE GATT Server Handler Service 01 Bluetooth LE Server Test The Bluetooth LE test must be done simultaneously on two devices, a server device and a client device. This device is the server. Waiting on connection from Bluetooth LE client. Adding service to Bluetooth LE server. Waiting on write characteristic request Waiting on read characteristic request Waiting on write descriptor request Waiting on read descriptor request Waiting on reliable write from client Waiting on reliable write from client (send bad response) Waiting on disconnection from Bluetooth LE client 02 Bluetooth LE Connection Priority Server Test Bluetooth LE Connection Priority Server receive message from message in 3 different priority. Waiting on notify characteristic request Waiting on write characteristic request without permission Waiting on read characteristic request without permission Waiting on write descriptor request without permission Waiting on read descriptor request without permission Waiting on write encrypted characteristic request Waiting on read encryptedcharacteristic request Waiting on write encrypted descriptor request Waiting on read encrypted descriptor request Waiting on indicate characteristic request Waiting on MTU request(23 bytes) Waiting on MTU request(512 bytes) 03 Bluetooth LE Encrypted Server Test Bluetooth LE Encrypted Server Waiting on read/write characteristic and descriptor request need encrypted. Bluetooth LE Server is in operation.\nThis test does not change server state.\n\nIf Bluetooth pairing request was notified by system, you must cancel it.\n\nOnce the client tests are all successful, please change the state of the server-side to the "success". Bluetooth LE Insecure Server Test This test is mostly automated, but requires some user interaction. Once the list items below have check marks, the test is complete. \n\nTap \"01 Bluetooth LE Server Test\" on this device, then tap \"01 Bluetooth LE Client Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. Bluetooth LE Secure Server Test This test is mostly automated, but requires some user interaction. You can pass this test once the list items below are checked. \n\nTap \"01 Bluetooth LE Server Test\" on this device, then tap \"01 Bluetooth LE Client Test \"on other device. \nTest completed, then test next item. You must be done all tests. Bluetooth LE Advertiser Test The Bluetooth LE Advertiser Test and Scanner Test is a paired test. \nTap \"Bluetooth LE Advertiser Test\" on this device. Once it is passed, tap \"Bluetooth LE Scanner Test\". \nTap \"Bluetooth LE Scanner Test\" on this device. Once it is passed, tap \"Bluetooth LE Advertiser Test\". Bluetooth LE Advertiser Handler Service Bluetooth LE Privacy Mac Bluetooth LE Advertiser should advertise in non-repeating MAC address. Click start to start advertising, you can disconnect USB and lock the screen of advertiser. Counts and mac address will show on scanner. You may receive message that this device does not support Bluetooth LE advertising. Bluetooth LE Tx Power Level Bluetooth LE Advertiser advertises in 4 different power levels. Scanner should receive them in different strength of Rssi, cannot receive weak signals beyond several feet. Click start to start multi-advertising. Data packets are advertised in 4 different power levels. You may receive a message that this device does not support multi-advertising. If the advertiser does not advertise in 4 power levels, and you do not receive an error message, you may not have stopped advertising in the previous test, or this device may not support 4 advertisers at the same time. Try rebooting the device and running the test again to free those advertisers in use. Bluetooth LE Hardware Scan Filter Bluetooth LE Advertiser advertises with 2 different data separately. One can wake up the scanner, the other cannot. This test cares about behavior on scanner only. Scannable advertising Start scannable advertising, expect scanner consume more power on Monsoon monitor, or see log of GattService from scanner logcat. Unscannble advertising Start unscannable advertising, expect scanner stay calm on Monsoon monitor, no log of GattService from scanner logcat. Start Stop Bluetooth LE Scanner Test Bluetooth LE Scanner Handler Service The Bluetooth LE test must be done simultaneously on two devices, an advertiser and a scanner. This device is the scanner. Hold for 15 min to see if receive a different MAC address from advertiser. Mac address, counts are shown on screen. It should continuously receive data packet from advertiser. Every 15 min, a new mac address should show up, which prevents mac address disclosure. Ultra low Low Medium High Count: Ultra low < low < medium < high\nRssi: Ultra low < low < medium < high\nDistance to see count freezing: Ultra low < low < medium < high\nA common error is ultra low, low and medium behave similarly, with similar rssi, freeze at similar distance.\n\n All power level receive a mac address. BLE Hardware Scan Filter Lock the screen of scanner, and connect to monsoon. It will not wake up when advertiser is advertising unscannable, and scanner is scanning with filter. Scan filter is to scan data with service UUID = 0x6666 only. If you scan without scan filter, data with service UUID = 0x5555 and 0x6666 will show up on screen.\nFor monsoon test:\n\tClick scan with filter, lock the screen, connect to monsoon. It will not wake up when advertiser is advertising unscannable data packets, but will show a peak in power usage when advertiser is advertising scannable data.\nFor logcat test:\n\tClick scan with filter, logcat the scanner. No data will be received by GattService when advertiser is advertising unscannable data. Scan with filter Scan without filter Start scan Stop scan Testing priority: BALANCED HIGH LOW All test passed Test failed. Transfer interval time (msec):\nHIGH=%1$d\nBALANCED=%2$d\nLOW=%3$d\n\nRequirements:\n HIGH <= BALANCED <= LOW Bluetooth LE Secure Client Test Bluetooth LE Insecure Client Test Bluetooth LE Secure Server Test Bluetooth LE Insecure Server Test Bluetooth LE CoC Secure Client Test Bluetooth LE CoC Insecure Client Test Bluetooth LE CoC Secure Server Test Bluetooth LE CoC Insecure Server Test Bluetooth LE Read Characteristic Without Perrmission Bluetooth LE Write Characteristic Without Permission Bluetooth LE Read Descriptor Without Perrmission Bluetooth LE Write Descriptor Without Permission 02 Bluetooth LE Connection Priority Client Test Bluetooth LE Connection Priority Client send message in 3 different priority. Bluetooth LE Read Encrypted Characteristic Bluetooth LE Write Encrypted Characteristic Bluetooth LE Read Encrypted Descriptor Bluetooth LE Write Encrypted Descriptor Bluetooth LE Send With CONNECTION_PRIORITY_HIGH Bluetooth LE Send With CONNECTION_PRIORITY_LOW_POWER Bluetooth LE Send With CONNECTION_PRIORITY_BALANCED Bluetooth LE Indicate Characteristic 03 Bluetooth LE Encrypted Client Test Bluetooth LE Encrypted Client read/write on characteristic and descriptor need encrypted. Bluetooth LE Insecure Client Test The Bluetooth LE test must be done simultaneously on two devices. This device is the client. All tests listed here must be done without pairing. Tap \"Bluetooth LE Insecure Server Test\" on the other device. \n\nTap \"01 Bluetooth LE Client Test\" on this device, then tap \"01 Bluetooth LE Server Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. Bluetooth LE Secure Client Test The Bluetooth LE test must be done simultaneously on two devices. This device is the client. All tests listed here must be done with pairing. \n\nTap \"01 Bluetooth LE Client Test\" on this device, then tap \"01 Bluetooth LE Server Test\" on the other device. \nWhen the test is complete, move to the next item. You must complete all tests. Error!\nThe Characteristics unencrypted. Error!\nThe Descriptor unencrypted. It failed to write to Characteristic. It failed to write to Descriptor. It failed to read the Characteristic. It failed to read the Descriptor. The Bluetooth LE test must be done simultaneously on two devices. This device is the client. All tests listed here must be done with pairing. Bluetooth Disable! Please set bluetooth enable. Bluetooth pairing state is a mismatch! And even though it has already been trying to run a test of Secure, the device has not been paired. \nGo setting mode, set Bluetooth to pair other device. And even though it has already been trying to run a test of Insecure, the device has already been paired. \nGo setting mode, set Bluetooth to unpair other device. MTU is not correct.(Request:%1$d, Actual:%2$d) MTU test: failed to receive data Companion Device Test This test checks that APIs to manage companion devices are working correctly, including showing the dialog to the user to verify a device, as well as updating an internal record once the user made the choice and then removing it.\n\n Before proceeding, make sure you have a bluetooth device nearby and discoverable. Also, make sure that bluetooth is turned on on this device. Once you press the button, wait for a dialog to pop up and select your device from the list. Hardware/Software Feature Summary This is a test for... WARNING: device reports a disallowed feature name WARNING: device reports neither WiFi nor telephony No data. standard feature reported by device optional feature not reported by device non-standard feature reported by device required feature not reported, or forbidden feature reported Hifi Ultrasound Microphone Test This is a test for near-ultrasound (18500Hz - 20000Hz) microphone response.\n This test requires two devices.\n PLAY RECORD PLOT DISMISS OK Open Hifi Ultrasound Microphone Test on the test device and the reference device.\n Set the media volume of the reference device at 70% and hold it with one hand.\n Hold the testing device with the other hand\n Press the RECORD button on the testing device, then the PLAY button on the reference device within one second.\n After the test, report result on the testing (recording) device.\n PASS FAIL false Device does not support near-ultrasound recording.\n Please report PASS.\n Device does not support near-ultrasound playback.\n If this is your reference device, please use a different reference device.\n Hifi Ultrasound Speaker Test This is a test for near-ultrasound (18500Hz - 20000Hz) speaker response.\n This test requires two devices.\n Open Hifi Ultrasound Speaker Test on the test device and the reference device.\n Set the media volume of the testing device at 70% and hold it with one hand.\n Hold the reference device with the other hand\n Press the RECORD button on the reference device, then the PLAY button on the testing device within one second.\n After the test, report result on the testing (playback) device.\n Device does not support near-ultrasound recording.\n If this is your reference device, please use a different reference device.\n Device does not support near-ultrasound playback.\n Please report PASS.\n Please wait for the result on the reference device then report here. Please report on the testing device.\n GPS Test This test verifies basic GPS behavior and callback scheduling. Make sure the device has line of sight to GPS satellites (for example, outside, or near a window) and then press OK to run the automated tests. Location listener GNSS Measurement Constellation Test GNSS Measurement Before Location Test GNSS Measurement Registration Test GNSS Measurement Values Test GNSS Pseudorange Test GNSS TTFF Test GNSS Navigation Message Test GNSS Status Test This test verifies basic GNSS behavior. Make sure the device has line of sight to GNSS satellites (for example, stationary on a windowsill. If needed, try again, outside, also with the device stationary, and with at least some view of the sky.) and then press Next to run the automated tests. This test verifies whether basic features (wifi, sms, gps) works correctly during the emergency call. Make sure the device is using a special white listed sim card. The wifi and GPS should be on and have internet connection. Press the pass button to skip this test if outside US/Canada. This test will dial 911! Please make sure to use a whitelisted sim card to run this test! Current device doesn\'t support cellular network. Skipping the Test. Emergency Number: Current Number: Dial 911 911 If this test fails, please make sure the device has line of sight to GNSS satellites (for example, stationary on a windowsill. If needed, try again, outside, also with the device stationary, with as much view of the sky as possible.) Emergency Call GPS Test Emergency Call Message Test Emergency Call Wifi Test Network Background Connectivity Test This test verifies that IPv6 network connectivity continues to work when the screen is off or is idle for some time.\n\n 1. Join a Wi-Fi network with IPv6 Internet access.\n 2. If the device has battery power, disconnect all power connectors.\n 3. Turn the screen off if possible.\n 4. Wait until the screen turns on or the test result is displayed (it will take at least two minutes).\n 5. If necessary, unlock the device.\n 6. Please mark the test according to the result status indicated.\n Start Multinetwork connectivity Test This test verifies that, when a phone has internet connectivity via mobile network is connected to a Wi-Fi access point that doesn\'t have internet or loses internet access, it restores the internet activity over the mobile cell network, while connected to the Wi-Fi access point. \n\n 1. Setup a wireless access point with ability to turn on and off internet access. 2. Have SIM or cellular data connectivity on the phone being tested. 3. Execute the tests with the instructions outlined in the test 4. When the test completes, it will finish and mark it passed. If it fails, it will mark it \n as failed. Prerequisite - Setup a Wi-Fi access point with WPA PSK in which we can turn on or off internet access. Delete that access point from this device if it exists already. Start Wi-Fi SSID WPA 2 passphrase Confirm and continue with test. Completed. Re-run. Running. Connecting to cellular network. Connecting to Wi-Fi network. Test completed. Waiting for Wi-Fi to lose connectivity. Waiting to check connectivity. Waiting to make sure Wi-Fi has connectivity. Test 1 - Connect to Wi-Fi with no internet doesnt disable current connectivity (new API) Test 2 - Connect to Wi-Fi with no internet doesnt disable current connectivity (legacy API) Test 3 - When connected to Wi-Fi, on losing connectivity, restores mobile connectivity (legacy API) Wi-Fi connect success. Mobile net connect success. Wi-Fi connect timed out. Wi-Fi connected to wrong access point. Mobile network connect timed out. Mobile restore succeeded. Mobile restore failed. Make sure that the Hotspot does not have internet access. Make sure that the Hotspot has internet access. Make sure that the Hotspot does not have internet access. When prompted to go back to using mobile data, choose ok. Looks like your device does not support telephony or mobile data. If yes, you can mark test passed and proceed. Need mobile data to proceed. Please insert a mobile data capable sim and repeat the test. By marking test as passed, you acknowledge that the device cannot do mobile data. Wi-Fi connectivity failed. This test requires the CTS verifier to have the system overlay permission, please enable it in the next screen. Settings Cancel NFC Test The Peer-to-Peer Data Exchange tests require two devices with NFC enabled to exchange messages. One device must be the candidate device running the software build to be tested, while the other device must be an implementation already known to be compatible.\n\nThe Tag Verification tests check that your device can properly read and write to tags of different technologies. The MIFARE Ultralight test is only applicable for devices that support it. \n\nThe Host-based card emulation tests check that your device has properly implemented host-based card emulation. NFC is not enabled! These tests require NFC to be enabled. Click the button below to goto Settings and enable it. NFC Settings NDEF Push is not enabled! These tests require Android Beam to be enabled. Click the button below to goto NFC Sharing Settings and enable it. NFC Sharing Settings Peer-to-Peer Data Exchange NDEF Push Sender NDEF Push Receiver LLCP version check Tag Verification NDEF MIFARE Ultralight Start the \"CTS Verifier NDEF Receiver\" test on another device and touch the devices back to back. The receiver should show a dialog indicating it has successfully received the correct message! Touch this device to the back of another device running the \"CTS Verifier NDEF Receiver\"... Start the \"CTS Verifier NDEF Sender\" test on another device and touch the devices back to back. The receiver should show a dialog indicating it has successfully received the correct message! Touch this device to the back of another device running the \"CTS Verifier NDEF Sender\"... Successfully received the correct NDEF push message. Failed to receive the correct NDEF push message. This test requires two candidate devices with NFC enabled to exchange P2P messages. Start the \"LLCP version check\" test on the other candidate device also, and touch the devices back to back. This test then verifies that the candidate device correctly advises the LLCP version as 1.2 The candidate devices does not report LLCP version 1.2 or higher. The candidate device has a valid LLCP version. NFC Tag Verifier Follow the on-screen instructions to write and read a tag of the chosen technology. Place device on a writable %s tag... Writable tag discovered! Press OK to write to this tag... Tap the same %s tag again to confirm that its contents match... Wrong type of tag scanned No tag technologies detected... Writing NFC tag... Error writing NFC tag... Reading NFC tag... Error reading NFC tag... Written data:\n%1$s\n\nRead data:\n%2$s Id: %1$s\nMime: %2$s\nPayload: %3$s Host-based card emulation Host-based Felica card emulation HCE reader tests HCE Felica reader tests HCE emulator tests HCE Felica emulator tests HCE Felica emulator HCE Felica reader The host-based card emulation tests require two devices to be completed. The HCE emulator tests are used to actually test the host-based card emulation feature of the device-under-test. So the device running the emulator tests must be the candidate device running the software to be tested. \n\nFor each emulator test, there is a corresponding "reader test" in the "HCE reader tests" section. The "reader test" acts as a NFC terminal/POS and makes sure the device-under-test implements card emulation correctly. The host-based card emulation tests require two devices to be completed. The HCE emulator tests are used to actually test the host-based card emulation feature of the device-under-test. So the device running the emulator tests must be the candidate device running the software to be tested. \n\nFor each emulator test, there is a corresponding "reader test" in the "HCE reader tests" section. The "reader test" acts as a NFC terminal/POS and makes sure the device-under-test implements card emulation correctly. By default HCE applications must run on type A. If your device is restricted to type B (for example, because of a type B only UICC), select "Type B" from the drop-down box above. Note that all tests must be completed in the same mode (either "Type A" or "Type B"). Please wait Setting up card emulation services... Default route (Emulator) Default route (Reader) This test verifies that the default route for ISO-DEP (ISO14443-4) frames is the host CPU. It does this by selecting an AID that any Android HCE phone will respond to if the select command is routed to the host. Please verify that there is no rule in the routing table that points this AID to the host. This test may be passed if the "PASS" button on the reader side lights up after tapping the devices together. Protocol parameters (Emulator) Protocol parameters (Reader) This test verifies that the Nfc-A and ISO-DEP protocol parameters are being set correctly. The test may be passed when no FAIL entries show up in the results below. Note that the reader device may be different from the device under test - the DUT itself does not need to be able to act as the reader for this test. \n\n Note that for each test there are 3 possible outcomes:\n1) OK -> test has passed;\n2) FAIL -> test has failed and this must be fixed;\n3) FAIL EMVCO -> this protocol parameter is deviating from the requirements in the EMV Contactless Communication Protocol specification.\n\nWhile it is allowed to ship a HCE implementation with EMVCo failures, it may not perform optimal when EMVco based payment HCE apps are run on the device. Single payment (Emulator) Single payment (Reader) Two payment services (Emulator) Two payment services (Reader) Change default payment service (Emulator) Change default payment service (Reader) Tap reader Select the corresponding reader test on the remote device, click OK on this dialog, and tap devices together. The pass button will be enabled if the test passes. Single non-payment (Emulator) Single non-payment (Reader) Two non-payment services (Emulator) Two non-payment services (Reader) Two conflicting non-payment services (Emulator) Two conflicting non-payment services (Reader) Foreground override non-payment services (Emulator) Foreground override non-payment services (Reader) This test enables two non-payment services with conflicting AIDs. It then uses Androids API to allow the foreground app to set a preference for a specific service. This should prevent a popup dialog from showing. If you see a popup dialog during this asking you to select an app, this test has failed. Foreground override payment services (Emulator) Foreground override payment services (Reader) This test enables two payment services, and asks you to set one as the default service. It then uses Androids API to allow the foreground app to set a preference for the non-default service. This will cause the non-default payment service to be invoked. This test requires the \"Use default\" setting to be set to \"Except when another payment app is open\". Tap OK to go to Tap and Pay settings and make sure the \"Use default\" setting is set to \"Except when another payment app is open\". Off-host service (Emulator) Off-host service (Reader) This tests enables a service that declares some AIDs to reside off-host. This test only needs to be passed if your device has a secure element (either embedded or UICC.). The responses from the secure element are not verified by the test - it is up to the tester to verify the responses are as expected. On and off-host services (Emulator) On and off-host services (Reader) This tests enables a service that declares some AIDs to reside off-host, and another service that runs on host. It then first sends an APDU sequence that goes off-host, and subsequently some APDUs that should go to the on-host service. This test only needs to be passed if your device has a secure element (either embedded or UICC.). The pass button will be enabled if the on-host sequence is performed as expected. The responses from the secure element are not verified by the test - it is up to the tester to verify the responses are as expected. 50 successful taps test (Emulator) 50 successful taps test (Reader) This test requires you to complete at least 50 HCE taps, to ensure stability of the HCE feature. The NFC service and controller should not crash or hang during any of the 50 taps. HCE throughput test (Emulator) HCE throughput test (Reader) This tests verifies that your HCE implementation can reach a decent throughput. While Android does not have any requirements on HCE performance, many HCE applications such as transport and payment apps do. If the average APDU roundtrip time is more than 50ms, please take a look at your implementation to see where the delay is coming from. The device has an installed payment application that is currently set as default. To complete the test, you will be asked whether you want to make another app the default app. Select yes. You will now be asked whether you want to make Payment Service #1 the default app. Select yes. When tapping the first time, you will be shown a dialog that asks you to choose between TransportService #1 and TransportService #2. Select TransportService #2. Verify a dialog is shown that asks you to tap again to complete. Now tap again, and if communication with TransportService #2 is successfull the pass button will be enabled." Dynamic payment AIDs (Emulator) Dynamic payment AIDs (Reader) This test tries to register dynamic AIDs for a payment service. Large number of AIDs (Emulator) Large number of AIDs (Reader) This test tries to register a large number of different AIDs, to make sure there are no limitations on the maximum amount of HCE apps on the device. Note that this test may take a few seconds to complete; please be patient. Payment prefix AIDs (Emulator) Payment prefix AIDs (Reader) This test statically registers prefix AIDs for a payment service. Payment prefix AIDs 2 (Emulator) Payment prefix AIDs 2 (Reader) Other prefix AIDs (Emulator) Other prefix AIDs (Reader) This test dynamically registers prefix AIDs for a non-payment service. Conflicting non-payment prefix AIDs (Emulator) Conflicting non-payment prefix AIDs (Reader) This test registers conflicting prefix AIDs and makes sure AID conflict detection with prefix AIDs works properly. When tapping the first time, you will be shown a dialog that asks you to choose between TransportService #1 and TransportService #2. Select TransportService #2. Verify a dialog is shown that asks you to tap again to complete. Now tap again, and if communication with TransportService #2 is successfull the pass button will be enabled." NFC Payment service PPSE MasterCard Visa Payment Service #1 Payment Service #2 TransportService #1 TransportService #2 AccessService OffhostService Felica Service Sensor Tests Device Admin Receiver Tests passed: %1$d, Tests skipped: %2$d, Tests failed: %3$d Test completed without errors. Test completed with errors which indicates the device does not meet Android compatibility requirement. This will degrade user experience and cause applications to misbehave. To help debugging, please take a bug report and back up contents under /sdcard/sensorTests of the device under test. PASS SKIPPED FAIL Test execution time %1$s sec Rotation Vector CV Crosscheck Rotation Vector CV Recording A sound will be played once the verification is complete... Leave the device on top of a flat surface. Once the test begins, you will have to wave your hand over the front of the device. Keep the device steady. Once the test begins, you will have to keep rotating the device clockwise. Press \'Next\' to continue. Press \'Next\' to begin. Press \'Retry\' to rerun or \'Fail and Next\' to skip to next. Press \'Retry\' to rerun or \'Finish\' to end. After completing the task, go back to this test. Movement was expected during the test. Found=%1$b. IMPORTANT NOTE: Please also turn off any special features in the device that use sensors (wake up gestures, motion triggered events, moves, etc). Not doing so is expected to cause test failures. Once you are done, you can begin the test. You will be redirected to set \'%1$s\' to: %2$s. \'%1$s\' set to: %2$s. \'%1$s\' not set to: %2$s. Airplane mode Adaptive Brightness Auto-rotate screen Stay awake Location Ambient Display Pass Anyway The screen will be turned off to execute the tests, when tests complete, the device will vibrate and the screen will be turned back on. Accelerometer Test This test verifies that the accelerometer is working properly. As you move the device around through space, the triangle should always point down (i.e. in the direction of gravity.) If it does not, the accelerometer is improperly configured. Accelerometer Measurement Tests Place the device on a flat surface with the screen facing the ceiling. Place the device on a flat surface with the screen facing it. Place the device in a flat surface resting vertically on its right side. Place the device in a flat surface resting vertically on its left side. Place the device in a flat surface resting vertically on its top side. Place the device in a flat surface resting vertically on its bottom side. Gyroscope Test This test verifies that the gyroscope is working properly.\n\nRotate your device as shown by the 3D block. A green background or a check mark indicates that the gyroscope\'s value is correct. A red background or a X mark indicates that the gyroscope\'s value is not right.\n\nThere are 6 parts of the test corresponding to each rotation. Press Pass for all the stages to complete this test. Test %1$d of %2$d No gyroscope? It doesn\'t seem like you have a gyroscope, so you don\'t need to run this test. Wrong units? These values looks like degrees per second. These should be radians per second! Gyroscope Measurement Test Place the device in a flat surface with the screen facing the ceiling. Read the instructions for each scenario, before you perform the test. Leave the device static. Once you begin the test, you will need to rotate the device 360deg (one time) in the direction show by the animation, then place it back on the flat surface. Heart Rate Test This test verifies that the heart rate monitor is working properly.\n\nWait for at least 1 minute before verifying.\n\nVerify that the resting heart rate is between 0 and 100. No heart rate monitor? It doesn\'t seem like you have a heart rate monitor, so you don\'t need to run this test. Magnetic Field Measurement Tests Verifying the Norm... Verifying the Offset... Verifying the Standard Deviation... Verifying the relationship between calibrated and uncalibrated measurements... Please calibrate the Magnetometer by moving it in 8 shapes in different orientations. Click \"Next\" to start and click \"Next\" once again to end calibration. When done, leave the device in a flat surface, far from all metallic objects (if the test does not pass, try re-running it outdoors). -> (%1$.2f, %2$.2f, %3$.2f) : %4$.2f uT Rotation Vector Accuracy Test Sensor(%3$s). Event values expected to have size=%1$d. Found=%2$d. Sensor(%3$s). Event value[0] expected to be of value=%1$f. Found=%2$f. Sensor(%5$s). Event timestamp expected to be synchronized with SystemClock.elapsedRealtimeNanos(). Event received at=%1$d. Event timestamp=%2$d. Delta=%3$d. Threshold=%4$d. Sensor Batching Manual Tests Once the test begins, you will have to take the device in your hand and walk. Sensor Synchronization Test Step Counter and Detector Tests Once the test begins, you will need to walk, and tap on the screen with each step you take. Once the test begins, you will need to remain still and hold the device still in your hand. At least %1$d steps are expected to be reported. Reported=%2$d. Steps reported by user=%1$d. Steps counted=%2$d. Delta=%3$d. Tolerance=%4$d. Steps reported by user=%1$d. Steps detected=%2$d. Delta=%3$d. Tolerance=%4$d. Step counter expected to increase monotonically, with a delta > 0. Found=%1$d. Timestamp=%2$d. %1$d | User reported step. %1$d | Step Counter event. count=%2$d. %1$d | Step Detector event. Step Permission Test Please change the \'Physical Activity\' permission for CtsVerifier to \'Deny\' Please change the \'Physical Activity\' permission for CtsVerifier to \'Allow\' Please begin walking while holding the device. A sound will play when you may stop walking Device Suspend Tests Device did not go into suspend mode during test execution Batch did not arrive at the expected time estimatedBatchArrivalMs=%1$d firstEventReceivedMs=%2$d diffMs=%3$d toleranceMs=%4$d One you begin the test, disconnect USB, turn off the display and allow the device to go into suspend mode. The screen will turn on and a sound will be played once all the tests are completed. Device Suspend Service Device Suspend Test Active Device Suspend Test is using sensors. Significant Motion Tests Event expected to trigger. Triggered=%1$s. Event expected to be of type=%1$d. Found=%2$d. Event not expected to trigger. Triggered=%1$s. Significant Motion is expected to disable itself after it triggers once. Once you begin the test, you will need to walk for Significant Motion to be detected. Once you begin the test, you will need to walk to ensure Significant Motion is not reported after trigger canceled. Leave the device in a level surface. Once you begin the test, the device will vibrate to ensure that Significant Motion is not triggered. Once you begin the test, hold the device in your hand while you perform natural hand movements. Once you begin the test, keep the device in your pocket and move naturally while sitting in a chair. Once you begin the test, you will need to walk to ensure Significant Motion triggers only once. Expected to be able to register for TriggerSensor. Found=%1$b. Expected to be able to cancel TriggerSensor. Found=%b. One you begin the test, disconnect USB, turn off the display and allow the device to go into suspend. You will need to walk to ensure that Significant Motion triggers. The screen will turn on and a sound will be played once the test completes. Device did not wakeup at trigger time. wakeTime=%1$d ms triggerTime=%2$d ms Event sanitization for idle UID test Run the \'adb shell cmd sensorservice set-uid-state com.android.cts.verifier idle\' shell command to emulate the CtsVerifier UID being idle. Run the \'adb shell cmd sensorservice reset-uid-state com.android.cts.verifier\' shell command to stop emulating the CtsVerifier UID being idle. Failing to do that would lead to other tests failing! Move around with the device to try triggering significant motion No trigger events should be generated while idle Touch the proximity sensor to try triggering it No on-change events should be generated while idle Off Body Sensor Tests Registration failed for low latency offbody detect sensor.\n Expected to receive a low latency offbody detect event. Found=%b. Event expected to be of type=%1$d. Found=%2$d. Invalid value received for offbody state; Expected value %1$d or %2$d. Found=%2$d. Expected to receive an event having value=%1$d. Found=%2$d. Event not expected to trigger. Triggered=%1$s. %1$s event maximum allowed latency is %2$d. Found=%3$d ms. Offbody state changed to %1$d. Timestamp=%2$d. Put watch on your wrist and then click Next button. Remove the watch from your wrist and then click Next button. Click Next button, then immediate remove the watch from your wrist after the countdown reaches 0. Countdown: %1$d. Click Next button, then immediately attach the watch on your wrist. Click Next button, then palm the screen. Wait a few seconds after screen blackens, then remove watch from wrist. CTS Single Sensor Tests CTS Sensor Integration Tests CTS Sensor Test CTS Sensor Batching Tests Dynamic Sensor Discovery Test Share Sample Framework Test Sample Test This test verifies that bluetooth sharing is working properly.\nThe test assumes the Device Under Test has bluetooth enabled and is already paired with a second device, also with bluetooth enabled.\nStart this test by clicking share, choose bluetooth from the options, and then select a device to share with.\nNote: This is a sample test, used to demonstrate how to write CTS Verifier tests, so just click pass. Show overlay Usb Debugging Dialog Tapjacking Test This test verifies that tapjacking on the usb dialog is not possible by disallowing users from accepting usb debugging pemissions when dialog is obscured. 1. Connect device via usb to computer.\n 2. Click \"Show overlay\" button. Settings may appear if the CTS Verifier app doesn\'t have display over apps permission. Enable this permission and then click back to navigate back to the app.\n 3. Trigger USB debugging dialog (from computer terminal): \"adb shell am start -e fingerprints placeholder -e key placeholder %s\"\n 4. USB debugging dialog should appear. If the overlay cannot be seen above the USB debugging dialog, PASS this test (no need to proceed to Step 5). Else, if the overlay does appear on top saying \"This message covers the USB debugging RSA prompt\", continue to Step 5.\n 5. Try clicking OK. \n Test pass if you cannot click OK when the text quoted above is on top of the USB debugging dialog. Toast should appear saying there is an overlay so Settings cannot verify your response. \n Note: Fake message overlay may remain on screen until you leave the test. This is working as intended. \n com.android.systemui/.UsbDebuggingActivityAlias This message covers the USB debugging RSA prompt Please restart the application and try again. Please enable display over apps permission for this application before proceeding. Camera Orientation This test verifies the orientation capabilities of camera preview and capture.\n - The left view shows a preview window rotated clockwise by a given magnitude of degrees.\n - The right view, after taking a photo, shows the captured image.\n - For each camera and orientation, both the left and right views should appear rotated clockwise by the amount of degrees specified. Choose \"Pass\" if this is the case. Otherwise, choose \"Fail\".\n - For front-facing cameras, the test will horizontally mirror the captured image prior to rotation, in attempt to make the left and right views appear the same.\n - The physical orientation of the device does not matter.\n - Read the message above the \"Take Photo\" button for step-by-step instructions. Camera preview Oriented photo Camera: Orientation clockwise Instruction: Take a photo Choose \"Pass\" if the left view is oriented the same as the right view. Otherwise, choose \"Fail\". (mirrored horizontally prior to rotation, since camera is front-facing) Take Photo Camera Intents This test verifies that the default camera app is firing intents after pictures/videos are taken. It also verifies that when the default camera app is invoked via intents, the launch intents work, ,broadcast intents are received when appropriate per the SDK documentation and also, that the intent results do not have location information in them. Before starting with the tests, please go to the Settings app and deny location permissions to the CtsVerifier app, and after finishing with the camera intent tests, please go to the Settings app and restore location permissions, otherwise, other tests may fail.\n\n - Read the message above the \"Start Test\" button for step-by-step instructions. Camera preview Oriented photo Camera: Intents Test clockwise Instructions: Please give CTS Verifier location permissions before clicking on the pass / fail button Please give CTS Verifier location permissions if the fail button needs to be clicked CTS Verifier debug directory could not be created, please try again READ BEFORE STARTING TEST Choose \"Pass\" if the right intent is fired after taking a photo from the camera app. Otherwise, choose \"Fail\". \n 1. Click Open Settings and deny location permissions to CTS Verifier and return. \n 2. Click Start Test. \n 3. Go to home screen (HOME key). \n 4. Launch Camera application. \n 5. Capture photo within 1 minute. \n 6. Return to CTS verifier app. \n 7. Pass button will light up if intent and URI triggers were fired.\n 8. Click "Pass" if possible, otherwise open settings app, allow location again and click "Fail". \n 1. Click Start Test. \n 2. Go to home screen (HOME key). \n 3. Launch Camera application. \n 4. Capture video within 1 minute. \n 5. Return to CTS verifier app. \n 6. Pass button will light up if intent and URI triggers were fired.\n 7. Click "Pass" if possible, otherwise open settings app, allow location again and click "Fail". \n 1. Click Start Test.\n 2. Camera app will launch, prompting to take photo.\n 3. Capture/confirm photo using camera app controls within 1 minute.\n 4. Pass button will light up if intent and URI trigger were NOT received.\n 5. Click "Pass" if possible, otherwise open settings app, allow location again and click "Fail". \n 1. Click Start Test.\n 2. Camera app will launch, prompting to take video.\n 3. Capture/confirm video using camera app controls within 1 minute.\n 4. Return to the CTS Verifier app. Click Open Settings and give back CTS Verifier location permissions \n (Note this must be done before clicking on Pass / Fail).\n 5. Click "Pass" if possible. Start Test Open Settings Camera Formats This test checks that all the supported output formats for camera preview callbacks work correctly, and that the mandatory formats are available. \n - The left view shows a standard preview window. \n - The right view shows the output processed from camera preview callbacks. \n - For each camera, resolution, and format combination in the dropdowns, the right view should look the same as the left, and neither should have streaks, lines, or other artifacts. \n - For front-facing cameras, the right view must be horizontally mirrored relative to the left view.\n - Note that the frame rate of the right view may be much lower than on the left; this is not an indication of a failed test.\n - The next button triggers the next resolution and format combination of the current camera to show; this is optional. Normal preview Processed callback data Next Test Camera Video This test checks video capture at different resolutions. \n - The left view window shows the preview. \n - Pressing the test button will trigger three seconds of video recording. Playback will show up in the right view window after recording is complete. \n - Use the spinners to choose camera and resolution combinations. The playback should be similar to what you saw in preview. \n - The next button triggers test for the next untested resolution of the currently selected camera. - After all possible combinations are tested, the pass button will be enabled. You may press the pass button to indicate a pass. \n - You may press fail button any time during the test to indicate failure. \n Video capture Video playback Test failed Fail and quit Cancel Ready Recording Playing back USB Accessory Test 1. Install the Cts Verifier USB Companion app on a separate helper device. \n\n2. Start the accessory test companion in the Cts Verifier USB Companion. \n\n3. Connect the two devices. If using a OTG adapter make sure the adapter is directly connected to the helper device. If using an Type-C cable make sure that the helper device is set as "supply power to the attached device". \n\n4. Confirm access to the USB device on the helper device. \n\n5. Confirm access to the USB accessory on this device \n\n6. Confirm access to the USB device on the helper again. \n\n7. Test will run and complete automatically in less than 30 seconds. \n\n8. Cancel all further dialogs on this device In this specific order: \n1. Install the Cts Verifier USB Companion app on a separate helper device. \n2. Start the accessory test companion in the Cts Verifier USB Companion. \n3. Connect the two devices. If using a OTG adapter make sure the adapter is directly connected to the helper device. If using an Type-C cable make sure that the helper device is set as "supply power to the attached device". \n4. Confirm access to the USB device on the helper device. Only confirm once. \n5. Confirm access to the USB accessory on this device. \n6. Confirm access to the USB device on the helper device again. \n\nResult: A progress indicator should appear or test will finish. Test is running and will complete automatically in less than 30 seconds. USB Device Test 1. Install the Cts Verifier USB Companion app on a separate helper device. \n\n2. Start the device test companion in the Cts Verifier USB Companion. \n\n3. Connect the two devices. If using a OTG adapter make sure the adapter is directly connected to this device. If using an Type-C cable make sure that this device is set as "supply power to the attached device". \n\n4. Confirm access to the USB device on this device. Do not make this app the default app for the device. \n\n5. Confirm access to the USB accessory on the helper device. \n\n6. Confirm access to the USB device on this device again. Do not make this app the default app for the device. \n\n7. Test will run and complete automatically in less than 30 seconds. \n\n8. Cancel all further dialogs on the helper device. In this specific order: \n1. Install the Cts Verifier USB Companion app on a separate helper device. \n2. Start the device test companion in the Cts Verifier USB Companion. \n3. Connect the two devices. If using a OTG adapter make sure the adapter is directly connected to this device. If using an Type-C cable make sure that this device is set as "supply power to the attached device". \n\nResult: A dialog should show up on this device asking for access to a USB device. Confirm access to the USB device on this device. Do not make this app the default app for the device. \n\nResult: Dialogs should show up on this device and on the helper device asking for access to a USB device/accessory. 1. Confirm access to the USB accessory on the helper device. \n2. Confirm access to the USB device on this device again. Do not make this app the default app for the device. \n\nResult: A progress indicator should appear or test will finish. Test is running and will complete automatically in a less than 30 seconds. Usb companion device is not as expected %1$s. Please retry test. MTP Host Test The CTS-verifier tests the MTP host feature with another Android device. Please connect another Android device to this Android device by using OTG cable or USB type C cable, then follow the instructions on this screen. Note the test creates/deletes files in the connected Android device. Connect MTP device.\nPlease connect another Android device to this device by using USB OTG cable or USB type C cable.\nOpen \"Use USB for\" dialog from the notification in the other Android device and choose \"File Transfer\" option.\nThen press the next button. Grant permission.\nReply a dialog asking device permission. Test MtpDevice#readEvent.\nTake a picture at the connected device. Test MtpDevice#sendObject. Test MTP file browsing.\nCheck if the UI to browse files in the connected devices was shown automatically. If not, tap a notification on this device saying the other MTP device is connected. If different application launched, go to the applicaiton settings by clicking the App Settings button, open the detailes settings page of the app, clear the default action settings, and retry. App Settings Camera ITS Test 1. Connect your Android device to a computer with adb installed via a USB cable. \n\n2. Setup the CameraITS test environment by following the setup instructions in the README file found in the CameraITS directory included in the CTS Verifier bundle (cd CameraITS; source build/envsetup.sh;). \n\n3. Setup the test scene described in the CameraITS README file, and aim the camera at it. \n\n4. Run the full ITS test suite on all possible camera Ids. (cd CameraITS; python tools/run_all_tests.py). Once all of the tests have been run, the \'PASS\' button will be enabled if all of the tests have succeeded. Please note that these tests can take more than 2 hours to run on some devices. No camera manager exists! This test device is in a bad state. All cameras on this device are exempted from ITS - Pass. All Camera ITS tests passed. Pass button enabled! Some Camera ITS tests failed. CtsVerifier and ITS script version mismatch. Please update CtsVerifier and ITS script. ITS test progress will be shown here. Camera Flashlight This test checks the flashlight functionality. It will turn on and off the flashlight of each camera device that has a flash unit. Follow the instructions on screen and observe the flashlight status changing. Start Next Done On Off Press Start to start flashlight test. Is Camera %1$s flashlight on or off? Ok. Press next. Test failed. Press Done or Fail button. All tests passed. Press Done or Pass button. Camera Performance This activity will run performance test cases. For optimal and consistent results please make sure that all camera sensors are pointing in a direction with sufficiently bright light source. Running CTS performance test case... Test Result Streaming Video Quality Verifier This is a test for assessing the quality of streaming videos. Play each stream and verify that the video is smooth and in sync with the audio, and that there are no quality problems. No videos. Test Failed Unable to play stream. See log for details. Wi-Fi Test The Wi-Fi tests requires an open (no security) access point in the environment along with the DUT. \nPlease perform a network settings reset between each test to reset platform\'s internal state which might interfere with the test flow.\nNavigate to \"Settings -> System -> Reset Options -> Reset Wi-Fi, mobile & Bluetooth\" to perform a network settings reset. Wi-Fi / Location Mode is not enabled These tests require Wi-Fi and Location Mode to be enabled. Click the button below to go to system settings and enable Wi-Fi and Location Mode. Wi-Fi Settings Location Settings Test failed.\n\nSet up error. Check whether Wi-Fi is enabled. Test failed.\n\nUnexpected error. Check logcat. Initiating scan. Unable to initiate scan or find any open network in scan results. Connected to some other network on the device. Please ensure that there is no saved networks on the device. Initiating network request. Waiting for network connection. Please click the network in the dialog that pops up for approving the request. "Connected to network." "Ensuring device does not connect to any network. You should see an empty dialog that pops up for approving the request." "Did not connect to any network." Ensuring device does not disconnect from the network until the request is released. Disconnected from the network. Network callback timed out. Adding suggestions to the device. Failed to add suggestions. Removing suggestions from the device. Failed to remove suggestions. Waiting for network connection. Please click \"Yes\" in the notification that pops up for approving the request. Connected to the network. Waiting for post connection broadcast. Received post connection broadcast. Failed to receive post connection broadcast. Ensuring device does not disconnect from the network after removing suggestions. Disconnected from the network. Test completed successfully! Test failed! Network Request tests Network Request with a specific SSID and BSSID. Tests whether the API can be used to a connect to network with a specific SSID and BSSID specified in the request. Network Request with a SSID and BSSID pattern. Tests whether the API can be used to a connect to network with a SSID and BSSID pattern specified in the request. Network Request with a specific network that is unavailable. Tests that the API fails to connect when an unavailable network is specified in the request. Network Suggestion tests Network suggestion with SSID. Tests whether the API can be used to suggest a network with SSID to the device and the device connects to it. Network suggestion with SSID and BSSID. Tests whether the API can be used to suggest a network with SSID and specific BSSID to the device and the device connects to it. Network suggestion with SSID and post connection broadcast. Tests whether the API can be used to suggest a network with SSID to the device and the device connects to it and sends the post connect broadcast back to the app. Wi-Fi Direct Test The Wi-Fi Direct tests require two devices with Wi-Fi Direct enabled to exchange messages. One device must be the candidate device running the software build to be tested, while the other device must be an implementation already known to be compatible.\n\nOne device should start the requester test, and the other should start the responder test. Your device must pass both requester and responder tests. Group Formation Group Join Service Discovery GO Negotiation Responder Test GO Negotiation Requester Test Group Owner Test Group Join with Config Group Join with Config 2G Band Group Join with Config Fixed Frequency Group Owner With Config Test Group Owner With Config 2G Band Test Group Owner With Config Fixed Frequency Test Group Client Test Group Client With Config Test Group Client With Config 2G Band Test Group Client With Config Fixed Frequency Test Service Discovery Responder Test Service Discovery Requester Test GO Negotiation Responder GO Negotiation Requester Group Owner Group Client Service Discovery Responder Service Discovery Requester Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"GO Negotiation Requester Test\" on the other device and follow the instructions. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"Group Client Test\" on the other device and follow the instructions. Start the \"Service Discovery Requester Test\" on the other device and follow the instructions. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"GO Negotiation Responder Test\" on the other device. Then run each test individually by clicking on its name. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"Group Owner Test\" on the other device. Then run each test individually by clicking on its name. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"Service Discovery Responder Test\" on the other device. Then run each test individually by clicking on its name. Wi-Fi is not enabled These tests require Wi-Fi to be enabled. Click the button below to go to system settings and enable Wi-Fi. Wi-Fi Direct Settings Test passed successfully. The go negotiation responder is now ready to start. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"GO Negotiation Requester Test\" on the other device. Keep the screen here until all tests on the other device are finished. The group owner is now ready to start. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"Join Group Test\" on the other device. Keep the screen here until all tests on the other device are finished. The service responder is now ready to start. Go to the Security and Location settings and ensure that Location is enabled. Then go to the Wi-Fi settings and forget all remembered networks. Then start the \"Service Discovery Requester Test\" on the other device. Keep the screen here until all tests on the other device are finished. Test failed.\n\nSet up error. Check whether Wi-Fi can be enabled. Test failed.\n\nUnexpected error. Check logcat. Test failed.\n\nFailed to add local service. Test failed.\n\nFailed to add service request. Test failed.\n\nFailed to remove service request. Test failed.\n\nFailed to clear service requests. Test failed.\n\nFailed to start a p2p connection to the target device. Test failed.\n\nFailed to remove a p2p group. Test failed.\n\nFailed to discover peers. Test failed.\n\nFailed to discover services. Test failed.\n\nFailed to start up group owner. Test failed.\n\n\"NO_SERVICE_REQUESTS\" error did not occur. Test failed.\n\nReceived an invalid message or could not receive the expected message.\n\n Test failed.\n\n The target responder device was NOT found. Start up the responder test on the other device, then run the test again. Test failed.\n\n The target responder must be p2p device. However, the target responder device was group owner. Check the test case on the other device. Test failed.\n\n The target responder must be group owner. However, the target responder device was p2p device. Check the test case on the other device. Test failed.\n\nFailed to establish a p2p connection. Test failed.\n\nFailed to detect client disconnection. Test failed.\n\nFailed to disconnect a p2p connection. Search Target Searching for target device ... Checking the service discovery capability ... Trying to connect the target device ...\n\n Click the \"OK\" button on the other device to accept the connection request from this device. Trying to connect the target device ...\n\n Enter the pin number on the other device. Waiting for peer to connect ... Waiting for peer to disconnect ... Wi-Fi Aware Test The Wi-Fi Aware tests require two devices with Wi-Fi enabled. One device must be the candidate device running the software build to be tested, while the other device must be an implementation already known to be compatible.\n\nThere are tests for Publisher and Subscriber, Responder and Initiator. One device should start in a role, and the other should start in the complementary role. Your device must pass the tests in all roles. Wi-Fi / Location Mode is not enabled These tests require Wi-Fi and Location Mode to be enabled. Click the button below to go to system settings and enable Wi-Fi and Location Mode. Wi-Fi Settings Test failed.\n\nSet up error. Check whether Wi-Fi is enabled. Test failed.\n\nUnexpected error. Check logcat. Data Path: Open: Unsolicited/Passive Data Path: Passphrase: Unsolicited/Passive Data Path: Open: Solicited/Active Data Path: Passphrase: Solicited/Active Discovery with Ranging Publish Subscribe Data Path (OOB): Open Data Path (OOB): Passphrase Responder Initiator Attached ... Attach failure! Attach failure - timed out! Discovery (Identity) MAC address: %1$s ... Identity listener failure - timed out! Subscribe discovery session started ... Subscribe failure! Subscribe failure - timed out! Subscribe failure - null session! Publish discovery session started ... Publish failure! Publish failure - timed out! Publish failure - null session! Service discovered ... Service discovered ... peer MAC : %1$s Service discovery failure - timed out! Service discovery failure - parameter mismatch! Sent message successfully ... Send message failure! Send message failure - timed out! Send message failure - mismatched ids! Received message ... Starting RTT operations ... Pausing to let other device perform RTT ... Other device done with RTT ... Received peer MAC address: %1$s ... Receive message failure - timed out! Receive message failure - didn\'t receive expected message! Network requested ... Network formed ... Network request failure - timed out! Failure: Network request success - but leaked information! Pausing to let Responder time to set up ... Ranging to PeerHandle failure: %1$d failures of %2$d attempts! Ranging to MAC address failure: %1$d failures of %2$d attempts! Ranging to PeerHandle success: %1$d successes of %2$d attempts! Ranging to MAC address success: %1$d successes of %2$d attempts! Discovery lifecycle FAILURE! Discovery lifecycle validated! Failure on socket connection setup! ServerSocket started on port %1$d! Peer server info: IPv6=%1$s @ port=%2$d! Message from peer: \'%1$s\' Data Path: Open: Unsolicited Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: Open: Unsolicited/Passive\' / \'Subscribe\' test. Data Path: Open: Passive Subscribe Data Path: Passphrase: Unsolicited Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: Passphrase: Unsolicited/Passive\' / \'Subscribe\' test. Data Path: Passphrase: Passive Subscribe Data Path: Open: Solicited Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: Open: Solicited/Active\' / \'Subscribe\' test. Data Path: Open: Active Subscribe Data Path: Passphrase: Solicited Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: Passphrase: Solicited/Active\' / \'Subscribe\' test. Data Path: Passphrase: Active Subscribe Data Path (OOB): Open: Responder The responder is now ready.\n\nOn the other device: start the \'Data Path (OOB): Open\' / \'Initiator\' test. Data Path (OOB): Open: Initiator Data Path (OOB): Passphrase: Responder The responder is now ready.\n\nOn the other device: start the \'Data Path (OOB): Passphrase\' / \'Initiator\' test. Data Path (OOB): Passphrase: Initiator Discovery with Ranging: Publish The publisher is now ready.\n\nOn the other device: start the \'Discovery with Ranging\' / \'Subscribe\' test. Discovery with Ranging: Subscribe Camera FOV Calibration Done General settings Settings Tap to calibrate Marker distance (in cm) The distance in centimeters between the solid lines on the target pattern. Target distance (in cm) The distance in centimeters from the device to the target pattern. Setup Preview Sizes Choose preview size for camera %1$s Displayed FOV : Reported FOV : Reported FOV problem The reported FOV before takePicture() is different from when onPictureTaken() is called.\nAs picture size has not been changed, the reported FOV should be identical at both times.\n\nFOV before/after: %1$f / %2$f Photo Sphere Live Wallpaper This live wallapper displays photo spheres. Select panorama Select a panorama to display in the live wallpaper. Reset panorama Resets the panorama to show the demo file. Enable compass mode If enabled, the panorama orients itself according to the current rotation of the device. Notifications Tiles Notification Package Priority Test This test checks that the NotificationManagerService respects user preferences about relative package priorities. Verifying that the CTS Robot helper package is installed. Find \"%s\" in the \"Notifications\" settings panel, and allow it to Override Do Not Disturb. Find \"%s\" in the \"Notifications\" settings panel, and disallow it to Override Do Not Disturb. Check that ranker respects user priorities. Shortcut Reset Rate-limiting Test This test checks that when an inline-reply happens, ShortcutManager\'s rate-limiting is reset. Verifying that the CTS Robot helper package is installed. Showing the notification. Open the notification shade, find the \"Shortcut Reset Rate-limiting Test\" notification, type something in the inline-reply field and press the send button. Check ShortcutManager rate-limit has been reset. Notification Attention Management Test This test checks that the NotificationManagerService is respecting user preferences about notification ranking and filtering. Ringer Mode Tests This test checks that Audio manager functionality that requires particular ringer mode states works properly. These tests are handled by CTS. Test sound effects Test vibrate notification Test vibrate ringer Test access ringer mode Test ringer mode policy access Test volume change Test mute streams Test RingtoneManager Please enable sound effects in Sound settings. I\'m done Please enable \"Do not disturb\" by tapping the Quick Settings tile. Please disable \"Do not disturb\" by tapping the Quick Settings tile. Please enable \"Do not disturb\" by tapping the Quick Settings tile. Then, long press the same tile and customize the setting to allow messages from starred contacts only. Please enable Priority-Only \"Do not disturb\" by tapping the Quick Settings tile. Then, long press the same tile and customize the setting to allow sounds from Alarms and Media (if applicable) only. Create contacts for notification annotations. Delete test contacts. Check that ranker defaults to time order. Check that ranker respects developers priorities. Check that the ambient bit is set appropriately. Check that ranker respects Lookup URIs for contacts. Check that ranker respects mailto URIs for contacts. Check that ranker respects telephone URIs for contacts. Check that ranker temporarily boosts interruptions. This test takes 30 seconds to complete. Check that \"All\" mode doesn\'t filter any notifications (messages). Check that \"All\" mode doesn\'t filter any notifications (event, reminder, alarm). Check that \"Priority\" mode doesn\'t filter priority notifications (messages from starred contacts). Check that \"Priority\" mode doesn\'t filter priority notifications (alarms). Check that \"Priority\" mode doesn\'t filter priority notifications (media, system, other). Check that \"None\" mode filters all notifications. Check that apps targeted with Pre-P SDK can\'t disallow alarms or media from bypassing DND. Notification Listener Test Notification Assistant Test Notification Listener for CTS Verifier This test checks that a NotificationListenerService can be enabled and disabled, and that once enabled the service is able to receive notifications and dismiss them. Notification Assistant for CTS Verifier This test checks that a NotificationAssistantService can be enabled and disabled, and that once enabled the service is able to receive notifications and dismiss them. Check that Message extras Bundle was preserved. Tile Service for CTS Verifier Tile Service Test This test checks that a Tile Service added by a third party application is not immediately added to the current Quick Settings tiles but can be added by the user. Check that Tile Service is enabled Open Quick Settings and check that the Tile Service for CTS Verifier is not visible in any page Open Quick Settings and click the button to customize Quick Settings. Check that the Tile Service for CTS Verifier is available to be added Check that Tile Service is disabled VR Tests VR VR Listener Test VR Listener for CTS Verifier This test checks that a VrListenerService can be enabled and disabled, and and that it receives the correct lifecycle callbacks when entering and exiting VR mode. Launch Settings Launch VR mode activity Launch Two VR mode activities Click the button to launch the VR mode activity. Click the button to launch two consecutive VR mode activities. Check that the CTS VR helper service is disabled by default. Please enable \"VR Listener for CTS Verifier\" under Apps > Gear Icon > Special Access > VR Helper Services and return here. Please disable \"VR Listener for CTS Verifier\" under Apps > Gear Icon > Special Access > VR Helper Services and return here. Please enable \"Notification Assistant for CTS Verifier\" under Apps > Gear Icon > Default > Notification Assistant and return here. Please disable \"Notification Assistant for CTS Verifier\" under Apps > Gear Icon > Default > Notification Assistant and return here. Please enable \"Notification Listener for CTS Verifier\" under Apps > Gear Icon > Special Access > Notification Access and return here. Please block the linked application and return here. Please unblock the linked application and return here. Please block the linked notification channel and return here. Please block the linked notification channel group and return here. Please make sure you cannot enable \"Notification Listener for CTS Verifier\" and return here. Please disable \"Notification Listener for CTS Verifier\" under Apps > Gear Icon > Special Access > Notification Access and return here. Launch Settings Service should start once enabled. Check that notification was enqueued. Check that notification was received. Check that notification payload was intact. Check that notification audibly alerting was reported correctly. Check that the Assistant can adjust notifications. Check that the Assistant can adjust notifications on enqueue. Check that the Assistant can create a Notification Channel for another app. Check that the Assistant can update a Notification Channel for another app. Check that the Assistant can block a Notification Channel. Check that the Assistant can delete a Notification Channel for another app. Check that the Assistant can snooze a notification until a given context. Check that service can clear a notification. Check that service can clear a notification and receive the correct reason for dismissal. Check that service does not receive notification stats. Check that service can clear all notifications. Service should stop once disabled. Check that notification was not received. Check the service can be snoozed. Check the service can be unsnoozed. Check that the listener can set hints. Check that service can snooze a notification. Check that service can snooze a notification for a given time. Check that service can retrieve snoozed notifications. Check that service can unsnooze a notification. Check that notification was not enqueued. Condition Provider test Condition Provider for CTS Verifier This test checks that on non-low ram a ConditionProviderService can be enabled and disabled, and that once enabled the service is able to create, query, edit, and delete automatic zen rules. On low ram devices condition providers should not be bound. Please make sure you cannot enable \"CTS Verifier\" under Do Not Disturb access and return here. Please enable \"CTS Verifier\" under Do Not Disturb access and return here. Please disable \"CTS Verifier\" under Do Not Disturb access and return here. Launch Settings Creating Automatic Zen Rule Creating Automatic Zen Rule with Zen Policy Updating Automatic Zen Rule Updating Automatic Rule to Use Zen Policy Subscribing to Automatic Zen Rule Service should start once enabled. Service should stop once disabled. Unsubscribing to Automatic Zen Rule Deleting Automatic Zen Rule Retrieving Automatic Zen Rules Retrieving Automatic Zen Rule CA Cert Notification Test This test checks that when a CA Certificate is installed, the user is notified. Do it Done Use the CertInstaller to install the certificate "MyCA.cer" from device storage. When it opens, choose any name and tap "Okay". If this button does nothing, pass the test and move on. Visit the user-installed trusted credentials page and confirm that the "Internet Widgits Pty Ltd" cert appears in the list. You may have been prompted to set a screen lock when installing the certificate. If so, remove it. If not, you may skip this step. Look at the system notifications. Confirm that:\n 1. There is a notification saying a certificate authority is installed.\n 2. Tapping that notification brings up a more detailed explanation and a button to check trusted credentials.\n 3. Tapping that button brings up the Trusted Credentials page you just visited. Open the notification and follow the link to remove CA certificates. If removing CA certificates does not dismiss the notification, fail the test. CA Cert Notification on Boot test This test is to confirm that when the user has installed a trusted credential, the system notifies the user when it boots. Please check here to see whether a certificate is already installed. If this button does nothing, pass the test and move on. Check Credentials Only if there is no credential currently installed, install one. Install credential Remove screen lock Please reboot the device and return to this test. AFTER REBOOTING: Check that there is a notification that the network may be monitored. Opening that notification should show a dialog box giving more information, with a button to check trusted credentials. This should open up the same view of trusted credentials that you get via the "Check credentials" button. KeyChain Storage Test This test checks that credentials installed to the system can be granted, retrieved, and used to create valid HTTPS connections. Reset Skip The first step sets up an internal KeyStore and generates credentials to use for the remainder of the test.\n\n Tap \'Next\' to begin. Credentials generated. Tap \'Next\' to install them to the system keychain.\n\n The container for the credentials will not be protected with a password; if prompted for one, leave that field blank.\n\n During installation you may be prompted for a name - accept the default suggestion.\n\n In the case that these credentials were already installed, you may skip this step. The last test involves setting up an HTTPS connection using credentials from the KeyChain.\n\n You should be prompted to select credentials; choose the ones you just installed in the previous step. Before marking this test as passed, tap \'Next\' to open security settings to clear credentials:\n 1. Open Encryption and credentials.\n 2. Tap Clear credentials. Widget Framework Test This test checks some basic features of the widget framework. In order to perform the test, press the Home button. Add the widget titled "CTS Verifier" to the home screen. Follow the instructions in the widget. Widget Framework Test Pass Fail Non-market app installation restrictions This test exercises user restrictions on installation of non-market apps. Follow instructions in each test. Enable non-market apps This test verifies that non-market apps can be installed if permitted.\n 1. A package installation UI should appear.\n 2. If \'Cts Verifier\' is not allowed to install apps, a warning dialog will appear blocking the install. In this case go to step 3, else skip to step 4.\n 3. Allow \'Cts Verifier\' to install apps. Return to package installer.\n 4. Accept the installation and verify that it succeeds (no error message is displayed). Disable non-market apps This test verifies that non-market apps cannot be installed unless permitted.\n 1. A package installation UI should appear.\n 2. Verify that the installation of the package is refused. Enable non-market apps (global restriction) This test verifies that non-market apps can be installed if permitted by device-wide block.\n 1. A package installation UI should appear.\n 2. If \'Cts Verifier\' is not allowed to install apps, a warning dialog will appear blocking the install. In this case go to step 3, else skip to step 4.\n 3. Allow \'Cts Verifier\' to install apps. Return to package installer.\n 4. Accept the installation and verify that it succeeds (no error message is displayed). Disable non-market apps (global restriction) This test verifies that non-market apps cannot be installed unless permitted by device-wide block.\n 1. A package installation UI should appear.\n 2. Verify that the installation of the package is refused. Enable primary user non-market apps (global restriction) This test verifies that non-market apps from the primary user can be installed if permitted.\n 1. You should have received NotificationBot.apk together with the CTS verifier. If you built the CTS verifier yourself, build the NotificationBot.apk by issuing the following command on the host:\n make NotificationBot\n 2. Upload the NotificationBot.apk to your device by issuing the following command on the host:\n adb push /path/to/NotificationBot.apk /data/local/tmp/\n 3. Press \"Go\" to install NotificationBot.apk in your personal profile. A package installation UI should appear.\n 4. If \'Cts Verifier\' is not allowed to install apps, a warning dialog will appear blocking the install. In this case go to step 5, else skip to step 6.\n 5. Allow \'Cts Verifier\' to install apps. Return to package installer.\n 6. Accept the installation and verify that it succeeds (no error message is displayed). Disable primary user non-market apps (global restriction) This test verifies that non-market apps from the primary user cannot be installed unless permitted.\n 1. You should have received NotificationBot.apk together with the CTS verifier. If you built the CTS verifier yourself, build the NotificationBot.apk by issuing the following command on the host:\n make NotificationBot\n 2. Upload the NotificationBot.apk to your device by issuing the following command on the host:\n adb push /path/to/NotificationBot.apk /data/local/tmp/\n 3. Press \"Go\" to install NotificationBot.apk in your personal profile. A package installation UI should appear.\n 4. Verify that the installation of the package is refused. Camera support cross profile image capture This test verifies that images can be captured from the managed profile using the primary profile camera.\n 1. Capture a picture using the camera.\n 2. Verify that the captured picture is shown.\n 3. Click on the close button. Camera support cross profile video capture (with extra output path) This test verifies that videos can be captured from the managed profile using the primary profile camera.\n 1. Capture a video using the camera.\n 2. Click on the play button.\n 3. Verify that the captured video is played.\n 4. Click on the close button. Camera support cross profile video capture (without extra output path) Sound recorder support cross profile audio capture This test verifies that audio can be captured from the managed profile using the primary profile sound recorder.\n 1. Capture audio.\n 2. Click on the play button.\n 3. Verify that the captured audio is played.\n 4. Click on the close button.\n If this device does not support audio recording, please skip this test and mark it passing.\n Close Play Verify captured image Verify captured video Verify captured audio No image capture app present. Skip test. No video capture app present. Skip test. No audio capture app present. Skip test. Error while capturing media from managed profile. Error while capturing image from managed profile. Authentication-bound keys This test verifies keystore cryptographic keys can be bound to device credentials. These keys should only be available if there was a recent enough authentication. This test verifies keystore cryptographic keys can be bound to device lockscreen challenge or fingerprints (if available). These keys should only be available if there was a recent enough authentication. \n 1. Press "Set up" to open Security settings. (If this device has a separate app for work settings, ignore this button and open that app manually from the launcher.) Create a lockscreen password and if available, enroll a fingerprint under "Work profile security".\n 2. Go through the list of tests.\n 3. Mark the overall test pass or fail.\n 4. Once the set of tests are completed, remove the lockscreen challenge. Set up Lockscreen-bound key test Fingerprint-bound key test VPN test Always-on VPN Settings In this test, you\'ll verify that the Settings UI for always-on VPN is correct for different VPN apps. In this test, you\'ll verify the Settings UI for always-on VPN for different VPN apps. You should have received three VPN app apks with this CTS Verifier package. They\'re named in the form of \"CtsVpnFirewallApp*.apk\".\n 1. Before the test, make sure CtsVpnFirewallApp isn\'t installed on your device. You can uninstall either by UI, or by\n \"adb uninstall com.android.cts.vpnfirewall\"\n 2. Install the first test app, by running\n \"adb install /path/to/CtsVpnFirewallAppApi23.apk\"\n 3. Tap \"Prepare VPN\" button below and consent to the VPN connection.\n 4. Finish all three test cases listed below.\n 5. Repeat step 1 to remove CtsVpnFirewallApp. Prepare VPN Can\'t find VPN app. Did you install it correctly? VPN app targeting SDK 23 1. Re-install CtsVpnFirewallAppApi23.apk (skip this if you already have the correct version installed):\n \"adb install -r /path/to/CtsVpnFirewallAppApi23.apk\"\n 2. Tap \"Go\" button below to go to the VPN settings page.\n 3. Open configuration details page for CtsVpnFirewallApp.\n 4. Confirm the \"Always-on VPN\" and \"Block connections without VPN\" switches are both off and disabled.\n VPN app targeting SDK 24 1. Re-install CtsVpnFirewallAppApi24.apk (skip this if you already have the correct version installed):\n \"adb install -r /path/to/CtsVpnFirewallAppApi24.apk\"\n 2. Tap \"Go\" button below to go to the VPN settings page.\n 3. Open configuration details page for CtsVpnFirewallApp.\n 4. Confirm\n 4.1. \"Always-on VPN\" switch is enabled and in off position\n 4.2. \"Block connections without VPN\" switch is disabled and in off position\n 4.3. \"Block connections without VPN\" becomes enabled once the \"Always-on VPN\" switch is turned on\n VPN app with opt-out 1. Re-install CtsVpnFirewallAppNotAlwaysOn.apk (skip this if you already have the correct version installed):\n \"adb install -r /path/to/CtsVpnFirewallAppNotAlwaysOn.apk\"\n 2. Tap \"Go\" button below to go to the VPN settings page.\n 3. Open configuration details page for CtsVpnFirewallApp.\n 4. Confirm the \"Always-on VPN\" and \"Block connections without VPN\" switches are both off and disabled.\n Select work lock test This test verifies that a work lock can be chosen.\n 1. Verify that you get sent to the page for Choosing a new work lock.\n 2. Set a new work lock. Confirm work lock test This test verifies that work lock is shown when opening a work app, the work lock was set correctly and it is customized according to the policies set. You can only do this test after you have done the previous test.\n Before running this test press the power button to turn the screen off and then back on and swipe to unlock.\n 1. Open a work app.\n 2. Verify that a screen asking you for your work credentials is shown.\n 3. Verify that the background image contains a suitcase.\n 4. Verify that the background color of the remaining image is blue.\n 5. Verify that the header text says \"CtsVerifier\".\n 6. Confirm your credentials and verify that the credentials you entered previously work.\n 7. The work app should be launched. CtsVerifier Confirm pattern lock test This test verifies that when a work pattern lock is set, a work app can open correctly. 1. Verify that you get sent to the page for Choosing a new work lock.\n 2. Set a pattern lock.\n 3. Press the power button to turn the screen off and then back on and swipe to unlock.\n 4. Open a work app.\n 5. Verify that a screen asking you for your work credentials is shown.\n 6. Confirm your credentials and verify that the credentials you entered previously work.\n 7. The work app should be launched. Recents redaction test This test verifies that if a work profile is locked with a separate password, Recents views for applications in the work profile are redacted. This test verifies that if a work profile is locked with a separate password, Recents views for applications in the work profile are redacted.\n Some devices may not lock as soon as the screen is turned off by default. On such devices, use the button below when requested to lock the work profile. Please skip these tests if "Recents" is absent. Lock now Verify recents are redacted when locked. 1) Follow the instructions on-screen to set a work password.\n 2) Turn the screen off and on again, or use the "lock now" button, to lock the work profile.\n 3) Go to home screen and then open Recents.\n 4) Confirm that this "CTS Verifier" activity is shown in Recents.\n 5) Confirm that the contents of the activity are hidden.\n 6) Return to this page and pass the test. Verify recents are not redacted when unlocked. 1) Press the Go button to go to security settings.\n 2) Make work profile use one lock with personal profile.\n 3) Open Recents.\n 4) Confirm that this "CTS Verifier" activity is shown in Recents.\n 5) Confirm that the contents of the activity are not hidden.\n 6) Return to this page and pass the test. The work profile still has a separate password. Please make it use one lock with the personal profile. KeyChain test In this test, you\'ll verify that keys generated by KeyChain keys are as usable as keys installed into KeyChain and that they can be hidden from users.\n The test has two parts:\n 1) Testing that a generated key can be selectable by the user.\n 2) Testing that a generated key can be hidden from users.\n \n Tap \"Prepare Test\" button below to begin.\n Once you press \'Go\', a prompt titled \"Choose certificate\" should appear.\n Verify that the list in this dialog has one item, starting with \'cts-verifier-gen\'. Press \'Select\' to select it.\n If the test passes, you\'ll see the text \"Second test ready\" at the bottom.\n \n Press \'Go\'.\n Once you press \'Run 2nd test\', the prompt should NOT appear.\n Verify that the prompt does not appear at all.\n Mark the test as passed if the text at the bottom shows \"PASSED (2/2)\"\n Alarms and Timers Tests The Alarms and Timers tests verify that the Clock app implements the AlarmClock API properly. Alarms Timers Show Alarms Test This test verifies that the SHOW_ALARMS API works.\n 1. Press the "Show Alarms" button.\n 2. Verify that a UI of the clock app is launched and displays the list of alarms\n Show Alarms Set Alarm Test This test verifies that the ACTION_SET_ALARM with no parameters API works.\n 1. Press the "Set Alarm" button.\n 2. Verify that the clock app is launched and displays a UI to manage alarms.\n Set Alarm Verify Start Alarm Test This test verifies that the ACTION_SET_ALARM API actually starts an alarm.\n 1. Press the "Start Alarm" button.\n 2. Make sure the alarms UI is NOT shown\n 3. Wait for the alarm to fire (may take up to 2 minutes)\n 4. Verify that the alarm title is: "Start Alarm Test",\n the alarm is silent and vibrating (if the device supports vibrate).\n 5. Dismiss the alarm.\n 6. Verify that the alarm is not in the Clock\'s alarms list. The Verify button opens the alarm view.\n Start Alarm Full Alarm Test This test verifies that the ACTION_SET_ALARM API supports all extras.\n 1. Press the "Create Alarm" button.\n 2. Verify that you see one alarm with the following information:\n Name of alarm: Create Alarm Test. \n Vibrate: on. (if the device supports vibrate).\n Ringtone: silent. (if the device has a speaker).\n Time: 01:23. \n Repeating on: Monday and Wednesday. \n Create Alarm Set Timer Test This test verifies that the ACTION_SET_TIMER API with no paramters open the UI\n 1. Press the "Set Timer" button.\n 2. Verify that the an app is launched and displays a UI to manage timers.\n Set Timer Start Timer Test This test verifies that the ACTION_SET_TIMER API actually starts a timer\n 1. Press the "Start Timer" button.\n 2. Verify that a timer is started and NO timers UI is shown.\n 3. Verify that the timer named "Start Timer Test" rings after 30 seconds. Dismiss it.\n 4. Verify that the timer is deleted after the dismissal.\n Start Timer Start Timer With UI Test This test verifies that the ACTION_SET_TIMER API actually starts a timer with UI\n 1. Press the "Start Timer" button.\n 2. Verify that a timer is started and the timers UI is shown with a timer named "Start Timer Test".\n 3. Verify that the timer rings after 30 seconds.\n Keyguard Password Verification Set password Change password This test verifies that the user is prompted for the current keyguard password before prompting for a new password.\n \nClick the \"Set password\" button if you currently don\'t have a password set.\n \nThen click the \"Change password\" button to change it. You should be prompted for the current password first. If you are not, then mark the test as failed. Projection Tests Projection Service This tests whether or not OpenGL projection works.\n You should see two "tumbling cubes." Tapping the screen should cause the cubes to explode. Projection Cube Test This tests whether or displaying widgets and keyfocus navigation works.\n You should see four buttons on the bottom of the screen.\n Pressing the "up" and "down" buttons should highlight different buttons.\n Furthermore, the highlight should disappear when any button is touched, and the touched button should behave as usual.\n Projection Widget Test Up Down Button Projection Scrolling List Test This tests whether a projected list view will scroll properly\n You should see 50 list items and be able to scroll up and down the list Projection Video Playback Test This tests whether video playback works when projected.\n You should see a blinking white box and here a beep that is synchronized with each blink Projection Multitouch Test This tests whether multitouch works.\n Touching the screen should render a dot at the location you touched.\n Touching with additional fingers will render additoinal dots and you should be able to drag them around. Projection Offscreen Activity This tests whether a virtual display will continue to respond to and render even when the screen is off.\n Simply follow the instructions and the test will detect the pass conditions.\n Note that turning on the screen too early will result in a failure. Rotation Vector Accuracy Test Place the mobile device in a reference position. Note: to provide an accurate reference, align the device along one edge of a notebook laying on a table. Reference position set. Move, shake, and rotate the device. Place the device back to the reference position. Angular deviation [%1$4.1f %2$4.1f %3$4.1f]. Current: %4$f deg. Max tolerated: %5$f. This is device admin notification Disable camera Please press the Go button to lock the screen. Expected result is you cannot see the camera icon on the lower right corner of the screen, or if there is one, you cannot open the camera using it before you are asked for a password.\n Also, it shouldn\'t be possible to open the camera on the lockscreen by any other device specific gesture (such as double press on power button). Disable notifications Please press the Go button to lock the screen. Wait a few seconds to see if a notification appears. Expected result is no notifications appear. You should be able to see one after unlocking. Disable unredacted notifications Please press the Go button to lock the screen. Wait a few seconds to see if a notification appears. Expected result is a notification appear with its content hidden. You should be able to see the content after unlocking. CTS Verifier BYOD Provisioning tests Custom provisioning color Please press the Go button to start the provisioning. Check that the top status bar is colorized in green. Then hit back and stop the provisioning. Custom provisioning image 1. Please press the Go button to start the provisioning.\n 2. Press \"Accept and continue\" button to start work profile provisioning\n 3. Check that the CtsVerifier logo is displayed during provisioning\n 4. After successful provisioning, come back to this page. You might need to press a button on the final provisioning screen. Custom terms 1. Please press the Go button to start the provisioning.\n 2. Click \"View Terms\" button\n 3. Expand \"Company ABC\" section. Verify the section content is \"Company Terms Content.\"\n 4. Then hit back twice and stop the provisioning. Company ABC Managed Provisioning BYOD Managed Provisioning This test exercises the BYOD managed provisioning flow. Start by pressing the button on screen and follow instructions to finish the managed provisioning process. If your device has not been encrypted before, it will be encrypted and rebooted. After the provisioning process completes, return to this page and carry out further verifications. Note: the device will remain encrypted after the test which can only be disabled by factory reset. Start BYOD provisioning flow 1. Press the button below to start the managed provisioning flow. If your device has not been encrypted before, it will reboot to apply encryption. After reboot follow instructions in the notification area to complete the provisioning.\n 2. After successful provisioning, come back to this page. You might need to press a button on the final provisioning screen. Please press through the following verification steps. Allow a few seconds after returning from provisioning, as the profile owner test should automatically pass.\n \n If the device is being encrypted during step 1, it will remain encrypted After this test. The only way to disable the encryption is to factory reset the device. Profile owner installed Full disk encryption enabled Cannot secure device with screen lock. Please re-run the test if you forgot to select the \"require PIN to boot\" option. No PIN is detected. Please re-run the test if you forgot to set a PIN. Next, you will be asked to set a screen lock for the device.\n \n Please set \"1111\" as the new PIN (or any other PIN that you can memorize). You have to enter this PIN again later in order to finish the test.\n \n You may be asked whether the PIN should be required to boot the device. Please answer yes.\n \n Tap Go button to set a new screen lock. The test is almost finished. \n \n Next, you will be asked to remove the screen lock that you just set. Please enter \"1111\" (or your own PIN) when prompted for the old PIN, and do not set any new screen lock. This is to make sure that the device returns to the initial state after this test.\n \n Tap Go button to remove existing screen lock. Profile-aware accounts settings Profile-aware device administrator settings Badged work apps visible in Launcher Open app cross profiles from the personal side Open app cross profiles from the work side App links from the work side You selected the personal option. You selected the Work option. You selected the ctsverifier option Please press the Go button to start an action.\n \n You should be asked to choose either \"CTS Verifier\" or \"Work\" to complete the action. Pressing either should bring up a page stating your choice.\n \n Verify that you are prompted with the above choices and both options work as intended. Then mark this test accordingly. Please press the Go button to start an action.\n \n You should be asked to choose either \"CTS Verifier\" or \"Personal\" to complete the action. Pressing either should bring up a page stating your choice.\n \n Verify that you are prompted with the above choices and both options work as intended. Then mark this test accordingly. Please press the Go button to start an action.\n \n You should be asked to choose either \"CTS Verifier\" or \"Personal\" to complete the action.\n - If you choose \"CTS Verifier\", you should see a page stating your chose \"CTS Verifier\".\n - If you choose \"Personal\", you should be presented with another dialog between \"CTS Verifier\" and some other apps. In this case, you should choose \"CTS verifier\".\n You should then see a page stating you chose \"Personal\".\n \n Verify that you are prompted with the above choices and both options work as intended. Then mark this test accordingly. Keyguard disabled features This test exercises Keyguard Disabled Features. Follow instructions above. Please go to Settings > Security > Device administrators and set \"CTS Verifier\" as active admin.\n After that please go to Settings > Security > Screen lock and set your screen lock password to \"testpassword\".\n Then please press the \"Prepare test\" button to disable trust agents.\n Then please press through the following verification steps.\n Note: After leaving the screen active admin status will be cleared. Please go to Settings > Security > Screen lock and set your password type to \"None\". Prepare test CtsVerifier is not active admin. Please follow instructions. Disable trust agents Please press the Go button to go to Settings > Security. Then go to Trusted agents and\n check if the agents are shown as disabled by the administrator. Then please press Back and mark the test as \"Pass\" or \"Fail\". Fingerprint is disabled in Settings Please press the Go button to go to Settings > Security. Then go to Fingerprint and\n check if the disclaimer at the bottom of screen is altered to warn the users for\n fingerprint being disabled in lock screen. Then please press Back and mark the \n test as \"Pass\" or \"Fail\". Fingerprint disabled on keyguard Please press the Go button to lock the screen. Then try to log in using the fingerprint reader.\n Expected result is you cannot log in using your fingerprint.\n After you log back in, please navigate back to CtsVerifier and mark the test as \"Pass\" or \"Fail\". Unredacted notifications disabled on keyguard Please press the Go button to lock the screen. Wait a couple of seconds and look out for a notification from CtsVerifier.\n Expected result is the notification is shown as \"Contents hidden by policy\", you can not see the contents (Which would read \"This is a notification\"). You should be seeing a work badge.\n After you log back in, please navigate back to CtsVerifier and mark the test as \"Pass\" or \"Fail\". Work notification is badged Please press the Go button to trigger a notification.\n \n Verify that the notification is badged (see sample badge below). Then mark this test accordingly. This is a notification Contents hidden by policy Disallow apps control This test exercises Disallow Apps Control. Follow instructions above. Please press the \"Prepare test\" button to disallow apps control for managed apps.\n Then please press through the following verification steps.\n Note: After leaving the screen disallow apps control restriction will be cleared. Prepare test Disabled uninstall button Please press the Go button to go to Settings > Apps. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n Choose a managed app. Check that performing either \"Uninstall\" or \"Disable\" is not possible and triggers a support message when trying to do so. Then please press Back (or navigate back to this app using Recents) and mark the test as \"Pass\" or \"Fail\". Disabled force stop button Please press the Go button to go to Settings > Apps. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n Choose a managed app. Check that performing \"Force stop\" is not possible and triggers a support message when trying to do so. Then please press Back (or navigate back to this app using Recents) and mark the test as \"Pass\" or \"Fail\". Disabled app storage buttons Please press the Go button to go to Settings > Apps. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n Choose a managed (badged) app. Select \"Storage\". Check that performing \"Clear Data\" and \"Clear Cache\" is not possible and triggers a support message when trying to do so. Note: if an app has no data then tapping the clear data button has no effect anyway. Make sure you have selected the badged version of app with non-zero app data. Badged \"Settings\" may be a good candidate. Then please press Back (or navigate back to this app using Recents) and mark the test as \"Pass\" or \"Fail\". Work status icon is displayed Verify that the current status bar does not have a work status icon (see sample icon below). \n\n Please press the Go button to launch a work activity. \n\n Verify that the status bar now has a work status icon. Then mark this test accordingly. Verify that the current status bar has a work status notification. \n\n Please press finish to return to the tests and then mark this test accordingly. Work status toast is displayed Please press the Go button to launch a work activity. \n\n Follow instructions and then return and mark this test accordingly. Turn off the screen and wait a few seconds then turn on the screen again. \n\n Verify that a toast was displayed saying you are in the work profile. \n\n Please press finish to return to the tests and then mark this test accordingly. Please press the Go button to open the Settings page. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n Navigate to Accounts and confirm that:\n \n - Both Personal and Work categories exist.\n - \"Remove work profile\" or \"Uninstall\" exists under the Work category.\n \n Use the Back button (or navigate back to this app using Recents) to return to this page. Profile-aware user settings Please press the Go button to open the Settings page. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher.)\n Navigate to Accounts and confirm that:\n - There are two auto-sync options present, one for personal and one for work data (either on the screen or in the overflow menu).\n - De-selecting either option prompts a warning dialog.\n \n Use the Back button (or navigate back to this app using Recents) to return to this page. Please press the Go button to open the Security page in Settings. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n Navigate to Device admin apps and confirm that:\n \n - Device administrators outside of the work profile (if any) appear in the list, and the managed profile administrators are badged correctly.\n - A badged \"CTS Verifier\" exists, and is activated.\n - There is no option to deactivate the badged \"CTS Verifier\" version, only an option to \"Remove work profile\".\n \n Use the Back button (or navigate back to this app using Recents) to return to this page. Please press the Go button to start the launcher. Go to All Apps screen and scroll through it to confirm that:\n \n - A new set of work apps including CTS Verifier appear in the list.\n - Work badge overlay appears on work app\'s icon (see example icon below, color and style may vary).\n - The work badge overlay has the same size and position on each work app\'s icon. \n Then navigate back to this screen using Recents button. Profile-aware app settings Please press the Go button to open Apps page in settings. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n \n Verify that work profile exists in the dropdown list and selecting it will bring up apps setting in the work profile.\n \n Then use the Back button (or navigate back to this app using Recents) to return to this test and mark accordingly. Profile-aware location settings Please press the Go button to open Location page in settings. (If this device has a separate app for work settings, ignore the Go button and navigate to that app manually, if necessary).\n \n Verify that work profile entry exists in the page and it has a toggleable switch.\n Switch the main location switch at the top of the screen off. You should see the work profile location switch go disabled and into \'off\' state.\n Then switch the main location switch on again. You should see the work profile location switch go enabled and into its previous state.\n \n Then use the Back button (or navigate back to this app using Recents) to return to this test and mark accordingly. Profile-aware data usage settings (Wi-Fi) Please press the Go button to open the Settings page. (If this device has a separate app for work settings, ignore the Go button and navigate to that app manually).\n \n Navigate to \"Data usage\" page and then into the \"Wi-Fi data usage\" category.\n Confirm that \"All work apps\" section is present and that it is possible to see the data usage for work (badged) apps.\n (If the section is not present, this might be because work apps have not used Wi-Fi data yet. Ensure that you have used Wi-Fi data on a work app, then repeat these instructions.)\n \n Then use the Back button (or navigate back to this app using Recents) to return to this test and mark accordingly. Profile-aware data usage settings (Mobile) Please disable Wi-Fi connection on your device.\n Please make sure you have added a SIM card with data plan to your phone, have enabled data over mobile and in case of dual SIM devices, have selected the right SIM for data connection.\n Please carry out operations that will use mobile data using both badged and unbadged apps (e.g. visit a page in a browser).\n \n Please press the Go button to open the Settings page. (If this device has a separate app for work settings, ignore the Go button and navigate to that app manually).\n \n Navigate to \"Data usage\" page and then into the \"Mobile data usage\" category.\n Confirm that \"All work apps\" section is present and that it is possible to see the data usage for work (badged) apps.\n \n Then use the Back button (or navigate back to this app using Recents) to return to this test and mark accordingly. Profile-aware trusted credential settings Please press the Go button to open the Security settings. Navigate to "Trusted credentials" and wait for the UI to load. After the list is loaded, confirm that:\n \n The page list credentials for both "Personal" and "Work" profiles.\n \n Then use the Back button to return to this test and mark accordingly. Profile-aware printing settings Please press the Go button to open the Printing settings. (If this device has a separate app for work settings, ignore the Go button and open that app manually from the launcher).\n \n Verify that work profile exists in the dropdown list and selecting it will bring up printing setting in the work profile.\n \n Then use the Back button (or navigate back to this app using Recents) to return to this test and mark accordingly. Cross profile intent filters are set Disable Nfc beam Please press the Go button to test if Nfc beam can be triggered in the work profile.\n \n For the first test, press \"Send manual beam\" to trigger a beam, then bump into another device to send the tag. Verify that the tag is successfully received.\n \n For the second test, press \"Send share intent\" to trigger a beam, then bump into another device to send the tag. Verify that the tag is successfully received.\n \n Then use the Back button to return to this test and mark accordingly. Please press the Go button to test if Nfc beam is disallowed by policy \n Verify that Nfc beam is not triggered when pressing the button.\n \n Then use the Back button to return to this test and mark accordingly. Send manual beam Send share intent Cannot find beam activity Cannot start the given intent. Cannot communicate with activity in the work profile. Initiate deletion of work profile. Work profile deleted. Device provisioning is not enabled. Finish Choose an app to complete action No GPS feature present. Skip test. Enable location Location changed This test verifies that the location updates can be enabled for the managed profile apps.\n 1. Press the go button to go to the location settings page, set both the main location switch and the work profile location switch enabled.\n 2. Press home to go to the launcher.\n 3. Move your position a little bit, verify that location updates toast comes up.\n Please wait until the location updates or timeout toast message shows up before going back to the cts-verifier tests.\n 4. Go back to the cts-verifier tests using the back button, then mark the test accordingly.\n Disable location Timeout waiting for gps location change This test verifies that the location updates can be disabled for the managed profile apps through the main location switch.\n 1. Press the go button to go to the location settings page, set the main location switch disabled.\n 2. Press home to go to the launcher.\n 3. Move your position a little bit, verify that no location updates toast come up and that the timeout message show up after around 15 seconds. Please wait until the timeout or location updates toast message shows up before going back to the cts-verifier tests.\n 4. Go back to the cts-verifier tests using the back button, then mark the test accordingly.\n Disable location for work profile This test verifies that the location updates can be disabled for the managed profile apps through work profile location switch.\n 1. Press the go button to go to the location settings page, set the work location switch disabled while the main location switch is still enabled.\n 2. Press home to go to the launcher.\n 3. Move your position a little bit, verify that no location updates toast come up and that the timeout message show up after around 15 seconds. Please wait until the timeout or location updates toast message shows up before going back to the cts-verifier tests.\n 4. Go back to the cts-verifier tests using the back button, then mark the test accordingly.\n Primary receives updates while work location is disabled This test verifies that location updates are still received by primary profile when location updates are disabled for managed profile apps through work profile location switch.\n 1. Press the go button to go to the location settings page, set the work location switch disabled while the main location switch is still enabled.\n 2. Press home to go to the launcher.\n 3. Move your position a little bit, verify that location updates toast comes up.\n Please wait until the location updates or timeout toast message shows up before going back to the cts-verifier tests.\n 4. Go back to the cts-verifier tests using the back button, then mark the test accordingly.\n Personal ringtones This test verifies that personal ringtones can be changed independently of work profile ringtones.\n 1. Press the go button to go to the sound settings page. Under \"Work profile sounds\" turn off the \"use personal profile sounds\" switch.\n 2. Change the personal \"Phone ringtone\", \"Default notification sound\", and \"Default alarm sound\" settings to different values.\n 3. Read the values displayed under \"Work phone ringtone\", \"Default work notification sound\", and \"Default work alarm sound\".\n 4. Verify that the work sounds are different to the personal values just set.\n 5. Go back to the cts-verifier tests using the back button, then mark the test accordingly.\n Uninstall work app from launcher This test verifies that work profile apps can be uninstalled.\n 1. You should have received NotificationBot.apk together with the CTS verifier. If you built the CTS verifier yourself, build the NotificationBot.apk by issuing the following command on the host:\n make NotificationBot\n 2. Upload the NotificationBot.apk to your device by issuing the following command on the host:\n adb push /path/to/NotificationBot.apk /data/local/tmp/\n 3. Pres \"Go\" to install NotificationBot.apk on your work profile.\n 4. If you are presented with a dialog to allow installing of unknown apps, enable that option.\n 5. Go to home screen.\n 6. Verify that the newly installed app, \"CTS Robot\", can successfully be uninstalled from the launcher.\n Install work app Turn off work profile This test verifies device behaviors when turning off work profile. This test verifies the device behavior when work profile is turned off.\n Please exercise the following tests in sequence.\n The button below can be used to open the Settings page where you can toggle work profile.\n (If this device has a separate app for work settings, ignore the button and open that app manually from the launcher).\n Open Settings to toggle work profile Prepare a work notification This is a test setup step.\n 1. Press the go button to send a work notification.\n 2. Verify that the notification is displayed and mark this test as passed.\n (Note: in the following test, you will be asked to verify the notification disappears after work profile is turned off.) Please turn off work profile Open settings to turn off work profile, using the button above. Notifications when work profile is off Verify that the previously-shown work notification has now disappeared. Starting work apps when work profile is off This test verifies that work applications cannot be started if work profile is off.\n 1. Press home to go to the launcher.\n 2. Verify that work applications are greyed out.\n 3. Tap on a work application.\n 4. Verify that the application does not start.\n Please turn work profile back on Open settings to turn work profile back on, either manually or using the button above. Status bar icon when work profile is on Now that work profile is back on, please verify that the status bar icon for work profile off is no longer visible. Starting work apps when work profile is on Now that work profile is back on, please go to the launcher and verify that you can start a work application. Organization Info Name #FF00FF Set This test verifies that the Organization Info was set correctly. You can only do this test after you have done "select work lock" test.\n 1. Enter your organization name.\n 2. Enter a valid color code.\n 3. Press the Set button to set organization Info.\n 4. Press the Go button to open a dialog to confirm work credentials.\n (If this device has a separate app for work settings, ignore the Go button and open the work lock screen manually to confirm, if necessary.)\n 5. Verify that the background color of the resulting dialog is as set by you.\n 6. Verify that the header text has organization name as set by you.\n No work lockscreen password set. Please run \"Select work lock test\" and rerun this test Personal password test This test verifies that the password on the personal side can be chosen from within a managed profile.\n 1. Press the Go button to set a new password for the personal side.\n 2. Lock and unlock the screen to verify that the personal side password was set correctly.\n Work profile widget Verify that work profile widget can be added into launcher This test verifies that the widget in work profile can be added into Launcher.\n 1. Go to home screen.\n 2. Add the widget titled \"CTS Verifier\" and badged with work profile briefcase to the home screen.\n 3. If you can add the widget to the home screen, please select \"pass\". Otherwise, select \"fail\". No Device Owner Tests No Device Owner Tests Device owner provisioning The device owner provisioning test verifies that setting up a corporate owned device can only be done on a factory reset device.\n\nPlease click the "Start provisioning" button, and when you see a warning dialog telling the device is already set up, select "pass". Otherwise, select "fail". Start provisioning Quick settings disclosure Please do the following:\n 1) Open and fully expand Quick Settings.\n 2) Verify that at the bottom of Quick Settings, you are not told the device is managed.\n 3) Close Quick Settings.\n \n If this device does not have quick settings, please skip this test and mark it passing Keyguard disclosure Please do the following:\n 1) Press the Go button to open Settings.\n 2) Navigate to \"Security\" > \"Screen lock\" and select the first screen lock type that is not \"None\".\n 3) Use the Back button to return to this page.\n 4) Lock the device.\n 5) Verify that on the lock screen, you are not told the device is managed.\n 6) Unlock the device.\n 7) Repeat steps (1) through (6) for each screen lock type other than \"None\". Add account disclosure Please do the following:\n 1) Press the Go button to open Settings.\n 2) In the screen that opens, verify that you are not told that the device is managed.\n 3) Use the Back button to return to this page. Device Owner Tests Device Owner positive tests The positive device owner tests verify policies on a corporate owned device.\n Press below button first, follow steps described in the dialog that pops up, then proceed to the test cases.\n Pressing \'back\', \'pass\' or \'fail\' on this test page will remove the device owner.\n Alternatively, you can run the \'Remove device owner\' test. Ideally, that test should be run last so that it does not interfere with other tests. The positive device owner tests verify policies on a corporate owned device.\n Press below button first, follow steps described in the dialog that pops up, then proceed to the test cases.\n Pressing \'back\', \'pass\' or \'fail\' on this test page will remove the device owner.\n Alternatively, you can run the \'Remove device owner\' test. Ideally, that test should be run last so that it does not interfere with other tests. Device Owner Tests Set up device owner Set up device owner For this test you need to install CtsEmptyDeviceOwner.apk by running\n adb install -r -t /path/to/CtsEmptyDeviceOwner.apk\n Then you need to set this app as the device owner by running\n adb shell dpm set-device-owner com.android.cts.emptydeviceowner/.EmptyDeviceAdmin Remove device owner Please check in Settings > Security > Device Administrators if CTSVerifier is Device Owner. Then press the button below, and check that CTSVerifier is NOT Device Owner anymore. Remove device owner Check device owner Missing or incorrect device owner: CTSVerifier is not DO! WiFi configuration lockdown Please enter the SSID and auth method of an available WiFi Access Point and press the button to create a WiFi configuration. This configuration can be seen on Settings > WiFi. The test cases are going to use this config. Please go through test cases in order (from top to bottom). WiFi config lockdown off WiFi config lockdown on Go to WiFi Settings None WPA WEP Create WiFi configuration WiFi configuration could not be created There was an error during creation of WiFi configuration. Check if WiFi is switched on. Unlocked config is modifiable in Settings Please press the button to ensure WiFi config lockdown is NOT in effect. Then go to Settings > WiFi and see if the CTSVerifier created WiFi configuration can be edited. Please make sure you can connect to it. The test is successful if the config is editable and can be connected to. Locked config is not modifiable in Settings Please press the button to ensure WiFi config lockdown is in effect. Then go to Settings > WiFi and see if the CTSVerifier created WiFi configuration can NOT be edited or removed. The test is successful if the config is NOT modifiable. Locked config can be connected to Please press the button to ensure WiFi config lockdown is in effect. Then go to Settings > WiFi and see if the CTSVerifier created WiFi configuration can be connected to manually. The test is successful if the connection can be established. Unlocked config can be forgotten in Settings Please press the button to ensure WiFi config lockdown is NOT in effect. Then go to Settings > WiFi and see if the CTSVerifier created WiFi configuration can be forgotten. The test is successful if the config could be forgotten and is removed from the list of saved configs. Disable status bar Please press the below button to disable the status bar and verify that quick settings, notifications and the assistant gesture are no longer available.\n Next, press the button to reenable the status bar and verify that quick settings, notification and the assistant gesture are available again.\n Please mark the test accordingly. Disable status bar Reenable status bar Disable keyguard Before running this test, please make sure you have not set any device lockscreen password.\n Please press the below button to disable the keyguard. Press the power button on your device to switch off the screen. Then press the power button to switch the screen back on and verify that no keyguard was shown.\n Next, press the button to reenable the keyguard and repeat the above steps, this time verifying that a keyguard was shown.\n Please mark the test accordingly. Disable keyguard Reenable keyguard LockTask UI The following tests verify the configurable UI during LockTask, a special mode that prevents the user from leaving the current application.\n\n Please make sure the lock screen is turned on before the test. Press the button below to start LockTask mode. Then mark each item as \'pass\' or \'fail\' according to the instructions.\n\n Finally, execute the last test item to leave LockTask mode. Start LockTask mode Default LockTask UI Press the button below to reset to default LockTask UI. Observe the following UI restrictions. Mark the test as \'pass\' only if ALL of the requirements below are met.\n\n 1) Nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) The status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar.\n 3) The software Home button is hidden.\n 4) The software Overview button is hidden and the Overview gesture (swipe-up) does not work.\n 5) Long-press the power button. The power button menu, which usually shows the power-off button, etc., isn\'t shown.\n 6) Press the power button to turn off the screen, and press it again to turn the screen back on. Lock screen shouldn\'t be shown.\n 7) The assistant gesture isn\'t available. Enable system info Press the button below to enable system info. Observe the system info area of the status bar is now enabled. This includes the clock, connectivity info, battery info, etc.\n\n The rest of the UI restrictions should still apply:\n 1) Notification icons are still hidden on the status bar.\n 2) The status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar.\n 3) The software Home button is hidden.\n 4) The software Overview button is hidden and the Overview gesture (swipe-up) does not work.\n 5) Long-press the power button. The power button menu, which usually shows the power-off button, etc., isn\'t shown.\n 6) Press the power button to turn off the screen, and press it again to turn the screen back on. Lock screen shouldn\'t be shown.\n 7) The assistant gesture isn\'t available.\n\n Mark the test as \'pass\' only if ALL of the above requirements are met. Enable notifications Press the button below to enable notifications. Observe the notification icons on the status bar are now enabled and the Home button is shown. The status bar can also be expanded to show the notifications. However, all Settings UI should remain invisible, including Quick Settings and any link to the Settings app.\n\n The rest of the UI restrictions should still apply:\n 1) System info area is still hidden on the status bar.\n 2) The software Overview button is hidden and the Overview gesture (swipe-up) does not work.\n 3) Holding the Home button and swiping to the right does not bring up other tasks.\n 4) Long-press the power button. The power button menu, which usually shows the power-off button, etc., isn\'t shown.\n 5) Press the power button to turn off the screen, and press it again to turn the screen back on. Lock screen shouldn\'t be shown.\n 6) The assistant gesture isn\'t available.\n\n Mark the test as \'pass\' only if ALL of the above requirements are met. Enable Home button Press the button below to enable the Home button. Observe the Home button is now enabled.\n\n The rest of the UI restrictions should still apply:\n 1) Nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) The status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar.\n 3) The software Overview button is hidden and the Overview gesture (swipe-up) does not work.\n 4) Holding the Home button and swiping to the right does not bring up other tasks.\n 5) Long-press the power button. The power button menu, which usually shows the power-off button, etc., isn\'t shown.\n 6) Press the power button to turn off the screen, and press it again to turn the screen back on. Lock screen shouldn\'t be shown.\n 7) The assistant gesture isn\'t available.\n\n Mark the test as \'pass\' only if ALL of the above requirements are met. Enable Overview button Press the button below to enable the Overview button. Observe the Home button is now enabled. Press the Overview button or perform the Overview gesture (swipe up) and verify the Overview view can be opened.\n\n The rest of the UI restrictions should still apply:\n 1) Nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) The status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar.\n 3) Long-press the power button. The power button menu, which usually shows the power-off button, etc., isn\'t shown.\n 4) Press the power button to turn off the screen, and press it again to turn the screen back on. Lock screen shouldn\'t be shown.\n 5) The assistant gesture isn\'t available.\n\n Mark the test as \'pass\' only if ALL of the above requirements are met. Enable global actions Press the button below to enable global actions (a.k.a. power button menu). Long-press the power button and verify a menu containing power-off and restart buttons is shown. This menu can\'t contain any UI that allows the user to change system settings (such as airplane mode switch) or access the Settings app.\n\n The rest of the UI restrictions should still apply:\n 1) Nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) The status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar.\n 3) The software Home button is hidden.\n 4) The software Overview button is hidden and the Overview gesture (swipe-up) does not work.\n 5) Press the power button to turn off the screen, and press it again to turn the screen back on. Lock screen shouldn\'t be shown.\n 6) The assistant gesture isn\'t available.\n\n Mark the test as \'pass\' only if ALL of the above requirements are met. Enable keyguard Press the button below to enable keyguard. Press the power button to turn off the screen and press it again to turn the screen back on. Verify that the lock screen is shown.\n\n The rest of the UI restrictions should still apply, both on the lock screen and after the lock screen is dismissed:\n 1) Nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) The status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar, even on the lock screen.\n 3) The software Home button is hidden.\n 4) The software Overview button is hidden and the Overview gesture (swipe-up) does not work.\n 5) Long-press the power button. The power button menu, which usually shows the power-off button, etc., isn\'t shown.\n 6) The assistant gesture isn\'t available.\n\n Mark the test as \'pass\' only if ALL of the above requirements are met. Stop LockTask mode Press the button below to exit LockTask mode.\n\n Observe that the UI has returned to the normal, unrestricted state, and is no longer subject to any LockTask restriction.\n\n Mark the test as \'pass\' or \'fail\' accordingly. Please remove lockscreen password Permissions lockdown Select each of the three grant states for the permission shown below in turn.\n Now open application settings, select Permissions, and verify if the following behavior is observed.\n Grant: Permission is granted to the app and cannot be changed through the settings UI. A support message is available through an accessible mechanism, such as by attempting to change it or via an information button.\n Let user decide: Permission state can be changed through the settings UI.\n Deny: Permission is denied to the app and cannot be changed through the settings UI. A support message is available through an accessible mechanism, such as by attempting to change it or via an information button.\n Please mark the test accordingly. This test checks if the permissions state in settings UI is locked down according to the state set by the device owner. Disallow USB file transfer Please press below button to set the \"disallow USB file transfer\" restriction.\n If a USB notification appears, open the notification and check that the \"Transfer files (MTP)\" and \"Transfer photos (PTP)\" options either are not displayed, or they trigger a support message when trying to select them.\n Check if you can mount the device as a USB drive on your desktop computer. The test is successful if you cannot mount the device, and files from your phone cannot be downloaded through USB.\n Please mark the test accordingly. Setting the user icon This test verifies that the user icon can be set by the device owner, depending on whether the user restriction is set or not.\n 1. Press the \"Set user icon 1\" button.\n 2. Press the \"Go\" button to go to Settings.\n 3. If there is no \"users\" section, mark this test as passed.\n 4. If the icon of the user \"owner\" is not \"1\", mark this test as failed.\n 5. Press the \"Disallow set user icon\" button.\n 6. Press the \"Set user icon 2\" button.\n 7. Press the \"Go\" button to go to Settings. Verify that the icon can\'t be changed manually.\n 8. Check that the icon of the user \"owner\" is \"2\", and mark this test accordingly. Set user icon 1 Set user icon 2 Before proceeding, check if com.android.cts.permissionapp (aka CtsPermissionApp) is installed in work profile by going to Settings > Apps. If not, please install the app before proceeding.\n\n This test checks if the permissions state in settings UI is locked down correctly depending on the state set by the profile owner. You must install %s (aka CtsPermissionApp). Grant Let user decide Deny %s is not profile owner. %s is not device owner. No activity found to handle intent: %s Open Application Settings Finish Device administrator settings Please press the Go button to open the Security page in Settings. Navigate to Device administrators and confirm that:\n \n - \"CTS Verifier\" exists and is activated.\n - \"CTS Verifier\" cannot be disabled.\n \n Use the Back button to return to this page. Disallow configuring Bluetooth Please press the Set restriction button to set the user restriction. Then press Go to open the Bluetooth page in Settings. Confirm that:\n \n - You cannot view Bluetooth devices in range.\n - Trying to edit, add or remove any already paired devices triggers a support message.\n \n Use the Back button to return to this page. Disallow configuring WiFi Please press the Set restriction button to set the user restriction. Then press Go to open the WiFi page in Settings. Confirm that:\n\n - You cannot view WiFi networks in range.\n - Trying to edit, add or remove any existing WiFi configs triggers a support message.\n \n Use the Back button to return to this page. Disallow ambient display Please press the Set restriction button to set the user restriction. Then press Go to open the Display page in Settings. Mark this test as passed if one of the following:\n\n - There is no ambient display setting in Display Settings.\n - Ambient display setting is disabled with an info icon on it. Clicking on it triggers a support dialog.\n \n Use the Back button to return to this page. Disallow data roaming Device should have a sim card to perform this test. Please press the Set restriction button to set the user restriction. Then press Go to open the Mobile network page in Settings. Confirm that:\n\n - Data roaming is disabled.\n - Enabling data roaming is not possible and triggers a support message.\n\n Use the Back button to return to this page. Disallow factory reset Please press the Set button to set the user restriction.\n 1. Go to the factory reset settings. It is often located in \"Backup & reset\" settings.\n Confirm that:\n - Factory data reset is disabled.\n - Pressing factory data reset is not possible and triggers a support message.\n\n 2. Go to OEM unlocking settings, if this device has this Settings option. It is often located under \"Developer options\".\n Confirm that:\n - Oem Unlocking is disabled.\n - Enabling Oem unlocking is not possible and triggers a support message.\n\n Return back to this page. Set restriction Go VPN connection has been established.\n This is not as expected.\n Mark this test as failed.\n Established vpn connection cannot be closed.\n This is not as expected.\n Mark this test as failed.\n Cannot establish a VPN connection.\n This was expected.\n Mark this test as passed.\n Check VPN VPN test message Disallow configuring VPN Please press the Set VPN restriction button to set the VPN restriction. Perform tests in order. Mark test as passed if both test cases pass\n\n 1. Press Go to attempt to open the VPN settings page.\n You should either see (a) the VPN settings page or (b) that the Intent android.settings.VPN_SETTINGS fails to resolve.\n In the case of (a), confirm that:\n - Trying to perform any of the above actions will trigger a support message.\n In the case of (b) this step is successful.\n\n 2. Press Check VPN to check programmatic Vpn test.\n - Check Vpn setup is not allowed\n - If prompted to allow a VPN connection, press OK.\n\n Use the Back button to return to this page. Set VPN restriction Device Owner Requesting Bugreport Tests Device Owner Requesting Bugreport Tests The device owner requesting bugreport tests verify that a bugreport can be requested on a corporate owned device.\n Press below button first, follow steps described in the dialog that pops up, then proceed to the test cases.\n Pressing \'back\', \'pass\' or \'fail\' on this test page will remove the device owner.\n Alternatively, you can run the \'Remove device owner\' test. Ideally, that test should be run last so that it does not interfere with other tests. Request bugreport Bugreport sharing declined Bugreport shared successfully Bugreport is already being collected on this device Bugreport collection operation failed Sharing of requested bugreport declined while being taken Please press the \"Request bugreport\" button to invoke the bugreport sharing operation. Open the notifications panel and verify that:\n \n - Notification titled \"Taking bugreport...\" with an indefinite progress bar is present.\n \n Press the \"Request bugreport\" button again to try to invoke a second bugreport sharing operation. Open the notifications panel and verify that:\n \n - Notification titled \"Device Owner Requesting Bugreport Tests\" with message \"Bugreport is already being collected on this device\" is present. Dismiss that notification.\n - Tapping on the \"Taking bugreport...\" notification opens a dialog titled \"Share bug report?\", that contains a message \"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared, and your device may temporarily slow down.\" and two buttons - \"DECLINE\" and \"SHARE\".\n \n Tap the \"DECLINE\" button and verify that:\n \n - \"Taking bugreport...\" notification with an indefinite progress bar is no longer present.\n - Notification titled \"Device Owner Requesting Bugreport Tests\" with message \"Bugreport sharing declined\" is present.\n \n Dismiss the notifications and mark test as passed or failed. Sharing of requested bugreport accepted while being taken Please press the \"Request bugreport\" button to invoke the bugreport sharing operation. Open the notifications panel and verify that:\n \n - Notification titled \"Taking bugreport...\" with an indefinite progress bar is present.\n - Tapping on the \"Taking bugreport...\" notification opens a dialog titled \"Share bug report?\", that contains a message \"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared, and your device may temporarily slow down.\" and two buttons - \"DECLINE\" and \"SHARE\".\n \n Tap the \"SHARE\" button and verify that:\n \n - \"Taking bugreport...\" notification with an indefinite progress bar is no longer present.\n - Notification titled \"Sharing bugreport...\" with an indefinite progress bar is present.\n - After a few minutes (time necessary to wait for bugreport being collected) notification titled \"Sharing bugreport...\" is automatically dismissed and notification titled \"Device Owner Requesting Bugreport Tests\" with message \"Bugreport shared successfully\" is present.\n \n Dismiss the notifications and mark test as passed or failed. Sharing of requested bugreport declined after having been taken Please press the \"Request bugreport\" button to invoke the bugreport sharing operation. Open the notifications panel and verify that:\n \n - Notification titled \"Taking bugreport...\" with an indefinite progress bar is present.\n \n Wait for a few minutes (time necessary for bugreport to be collected) and verify that:\n \n - \"Taking bugreport...\" notification with an indefinite progress bar is dismissed.\n - Notification titled \"Share bug report?\", that contains a message \"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared.\" and two buttons - \"DECLINE\" and \"SHARE\" is shown.\n \n Tap the \"DECLINE\" button and verify that:\n \n - Notification titled \"Share bug report?\" is dismissed.\n - Notification titled \"Device Owner Requesting Bugreport Tests\" with message \"Bugreport sharing declined\" is present.\n \n Dismiss the notifications and mark test as passed or failed. Sharing of requested bugreport accepted after having been taken Please press the \"Request bugreport\" button to invoke the bugreport sharing operation. Open the notifications panel and verify that:\n \n - Notification titled \"Taking bugreport...\" with an indefinite progress bar is present.\n \n Wait for a few minutes (time necessary for bugreport to be collected) and verify that:\n \n - \"Taking bugreport...\" notification with an indefinite progress bar is dismissed.\n - Notification titled \"Share bug report?\", that contains a message \"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared.\" and two buttons - \"DECLINE\" and \"SHARE\" is shown.\n \n Tap the \"SHARE\" button and verify that:\n \n - Notification titled \"Share bug report?\" is dismissed.\n - Notification titled \"Device Owner Requesting Bugreport Tests\" with message \"Bugreport shared successfully\" is present.\n \n Dismiss the notifications and mark test as passed or failed. Policy transparency test This test checks that if an admin has enforced a policy, we let the user know about this.\nSet the short and long support messages before proceeding with the tests. Open settings Set short support message Set long support message Set message Clear message Set default message This action is disabled by your administrator. Contact someone@example.com for support. This profile or device is managed by CtsVerifier. You can contact tech support on:\n\n America: +1 555-0100\n\n APAC: +1 555-0100\n\n Europe: +1 555-0100\n\n Email: someone@example.com Update Dummy input method Dummy accessibility service 1. %1$s\n 2. Open Settings app by clicking the "Open settings" button below. Note that this will open the personal Settings app. If this device has the work settings in a different app or screen, then navigate there, ignoring the button if necessary.\n 3. Verify that performing the following action will trigger a support dialog:\n %2$s.\n 4. Verify that the support dialog displays the short support message set earlier.\n 5. Verify that clicking the "Learn more" link will redirect to Device administrators page in Settings app which displays the long support message set earlier.\n Set \'%s\' user restriction by turning on the switch below. Disallow add user Adding a new user Disallow adjust volume Adjusting the volume Disallow config date time Configuring auto time, time, auto date or date Disallow config location Enabling or disabling location in settings or quick settings Disallow airplane mode Toggling airplane mode switch bar or changing airplane mode state in quick settings Disallow config screen timeout Configuring sleep options in Display settings Disallow config brightness Configuring brightness level or adaptive brightness in Display settings, or toggling brightness slider in quick settings Disallow controlling apps DISABLE/UNINSTALL/FORCE STOP-ing any app in the managed device/profile other than CtsVerifier Disallow config cell broadcasts Configuring emergency alerts(cell broadcasts) Disallow config credentials Configuring user credentials Disallow config mobile networks Configuring mobile networks Disallow config tethering Configuring tethering and portable hotspots.\n NOTE: If the device does not support tethering please skip this test and mark it as passing.\n Disallow config Wi-Fi Modifying Wi-Fi configuration Disallow debugging features Enabling developer options Disallow factory reset Factory resetting the device Disallow fun Opening android easter egg game by tapping repeatedly on the \'Android version\' option Disallow install unknown sources Enabling \'Cts Verifier\' to install apps Disallow install unknown sources globally Enabling \'Cts Verifier\' to install apps device-wide Disallow modify accounts Adding an account, and also removing an account (after you have previously added one) Disallow network reset Resetting network settings Disallow outgoing beam Switching on android beam Disallow remove user Please press \'Create uninitialized user\' to create a user that is not set up. Then press the \'Set restriction\' button to set the user restriction. Then press \'Go\' to open \'Multiple users\' setting. \n Click the Settings icon adjacent to the managed user.\n\n Mark this test as passed if:\n\n - \"Delete User\" is disabled.\n - Tapping \"Delete user\" shows an \"Action not allowed\" dialog.\n \n Use the Back button to return to this page. Please press the \'Set restriction\' button to set the user restriction. Then press \'Go\' to open \'Multiple users\' setting. \n\n Mark this test as passed if all of the following conditions are met:\n\n - The \"Delete managed user from this device\" option in the overflow menu is disabled\n - Clicking \"Delete managed user from this device\" in the overflow menu results in an \"Action not allowed\" dialog.\n \n Use the Back button to return to this page. Create uninitialized user Disallow remove managed profile Removing the work profile. It shouldn\'t be possible neither from the Accounts screen nor the Device Administrators screen (after selecting the Device Administrator that corresponds to the badged version of \"CTS Verifier\") Disallow share location Turning on location sharing Disallow set user icon Disallow uninstall apps a. If testing in work profile: uninstall applications from the work profile (badged applications) other than CtsVerifier and system apps. \n b. Otherwise: uninstall applications other than CtsVerifier and system apps Disallow unified challenge Setting one lock for both personal and work profiles. IMPORTANT: Separate work lock should be set prior to this test in Set work lock test Disallow lockscreen unredacted notification Disallow unredacted notifications when device is locked by turning on the switch below Selecting show all notification content when device is locked @string/disallow_keyguard_unredacted_notifications Set auto (network) time required Set auto time required policy by turning on the switch below Modifying date and time @string/set_auto_time_required Set lock screen info Select a lock screen info by setting a non-empty message in the edittext below. Modifying lock screen message @string/set_lock_screen_info Set maximum time to lock Select a non-zero maximum time to lock value by setting a value in the edittext box below. Selecting maximum time to lock greater than the set value below Set maximum time to lock (in Sec): Set password quality Set minimum password quality by selecting an option in the spinner below. Setting a password which does not meet the requirements of the password quality selected @string/set_password_quality Unspecified Something Numeric Numeric (Complex) Alphabetic Alphanumeric Complex Set permitted accessibility services Check that \'Dummy Accessibility service\' is not enabled in Settings and disallow \'Dummy Accessibility service\' from permitted accessibility services by turning on the switch below. Enabling \'Dummy Accessibility service\' in the list of accessibility services Allow only system accessibility services: Set permitted input methods Check that \'Dummy Input method\', along with all other non-system apps, are not enabled in Settings for the managed profile (they may be enabled for the primary profile). Then disallow \'Dummy Input method\' from permitted input methods by turning on the switch below. Enabling \'Dummy Input method\' in the list of input methods Allow only system input methods: Managed device info tests Managed device info page Please press the Go button to open Settings. Verify that:\n 1) One of the Settings screens contains an entry for managed device information.\n 2) Tapping that entry opens a screen.\n 3) In this screen, at a minimum, you are told your organization can:\n * Change settings on this device.\n * See data associated with your work account.\n * See the list of all apps on your device.\n * See usage of each app on your device.\n * Lock the device and change the password.\n * Wipe the device.\n \n Use the Back button to return to this page. Open Settings Retrieve traffic logs Please do the following:\n 1) Press the Retrieve Traffic Logs button and record the time at which you did this.\n 2) Wait one minute.\n 3) Press the Open Settings button.\n 4) In the screen that opens, verify that you are told traffic logs were last retrieved at the time you pressed the Retrieve Traffic Logs button in step (1).\n \n Use the Back button to return to this page. Retrieve Traffic Logs Request bug report Please do the following:\n 1) Press the Request Bug Report button and record the time at which you did this.\n 2) Wait one minute.\n 3) Press the Open Settings button.\n 4) In the screen that opens, verify that you are told a bug report was last requested at the time you pressed the Request Bug Report button in step (1).\n \n Use the Back button to return to this page. Request Bug Report Retrieve security logs Please do the following:\n 1) Press the Retrieve Security Logs button and record the time at which you did this.\n 2) Wait one minute.\n 3) Press the Open Settings button.\n 4) In the screen that opens, verify that you are told security logs were last retrieved at the time you pressed the Retrieve Security Logs button in step (1).\n \n Use the Back button to return to this page. Retrieve Security Logs Clear Org Set Org Enterprise-installed apps Please do the following:\n 1) You should have received NotificationBot.apk together with the CTS verifier. If you built the CTS verifier yourself, build the NotificationBot.apk by issuing the following command on the host:\n make NotificationBot\n 2) Upload the NotificationBot.apk to your device by issuing the following command on the host:\n adb push /path/to/NotificationBot.apk /sdcard\n 3) Press the Uninstall button.\n 4) Press the Open Settings button.\n 5) In the screen that opens, verify that you are not told that your administrator installed any apps.\n 6) Use the Back button to return to this page.\n 7) Press the Install button.\n 8) Press the Open Settings button.\n 9) In the screen that opens, verify that you are told now that your administrator installed at least one app.\n 10) Tap on that information. Verify that a list of apps installed shows.\n 11) Verify that the list contains the CTS Robot app.\n 12) Use the Back button to return to this page.\n 13) Press the Uninstall button.\n 14) Issue the following command on the host:\n adb shell rm /sdcard/NotificationBot.apk Install Uninstall Location access permission Please do the following:\n 1) Press the Reset button.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are not told that your administrator has granted location access to any apps.\n 4) Use the Back button to return to this page.\n 5) Press the Grant button.\n 6) Press the Open Settings button.\n 7) In the screen that opens, verify that you are told now that your administrator has granted location access to at least one app.\n 8) Tap on that information. Verify that a list of apps which have location access shows.\n 9) Verify that the list contains the CTS Verifier app.\n 10) Use the Back button to return to this page.\n 11) Press the Reset button. Reset Grant Microphone access permission Please do the following:\n 1) Press the Reset button.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are not told that your administrator has granted microphone access to any apps.\n 4) Use the Back button to return to this page.\n 5) Press the Grant button.\n 6) Press the Open Settings button.\n 7) In the screen that opens, verify that you are told now that your administrator has granted microphone access to at least one app.\n 8) Tap on that information. Verify that a list of apps that have microphone access shows.\n 9) Verify that the list contains the CTS Verifier app.\n 10) Use the Back button to return to this page.\n 11) Press the Reset button. Camera access permission Please do the following:\n 1) Press the Reset button.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are not told that your administrator has granted camera access to any apps.\n 4) Use the Back button to return to this page.\n 5) Press the Grant button.\n 6) Press the Open Settings button.\n 7) In the screen that opens, verify that you are told now that your administrator has granted camera access to at least one app.\n 8) Tap on that information. Verify that a list of apps that have camera access shows.\n 9) Verify that the list contains the CTS Verifier app.\n 10) Use the Back button to return to this page.\n 11) Press the Reset button. Default apps Please do the following:\n 1) Press the Reset button.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are not told that your administrator set any default apps.\n 4) Use the Back button to return to this page.\n 5) Press the Set Default Apps button.\n 6) Press the Open Settings button.\n 7) In the screen that opens, verify that you are now told that your administrator has set 6 default apps.\n 8) Tap on that information. Verify that a list of default apps shows, with 6 elements in it.\n 9) Verify that each element shows the CTS Verifier is the default app.\n 10) Use the Back button to return to this page.\n 11) Press the Reset button. Set Default Apps Default keyboard Please do the following:\n 1) Press the Open Settings button.\n 2) In the screen that opens, verify that you are not told the default keyboard has been set.\n 3) Use the Back button to return to this page.\n 4) Press the Set Keyboard button to set the default keyboard.\n 5) Repeat steps (1) through (3), verifying that in step (2), you are told now that the default keyboard has been set to CTS Verifier.\n 6) Press the Finish button to clear the default keyboard. Set Keyboard Finish Always-on VPN Please do the following:\n 1) Press the Open Settings button.\n 2) In the screen that opens, verify that you are not told that an always-on VPN is set.\n 3) Use the Back button to return to this page.\n 4) Press the Set VPN button to set an always-on VPN.\n 5) Repeat steps (1) through (3), verifying that in step (2), you are told now that an always-on VPN is set.\n 6) Press the Finish button to clear the always-on VPN. Set VPN Always-on VPN (managed profile) Please do the following:\n 1) Press the Start button to create a work profile.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are not told that an always-on VPN is set.\n 4) Use the Back button to return to this page.\n 5) Press the Set VPN button to set an always-on VPN in your work profile.\n 6) Repeat steps (2) through (4), verifying that in step (3), you are told now that an always-on VPN is set in your work profile.\n 7) Press the Finish button to remove the work profile and always-on VPN. Start Global HTTP Proxy Please do the following:\n 1) Press the Open Settings button.\n 2) In the screen that opens, verify that you are not told that a global HTTP proxy has been set.\n 3) Use the Back button to return to this page.\n 4) Press the Set Proxy button.\n 5) Repeat steps (1) through (3), verifying that in step (2), you are told now that a global HTTP proxy has been set.\n 6) Press the Clear Proxy button. Trusted CA certs Please do the following:\n 1) Press the Open Settings button.\n 2) In the screen that opens, verify that you are not told that your administrator installed trusted CA certs.\n 3) Use the Back button to return to this page.\n 4) Press the Install Cert button to install a trusted CA cert.\n 5) Repeat steps (1) through (3), verifying that in step (2), you are told now that the administrator has installed at least one trusted CA cert.\n 6) Press the Finish button to clear the cert. Install Cert Trusted CA certs (managed profile) Please do the following:\n 1) Press the Start button to create a work profile.\n 2) Press the Settings button.\n 3) In the screen that opens, verify that you are not told that your administrator installed trusted CA certs.\n 4) Use the Back button to return to this page.\n 5) Press the Install Cert button to install a trusted CA cert in your work profile.\n 6) Repeat steps (2) through (4), verifying that in step (3), you are told now that the administrator has installed at least one trusted CA cert in your work profile.\n 7) Press the Finish button to remove the work profile and cert. Settings Set Proxy Clear Proxy Wipe on authentication failure Please do the following:\n 1) Press the Open Settings button.\n 2) In the screen that opens, verify that you are not told all device data will be deleted if you mistype your password too many times.\n 3) Use the Back button to return to this page.\n 4) Press the Set Limit button to set the maximum number of password attempts.\n 5) Repeat steps (1) through (3), verifying that in step (2), you are told now that all device data will be deleted if you mistype your password 100 times.\n 6) Press the Finish button to clear the maximum number of password attempts. Set Limit Wipe on authentication failure (managed profile) Please do the following:\n 1) Press the Start button to create a work profile.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are not told work profile data will be deleted if you mistype your password too many times.\n 4) Use the Back button to return to this page.\n 5) Press the Set Limit button to set the maximum number of password attempts.\n 6) Repeat steps (2) through (4), verifying that in step (3), you are told now that work profile data will be deleted if you mistype your password 100 times.\n 7) Press the Finish button to remove the work profile. Quick settings disclosure Please do the following:\n 1) Press the Clear Org button.\n 2) Open and fully expand Quick Settings.\n 3) Verify that at the bottom of Quick Settings, you are told the device is managed.\n 4) Close Quick Settings.\n 5) Press the Set Org button.\n 6) Open and fully expand Quick Settings.\n 7) Verify that at the bottom of Quick Settings, you are told the device is managed by \"Foo, Inc.\".\n 8) Tap on the information.\n 9) Verify that a dialog informing you about device monitoring opens.\n 10) Tap the \"View Policies\" button.\n 11) Verify that a screen informing you what your managing organization can do is shown.\n \n Use the Back button to return to this page. If this device does not have quick settings, please skip this test and mark it passing. Keyguard disclosure Please do the following:\n 1) Press the Open Settings button to open Settings.\n 2) Navigate to \"Security\" > \"Screen lock\" and select the first screen lock type that is not \"None\".\n 3) Use the Back button to return to this page.\n 4) Press the Clear Org button.\n 5) Lock the device.\n 6) Verify that on the lock screen, you are told the device is managed.\n 7) Unlock the device.\n 8) Press the Set Org button.\n 9) Lock the device.\n 10) Verify that on the lock screen, you are told the device is managed by \"Foo, Inc.\".\n 11) Unlock the device.\n 12) Repeat steps (1) through (11) for each screen lock type other than \"None\". Add account disclosure Please do the following:\n 1) Press the Clear Org button.\n 2) Press the Open Settings button.\n 3) In the screen that opens, verify that you are told that the device is managed.\n 4) Use the Back button to return to this page.\n 5) Press the Set Org button.\n 6) Press the Open Settings button.\n 7) In the screen that opens, verify that you are told that the device is managed by \"Foo, Inc.\".\n 8) Tap the \"Learn more\" link.\n 9) Verify that a screen informing you what your managing organization can do is shown.\n 11) Use the Back button to return to this page. CTS Verifier Test Network Logging UI Please do the following:\n 1) Open and fully expand Quick Settings.\n 2) Check that you are told that your device is managed.\n 3) Close Quick Settings.\n 4) Enable network logging by tapping on the left button below.\n 5) Open Quick Settings again. Check that an icon appeared next to the text about device management.\n 6) Verify that a notification including the same icon popped up, informing you that network logging has been enabled.\n 7) Tap the notification.\n 8) Verify that a dialog about device monitoring opens, and informs you about: the name of the app that manages this device, details about the device owner\'s capabilities, and information that the admin has activated network logging and can see all network traffic.\n 9) Close the dialog.\n 10) Tap the right button below to disable network logging.\n 11) Verify that the notification disappeared.\n \n If this device does not have quick settings, please skip this test and mark it passing. Enable Network Logging Disable Network Logging Customize Lock Screen Message Please do the following:\n 1) Press the \"Go\" button to go to Settings\n 2) Find the \"Screen lock\" option and set it to \"Swipe\"\n 3) Use the Back button to return to this page\n 4) In the field below, write a lock screen message.\n 5) Press the \"Set lock screen message\" button\n 6) Press Power button once to lock the screen.\n 7) Press Power button again to reveal the lock screen.\n 8) Verify that the message from step 1) appears on the lock screen.\n 9) Unlock the screen and return to this page.\n 10) Press the \"Go\" button to go to Settings\n 11) Find the \"Lock screen message\" option\n 12) Verify that you cannot modify the setting.\n 13) Use the Back button to return to this page.\n 14) Press the \"Go\" button to go to Settings\n 15) Find the \"Screen lock\" option and set it to \"None\"\n 16) Use the Back button to return to this page Set lock screen message My lock screen message Lock screen message cannot be empty. Corporate Owned Managed Profile Provision work profile Press the OK button to start the managed provisioning flow, and complete the flow to create a work profile Managed User Managed User positive tests The positive managed user tests verify policies on a managed user created by a device owner. \n Press Go button to create a managed user, and you will be switched to the managed user automatically. Dismiss the keyguard and a \'Managed User Tests\' should launch.\n Follow the test instructions and press \'pass\' or \'fail\' to return to this screen.\n The positive managed user tests verify policies on a managed user created by a device owner. Proceed to the test cases, then press \'pass\' or \'fail\' to finish this test. Managed User Tests Check affiliated profile owner Missing or incorrect affiliated profile owner: CTSVerifier is not affilaited PO! Disallow user switch Press \'Create uninitialized user\' to create a user that is not setup. Then press \'Set restriction\' button to set the user restriction. Then press \'Go\' to open multiple users settings. Confirm that:\n \n - Main switch is disabled and in off position\n \n In additional, if quick settings is available, confirm that user switcher is hidden or disabled. Use the Back button to return to this page. Create uninitialized user User switcher message 1. Please press the \'With user switcher message\' button to set the user switcher message. You will then be automatically switched to a secondary user. If a user switcher dialog shows up, it should read \'Start user session\'. Wait until you are automatically switched back to primary, if a user switcher dialog shows up, it should read \'End user session\'. \n 2. Please press the \'Without user switcher message\' button to clear the user switcher message. You will then be automatically switched to a secondary user. If a user switcher dialog shows up, it should read \'Switching to managed user\'. Wait until you are automatically switched back to primary, if a user switcher dialog shows up, it should read \'Switching to (name of primary user)\'. With user switcher message Without user switcher message Logout Please press the Go button to enable logout. You will then be switched to a newly created user. Look for a way to logout the current user without unlocking the lock screen. The control is usually named \'End session\'.\n The location may vary depending on manufacturer, typical locations are:\n - In power button menu by long pressing power button.\n - On the lock screen.\n \n When successfully logout and switched back to primary user, confirm that the logout control is not available in primary user. This test is mostly automated, but requires some user interaction. You can pass this test once the list items below are checked. Idle Mode Constraints Start test Verify the behavior of the JobScheduler API for when the device is in idle mode. Simply follow the on-screen instructions. Turn the screen off and then back on in order to begin. Switch off screen and wait for it to turn on to continue. Idle job does not execute when device is not idle. Idle job does execute when device is forced into idle. Charging Constraints Verify the behavior of the JobScheduler API for when the device is on power and unplugged from power. Simply follow the on-screen instructions. Plug in the charger if it isn\'t already plugged in. Device not charging will not execute a job with a charging constraint. Device when charging will execute a job with a charging constraint. After the above test has passed, remove the charger to continue. If the above failed, you can simply fail this test. Device is plugged in. Please wait while it gets into stable charging state. There seems to be a problem with your charger. Please try again. Connectivity Constraints Verify the behavior of the JobScheduler API for when the device has no access to data connectivity. Simply follow the on-screen instructions. Disable WiFi and Mobile data to begin. Device with no connectivity will not execute a job with an unmetered connectivity constraint. Device with no connectivity will not execute a job with an unmetered connectivity constraint. Device with no connectivity will still execute a job with no connectivity constraints. 3rd-party TV input test Verify that the bundled TV app launches via Intent and calls the proper API to discover 3rd-party TV inputs. Does the bundled TV app support third-party TV inputs? Select the \"Launch TV app\" button and set up the newly installed TV input: \"CTS Verifier\". Setup activity must have been started. Select the \"Launch TV app\" button and tune to the \"Dummy\" channel from \"CTS Verifier\" input. If necessary, configure the channel to be visible. Tune command must be called. Verify that the overlay appears and displays the text \"Overlay View Dummy Text\" when you tune to the \"Dummy\" channel. Verify that video layout changes correctly according to the provided video track information, including pixel aspect ratio. Verify the TV app provides query results for 3rd-party input\'s channels and programs in global search results. Select the \"Launch EPG\" button and locate the \"Dummy\" channel. Do you see the programs named \"Dummy Program\" and their descriptions "Dummy Program Description" in the EPG? Select the \"Launch setup\" button and verify if the bundled TV app shows the list of installed TV inputs for setup. Do you see the \"CTS Verifier\" input in the list? TV app parental controls test Verify that the bundled TV app calls the parental controls API. Select the \"Launch TV app\" button and turn on the parental controls. If parental controls are on already, turn it off and on again. TV input service must have received ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED broadcast. Is there an option to turn off parental controls on this device? Select the \"Launch TV app\" button and block the \"Custom Rating\" for \"CtsVerifier\" rating system in the parental control settings. If the rating system is disabled by default, enable it. If the \"Custom Rating\" is already blocked, unblock it, save, and then block again. TV input service must have received ACTION_BLOCKED_RATINGS_CHANGED broadcast. Select the \"Launch TV app\" button; verify that the channel is blocked. Try to unblock the screen by entering PIN; verify that it\'s unblocked. Yes No Launch TV app Launch EPG Launch setup CtsVerifier channel is not set up. Please set up before proceeding. TV app closed captions and multi-audio test Verify that the bundled TV app calls the multi-track API. Select the \"Launch TV app\" button. Verify that closed captions are off by default. Set closed caption language to English. Captions are enabled. The English closed caption track should be selected. Select the \"Launch TV app\" button. Verify that the audio track is English by default. Select Spanish audio track. The Spanish audio track should be selected. TV app time shift test This test verifies that the TV app invokes proper time shift APIs in the framwork. Press the \"Launch TV app\" button. Verify that the playback control is available. Pause the playback and then resume it. The playback should resume after pause. The playback position tracking should be activated. Press the \"Launch TV app\" button. Verify that the playback control is available. Rewind the playback and in a few seconds fast-forward it. The playback should rewind. The playback should fast-forward. Press the \"Launch TV app\" button. Verify that the playback control is available. Seek to previous and then seek to next. The playback position should be moved to the previous position. The playback position should be moved to the next position. TV app app-link test Verify that the bundled TV app supports linking to channel apps. If a TV input service provides links for its specific channels, the TV app should show the links in a proper format. Select the \"Launch TV app\" button, then check if you can see a menu with \"Cts App-Link Text\" text in red background. If you see the link, select it to follow the link. The app-link must have been clicked and the activity should be changed correctly. Do you see the app-link card similar to the image on the left?\n 1) You should see the poster art image, but the color may be different.\n 2) You should see the text \"Cts App-Link Text\".\n Microphone device test This test checks if InputDevice.hasMicrophone of the Media API reports a correct value on every input device (including remote controls). Before continuing, please make sure that you pair all primary input devices intended to be used by the device, including bluetooth remotes and companion remote-control apps such as the Android TV Remote Control. Have you paired every primary input device with the device under test (DUT)? Does input device \"%1$s\" have a microphone? InputDevice.hasMicrophone reports that this input device DOES have a microphone whereas you selected that it does not. Please correct it by declaring \"audio.mic = 0\" in the device\'s input device configuration (.idc) file. InputDevice.hasMicrophone reports that this input device does NOT have a microphone whereas you selected that it does. Please correct it by declaring \"audio.mic = 1\" in the device\'s input device configuration (.idc) file and make sure that relevant files such as key layout (.kl) and key character map (.kcm) files are found by the system accordingly. No input devices found. Overlay View Dummy Text Example of input app specific custom rating. Screen Pinning Test Pressing next will prompt you to enter screen pinning, allow this app to enter screen pinning. Press Next to verify the app is pinned. Try to leave the app without unpinning the screen. Press next once you have verified you cannot leave. Use interactions defined by your device to unpin such as long pressing the back and overview button, then press next. All tests completed successfully. The screen was no longer pinned. Cannot start the test with the screen already pinned. Screen was not pinned. Screen was not unpinned. Could not exit screen pinning through API. Audio Output Devices Notifications Test Click the "Clear Messages" button then connect and disconnect a wired headset. Note if the appropriate notification messages appear below. Audio Input Devices Notifications Test Click the "Clear Messages" button then connect and disconnect a microphone or wired headset. Note if the appropriate notification messages appear below. Clear Messages CONNECT DETECTED DISCONNECT DETECTED Audio Input Routing Notifications Test Click on the "Record" button in the AudioRecord Routing Notifications section below to start recording. Insert a wired headset or microphone. Observe a message acknowledging the rerouting event below. Remove the wired headset and observe the new routing message. Click on the "Stop" button to stop recording.\n Audio Output Routing Notifications Test Click on the "Play" button in the AudioTrack Routing Notifications section below to start (silent) playback. Insert a wired headset. Observe a message acknowledging the rerouting event below. Remove the wired headset and observe the new routing message. Click on the "Stop" button to stop playback.\n Play Stop Record Stop AudioTrack Routing Notifications AudioRecord Routing Notifications AudioTrack rerouting AudioRecord rerouting Profile Connected Peripheral USB Audio Peripheral Attributes Test Peripheral Profile Status USB Audio Peripheral Play Test Connect the USB Audio Interface Peripheral and press the PLAY button below. Verify that a tone is correctly played. Play Stop USB Audio Peripheral Record Test Connect the USB Audio Peripheral and press the RECORD or RECORD LOOPBACK button below. Verify that a tone is correctly played. Record Record Loopback Stop USB Audio Peripheral Buttons Test Connect the USB Audio headset with buttons and press each transport/media button in turn. Button A - play/pause Button B - volume up (+) Button C - volume down (-) Button D - voice assist Recognized Not Recognized Disable Google Assistant For this test to succeed it may be necessary to disable the Google Assistant (Settings / Google / Search / Google Assistant Settings / Devices / <device name> / Google Assistant) Pro Audio Test Has Low-Latency Audio Audio Input: Audio Output: Round Trip Latency: Confidence: Has MIDI Support MIDI Input: MIDI Output: USB Host Mode: USB Peripheral Mode: HDMI Support: Has HDMI Support Start Loopback Loopback Instructions Round-Trip Test N/A pending... MIDI Test Native MIDI API Test For the USB MIDI interface test it is required that you have connected a supported USB Audio Peripheral device with standard MIDI 5-pin, DIN (round) connectors and a standard MIDI cable. The cable must be connected to the MIDI input and output plugs on the peripheral. \nFor the USB Bluetooth test it is required that you connect a Yamaha MT-BT301 to the correct MIDI plugs on the USB peripheral, the BT301 output jack to the USB interface input jack and BT301 input plug to the USB interface output jack. \nThe Virtual MIDI test does not require any MIDI interface hardware. Has MIDI Support USB MIDI Loopback Test: USB Input: USB Output: Test USB MIDI Interface Virtual MIDI Loopback Test: Virtual Input: Virtual Output: Test Virtual MIDI Interface Bluetooth MIDI Loopback Test: Bluetooth Input: Bluetooth Output: Test Bluetooth MIDI Interface Status Not Run. Passed. Failed - Data Mismatch. Failed - Timeout. Failed - Data Overrun. Failed - Device Error. Failed - JNI Error. Does this device have a headset port? No Yes WARNING: Some results show potential deficiencies on the system. Please consider addressing them for a future release. Test Result: Successful Test Result: Not Optimal false true Warning Ok Audio Level is not maximum. Please check your device is set to max level for audio playback. Audio Loopback Latency Test This test requires the Loopback Plug. Please connect a Loopback Plug into the headset connector, and proceed with the instructions on the screen. The system will measure the input-output audio latency by injecting a pulse on the output, and computing the distance between replicas of the pulse. You can vary the Audio Level slider to ensure the pulse will feed back at adequate levels. Repeat until a confidence level >= 0.6 is achieved. Please connect a "Loopback Plug" and press "Loopback Plug Ready". Loopback Plug Ready Set the audio level to a suitable value, then press Test button. It might require multiple tries until a confidence >= 0.6 is achieved. Audio Level Test Results... Audio Frequency Line Test The system will measure the frequency response of the left and right line outputs, by feeding them back thru the microphone conection with the loopback jack. This test requires the Loopback Plug. Please connect a Loopback Plug on the headset connector, and proceed with the instructions on the screen. Please connect a "Loopback Plug" and press "Loopback Plug Ready". Loopback Plug Ready Test Results... Audio Frequency Speaker Test This test requires an external USB reference microphone. Please connect the USB microphone and proceed with the instructions on the screen. The system will measure frequency response of the left and right speakers (if there are two speakers), or the response of the mono speaker twice. Please connect an USB reference microphone and press "USB Reference microphone ready" Waiting for USB microphone... USB Reference microphone ready USB Audio device detected\n\nPlease set up Device Under test in quiet room, and Microphone 20 cms perpendicular to center of screen, then press TEST "No USB Audio device detected. Please reconnect." Test Results... Audio Frequency Microphone Test This test requires an external USB reference microphone and external speakers. The test signals can be played from the device under test (DUT) or from a secondary device (e.g. when your DUT can’t support a USB microphone and external speakers simultaneously, or DUT does not have headphone output). Follow the instructions on the screen to measure the frequency response for the built in microphone. Play Stop TEST NOISE: Position speakers 40 cms from device under test. Press [PLAY] to play broadband white noise. Press [TEST] Test Results... TEST USB BACKGROUND: Connect USB microphone and position it right next to microphone under test. No source of noise should be active during this test. Press [TEST] Test Results... TEST USB NOISE: Connect USB microphone and position it right next to microphone under test. Position speakers 40 cms from device under test. Press [PLAY] to play broadband white noise. Press [TEST] Test Results... Global Results... Audio Frequency Unprocessed Test This test requires an external USB reference microphone, external speakers and a Sound Pressure Level meter. You can play the test signals from the device under test or from a secondary device. Follow the instructions on the screen to measure the frequency response for the built in microphone using UNPROCESSED audio source. If the Audio Frequency Unprocessed feature is defined in this system, success in all tests is mandatory to pass. If the feature is not defined, measurements are still needed, but success in all of them is not mandatory to pass. Audio Frequency Unprocessed feature is defined. Success in all tests is mandatory to pass Audio Frequency Unprocessed feature is NOT defined. Success in all test is NOT mandatory to pass Play Stop TEST TONE: Press [PLAY] to play tone at 1 Khz. Measure sound SPL to be 94 dB right next to microphone under test. Press [TEST] Test Results... TEST NOISE: Position speakers 40 cms from device under test. Press [PLAY] to play broadband white noise. Press [TEST] Test Results... TEST USB BACKGROUND: Connect USB microphone and position it right next to microphone under test. No source of noise should be active during this test. Press [TEST] Test Results... TEST USB NOISE: Connect USB microphone and position it right next to microphone under test. Position speakers 40 cms from device under test. Press [PLAY] to play broadband white noise. Press [TEST] Test Results... Global Results... 6DoF Test Settings Start "Motion Tracking permission needed!" Translations: Rotations: Place Marker Markers:\n CTSActivity Stop! Mark where you are standing with something like a piece of card and then press ready to record this waypoint Ready First Waypoint When you are ready to place your first waypoint, place a marker at the devices current location. Use something that will allow you to put the device in the exact same position and orientation on the second lap. Then, while the device is on the marker, click the turquoise action button to record the first waypoint.\n\nStart walking in a direction. The button will appear again when you have walked far enough. Place a marker at the device\'s location and press the button to record a waypoint. You cannot place waypoints in a straight line, so for your 3rd waypoint turn 90 degrees and walk in a direction that will make a triangle out of your 3 waypoints. You now need to visit each waypoint, clicking the turquoise action button at each one. You need to reach each waypoint in 20 seconds. While you are on your way to the waypoints, the camera preview will rotate. You will need to rotate the device to match the rotation of the camera preview. A box will be shown to help you. It shows the device\'s current rotation and will change color based on whether you are close enough to the required rotation. Red if you are failing, green if you are passing. When you have reached the next waypoint, the device can be returned to its original rotation. Go back to the first waypoint Now go back to the first waypoint and press ready to finish the first lap. Got it! Now, go to each waypoint (including your initial one) and click the turquoise action button. Then move on to the next waypoint and do the same.\nThe last waypoint should be the first waypoint again. Pass 2 Results These tests are designed to verify the correctness and accuracy of a 6DoF enabled device. There will be 3 phases to these tests, each testing a different part of 6DoF functionality. This first test will test the accuracy of the device. It will ask you to mark out 4 waypoints and then return to the original waypoint to complete the lap. After this you will then need to do another lap without any HUD information. At the end, the pairs of waypoints and the path you travelled will be compared and you will be given a result. This test will test the robustness of the device. Using the same 4 waypoints as before, you will need to do a lap, reaching each waypoint in the allotted time.\nWhile you are on your way to the waypoints, the camera preview will rotate. You will need to rotate the device to match the rotation of the camera preview. A box will be shown to help you. It shows the device\'s current rotation and will change color based on whether you are close enough to the required rotation. Red if you are failing, green if you are passing. When you have reached the next waypoint, the device can be returned to its original rotation. Now we will test the AR capability of the device. Again, you will need to do a lap of the waypoints, but this time between each waypoint the device will overlay hoops that you must pass the device through as you go along. Distance from last waypoint: Return to initial waypoint Waypoint placed! undo Distance Remaining:\n Waypoints Paths Not far away enough from other waypoints! Not enough area covered. Passed! Failed! Test Failed! Not close enough to initial waypoint! Waypoint %1$s: %2$s Total %1$s Path %1$s: %2$s Fail Pass Info Coming soon! Motion Tracking has entered an invalid state XML UI fragment was null, couldn\'t do callback to listener DataFragment is null %1$s seconds remaining to get to next waypoint Skip to 2nd Test Test Failed because Test Activity was paused Overlapping Outlines Overlapping Filled Time Rotation Separate Outlines Separate Filled One Rectangle Change rotation mode Go through the rings as you visit waypoints. Rings Rings collected %1$s/%2$s You haven\'t collected all the rings in this path! Save Find a place for your first waypoint Go to initial waypoint Find a suitable place for waypoint 0 Go to waypoint 0 Phase 1 Phase 2 Phase 3 @string/phase1_description @string/phase2_description @string/phase3_description Restore the default dialer setting by going to Default apps -> Phone app Restore the default dialer" Default dialer already set Default dialer already restored Before the test, the CTS verifier should be set to the default dialer Set CTS verifier as default dialer" Voicemail Broadcast Test This test verifies that the default dialer can intercept the voicemail notification. The test must be conducted on a SIM with visual voicemail disabled The carrier does not support voicemail, this test is not applicable. Send a voicemail to the device, CTS verifier should receive a voicemail notification broadcast Voicemail broadcast Received VisualVoicemailService Test This test verifies that the VisualVoicemailService can receive SIM inserted and removed events Removed the SIM before starting the test. This test only applies to devices with hotswap-able SIM Ok Not applicable Insert SIM Service connection event received Remove SIM SIM removal event received Hide voicemail in call settings test This test verifies that the default dialer can hide voicemail settings in the call settings menu by using TelephonyManager.METADATA_HIDE_VOICEMAIL_SETTINGS_MENU Tap the button, and verify that \"voicemail\" does not exist in the call settings Open call settings \"Voicemail\" does not exist \"Voicemail\" exists Dialer Receives Incoming Call This test verifies that the default dialer can receive incoming calls after it has been set. Detected the incoming call. Activity passed. Call the device. Verify Call Received Hide settings in voicemail test This test verifies that voicemail settings accessible with public API can be hidden when launching TelephonyManager.ACTION_CONFIGURE_VOICEMAIL with EXTRA_HIDE_PUBLIC_SETTINGS. Tap the button, ringtone and virbration settings does not exist in the voicemail settings. Open voicemail settings Ringtone settings does not exist Ringtone settings exists Dialer Shows HUN on Incoming Call This test verifies that the default dialer shows a heads up notification on incoming call, and that only one notification is shown. Call the device. Check the box if the heads up notification was shown containing the text \"CTS Incoming Call Notification\", and only one incoming call notification was shown. HUN shown and meets criteria specified above. Incoming Call CTS Incoming Call Notification System Implements Telecom Intents This test verifies that the system handles the specified Telecom Intents. Press the buttons below to launch settings activities. Check the associated box if the activity loads and was launched succesfully. Launch call settings Launch short sms answer settings Launch calling accounts settings Launch accessibility settings Setting Launched Results... USB Audio Peripheral Attributes Test This test requires that you have connected a mandated USB Audio Interface peripheral. If the discovered attributes of the peripheral matches the known attributes of the peripheral the test passes and the \"pass\" button will be enabled. USB Audio Peripheral Play Test This test requires that you have connected a USB Audio Interface peripheral and some way to monitor the output. Press the \"Play\" button and verify that a tone is produced. USB Audio Peripheral Record Test This test requires that you have connected a USB Audio Interface peripheral. Connect the outputs to the inputs (with patch cables). Start playback by pressing the \"Record Loopback\" button and verify that the recorded signal is displayed in the wave display view. (It may be necessary to adjust the input controls on the peripheral). USB Audio Peripheral Buttons Test This test requires that you have connected a USB Audio headset that supports the Android USB audio headset buttons specification. Press each \"transport\" button and verify that it is recognized by the test. When each of the buttons has been recognized the \"pass\" button will be enabled. Pro Audio Test This test requires that you have connected a supported USB Audio Peripheral device (not a headset) and that peripheral\'s audio outputs are connected to the peripherals\'s audio inputs. Alternatively, for devices with an analog audio jack or USB-c Digital to Analog dongle, a Loopback Plug can be used. Also, any if there is an input level control on the peripheral, it must be set to a non-zero value. When the test has verified support for a valid audio peripheral, press the \"Round-Trip Test\" button to complete the test. Note that it may be necessary to run the latency test more than once to get a sufficient confidence value. HDMI Support Please connect an HDMI peripheral to validate HDMI output attributes. Telecom Enable Phone Account Test This test verifies that a third party ConnectionService can be enabled by the user. Click the button below to register a test PhoneAccount and ConnectionService. Register Phone Account In the Calling accounts settings, choose "All calling accounts" and enable the "CTS Verifier Test" account. On AOSP this is accessible from: Phone app > Settings > Calls > Calling Accounts. Once you have completed this step, return here and click the Confirm button. Confirm Telecom Outgoing Call Test This test verifies that the default dialer on the system is able to make a call using a third-party ConnectionService. Click the button below to register a test PhoneAccount and ConnectionService. You will be taken to the phone account selection screen. Please enable the "CTS Verifier Test" account and select it as the default account for outgoing calls. Once you have completed this step, return here and click the "Confirm Phone Account" button. Register and Enable Phone Account Confirm Phone Account Click the button below to dial an outgoing call. This will populate the default dialer app with a dummy phone number. Initiate the phone call from the dialer app, then return to this screen while the call is still in progress. Dial Click the button below to confirm that the ongoing outgoing call was correctly made. Confirm Telecom Incoming Call Test This test verifies that the default dialer on the system is able to receive a call from a third-party connection service. Click the button below to register a test PhoneAccount and ConnectionService. You will be taken to the phone account selection screen. Please enable the "CTS Verifier Test" account. Once you have completed this step, return here and click the "Confirm Phone Account" button. Register and Enable Phone Account Confirm Phone Account Click the button below to initiate an incoming call. The phone should start ringing. Answer the call, confirm that you can hear an audio clip with Eisenhower\'s voice, then return to this screen while the call is still ongoing. Dial Click the button below to confirm that the ongoing incoming call was properly answered and that audio is audible. Confirm Incoming Self-Managed Connection Test This test verifies that an incoming call from a Self-Managed Connection Service will trigger a Telecom-managed incoming call UI when it is not possible to hold an ongoing call on the device. Click the button below to register a test self-managed ConnectionService. Register Self-Managed ConnectionService Start two phone calls on the device under test; this generates a scenario where calls cannot be held when the incoming self-managed call is received. Click "verify calls" to confirm that the calls were started. Verify Calls Click the button below to start a test incoming self-managed call. Answer the call in the UI when prompted. Start Self-Managed Call Set New Password Complexity Test This test verifies that when an app prompts users to set a new screen lock of a certain complexity level, users cannot set a screen lock weaker than the specified complexity.\n \nClick the complexity level buttons one by one and make sure you can only set a screen lock not weaker than the types and minimum length specified on the right of each button. High Medium Low None PIN without repeating (4444) or ordered (1234, 4321, 2468) sequences, length at least 8; Or \nAlphabetic, length at least 6; Or \nAlphanumeric, length at least 6 PIN without repeating (4444) or ordered (1234, 4321, 2468) sequences, length at least 4; Or \nAlphabetic, length at least 4; Or \nAlphanumeric, length at least 4 Any pattern, PIN or password No restrictions Bubble Notification Tests This test checks the behaviour of bubble notifications, ensuring that notifications appear or disappear appropriately based on how BubbleMetadata is configured on the notification and user actions. Bubbles are special notifications that appear as a floating button on the screen, in addition to the notification in the notification shade. Enable Bubbles for CTS Verifier Click the button below and enable bubbles for the verifier app on the resulting screen, if they aren\'t enabled already. Enable bubbles for CTS Verifier Step 1: send a bubble with notification Click the button below and verify that there is a bubble on the screen and a notification in the notification shade. Send bubble notification Step 2: hide notification Click the button below and verify that the bubble is still on the screen, but the notification is now hidden from the notification shade. Update bubble to hide notification Step 3: show notification Click the button below and verify that the bubble is still on the screen, and the notification is now visible in the notification shade. Update bubble to show notification Step 4: remove bubble Click the button below and verify that the bubble is removed from the screen, and the notification is still visible in the notification shade. Remove bubble Step 5: add bubble Click the button below and verify that the bubble appears on the screen, and the notification is still visible in the notification shade. Add bubble Step 6: open bubble Tap on the bubble to open it, then tap on the bubble again to collapse it and return to this screen. Verify that after opening the bubble, there is no longer a notification for it visible in the notification shade. Step 7: drag and dismiss bubble Click the button below and verify that the bubble is still on screen, and the notification is visible in the notification shade.\n\n Drag the bubble, while dragging a UI affordance should show. Verify that: \n\n 1. Dragging and dropping the bubble on that UI affordance removes it from the screen.\n\n 2. The notification should remain in the notification shade. Update bubble to show notification Step 8: dismiss notification Click the button below and verify that a bubble appears on screen, and the notification is visible in the notification shade.\n\n Dismiss the notification from the notification shade and verify that the bubble remains on screen. Send bubble notification Step 9: auto expand bubble Click the button below and verify that a bubble appears on screen, auto-expanded. Send auto-expanded bubble notification Test Complete %1$d out of %2$d tests passed Bubble Activity Instructions: READ BEFORE STARTING TEST Start Test Install Instant App For this test you need to install CtsVerifierInstantApp.apk by running \n adb install -r --instant /path/to/CtsVerifierInstantApp.apk \n\n CtsVerifierInstantApp.apk can be found in android-cts-verifier.zip that you have downloaded. Instant Apps Notification Test This test verifies that Instant Apps notification is shown when an Instant App is at foreground.\n\n - Read the message above the \"Start Test\" button for step-by-step instructions. \n 1. Click Start Test. \n\n 2. An alert dialog with install instruction will be shown if the sample Instant App has not been installed, otherwise, the sample Instant App will be opened automatically. \n\n 3. Drag down the notification bar when the sample Instant App is at foreground. \n\n 4. Check if Instant App is shown in notification area with the following (Please expand the notification if it is collapsed): \n \u0020\u0020\u0020a. It provides information about Instant Apps not requiring installation and an action that provides more information about the Instant App. \n \u0020\u0020\u0020b. It provides an action allowing the user to launch the associated link with web browser. \n\n 5. Click Pass button if all checks in step 4 passed, otherwise click Fail button. Instant Apps Recents Test This test verifies that Instant App can be accessed in Recent Apps screen.\n\n - Read the message above the \"Start Test\" button for step-by-step instructions. \n 1. Click Start Test. \n\n 2. An alert dialog with install instruction will be shown if the sample Instant App has not been installed, otherwise, the sample Instant App will be opened automatically. \n\n 3. Tap Recents button, verify the sample Instant App is shown in Recent Apps screen. \n\n 4. Tap the sample Instant App in Recent Apps screen, verify the Instant App is opened in the foreground. \n\n 5. Click Pass button if checks in step 3 and 4 passed, otherwise click Fail button. View/Delete Instant Apps Test This test verifies that Instant App can be viewed and deleted in Settings.\n\n - Read the message above the \"Start Test\" button for step-by-step instructions. \n 1. Click Start Test. \n\n 2. An alert dialog with install instruction will be shown if the sample Instant App has not been installed, otherwise, the sample Instant App will be opened automatically. \n\n 3. Open Settings App. \n\n 4. Tap Apps & Notifications. \n\n 5. Verify the sample Instant App can be found and it is shown as \"Instant App\". \n\n 6. Verify there is an action allowing user to clear/delete app. \n\n 7. Click Pass button if checks in step 5 and 6 passed, otherwise click Fail button.