CTS Verifier CTS Verifier %1$s Pass Info Fail Next Go Device Present Device Gone All tests completed successfully. Retry Finish Fail and Next Audio Camera Car Device Administration Hardware Networking Sensors Location Security Streaming Features Clock Job Scheduler Telecom Telephony Tunnel Mode TV Instant Apps DisplayCutout Other Clear Remove all test results? Yes Cancel Test results cleared. View Couldn\'t create test results report. Try running the following command if you haven\'t yet.\n\"adb shell appops set com.android.cts.verifier android:read_device_identifiers allow\" Please grant runtime permissions, otherwise, tests might fail. Export ctsv-report-logs Cannot save report to external storage, see log for details. Cannot save report to external storage, see log for details. Or try running the following command if you haven\'t yet.\n\"adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0\" 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 Battery Saver Test This test verifies that the device provides a user affordance to enable and disable Battery Saver feature. No battery detected. This test will only work on devices that contain a battery. Unplug the device or run \"adb shell dumpsys battery unplug\". The device is still plugged in. Look for a button that allows you to turn Battery Saver on and off. The button may be in the Quick Settings section or on the Battery page of device settings. Use the button to turn Battery Saver on. Now use the button to turn Battery Saver off. Turn Battery Saver off to begin the test. Battery Saver is on. Battery Saver is off. 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. Enable Garage Mode Monitor Garage Mode Test This test verifies that Garage Mode runs at the end of a drive.\n\n Important: Please enable Wi-Fi or other connectivity for test to pass.\n\n Touch "Enable Garage Mode Monitor" to launch the Garage Mode verifier.\n\n Turn the vehicle off and exit the vehicle (or take the proprietary action that initiates shut-down of the system).\n\n Do not enter or disturb the vehicle for at least 15 minutes.\n\n Enter the vehicle. Re-launch the CTS-Verifier app if it is not running.\n\n If Garage Mode ran as required, the pass button will be enabled. Go to Wi-Fi settings 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 Gear Selection Test This test ensures that the GEAR_SELECTION property is implemented correctly.\n\nShift the car\'s gear to the expected gear value. If it is able to shift to all the implemented gears then the pass button will be enabled. Expected Gear Selection Current Gear Selection NIGHT_MODE Test This test ensures that the NIGHT_MODE vehicle property is implemented correctly.\n\nFollow the instructions on the screen to engage and disengage NIGHT_MODE through the vehicle HAL. When the instructions are completed, the pass button will be enabled. Current NIGHT_MODE Value: PARKING_BRAKE_ON Test This test ensures that the PARKING_BRAKE_ON property is implemented correctly.\n\nFollow the instructions on the screen to engage and disengage the parking brake. When the instructions are completed, the pass button will be enabled. Current PARKING_BRAKE_ON Value: 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 Tests 1) Credential Tests 2) Strong Biometric Tests 3) Weak Biometric Tests 4) setUserAuthParams Tests 1a: Credential Crypto This test checks that PIN/Pattern/Password successfully unlocks the relevant KeyStore operations. Please ensure that you have a PIN/Pattern/Password set up. Create and unlock timed key (StrongBox) Create and unlock timed key Instructions For the following test, please remember or write down the numbers presented in the BiometricPrompt. After authenticating, please enter the contents in the test dialog. Continue Please enter your recorded contents Check Instructions Please authenticate with a non-enrolled biometric before authenticating with the actual enrolled biometric. Continue 2a: Strong Biometrics + Crypto This test checks that the Settings.ACTION_BIOMETRIC_ENROLL and its corresponding EXTRA_BIOMETRIC_AUTHENTICATOR_REQUIREMENTS APIs enroll only a STRONG biometric. Please ensure that the device does NOT have ANY biometrics enrolled before starting this test. After passing the first part of the test, it will check various use cases when authentication is invoked with the STRONG biometric. Start enrollment Authenticate Crypto (without StrongBox) Authenticate Crypto (with StrongBox) Authenticate Key Invalidated Instructions Before starting the next test, please add another enrollment to your strong biometric sensor. If only one enrollment is supported, please remove the current enrollment, then enroll. Continue 3a: Weak Biometrics This test checks that the Settings.ACTION_BIOMETRIC_ENROLL and its corresponding EXTRA_BIOMETRIC_AUTHENTICATOR_REQUIREMENTS APIs enroll a biometric that meets or exceeds WEAK. Please ensure that the device does NOT have ANY biometrics enrolled before starting this test. After passing the first part of the test, it will check various use cases when authentication is invoked. Start enrollment 4a: Cipher, Credential 4b: Cipher, Biometric 4c: Cipher, Biometric|Credential 4d: Signature, Credential 4e: Signature, Biometric 4f: Signature, Biometric|Credential 4g: MAC, Credential 4h: MAC, Biometric 4i: MAC, Biometric|Credential This test checks the correctness of the KeyGenParameterSpec.Builder#setUserAuthenticationParameters(int, int) API for AUTH_DEVICE_CREDENTIAL. Buttons for completed tasks will become invisible. It\'s normal for buttons to be disabled for a few seconds during this test. This test checks the correctness of the KeyGenParameterSpec.Builder#setUserAuthenticationParameters(int, int) API for AUTH_BIOMETRIC_STRONG. Buttons for completed tasks will become invisible. It\'s normal for buttons to be disabled for a few seconds during this test. This test checks the correctness of the KeyGenParameterSpec.Builder#setUserAuthenticationParameters(int, int) API for AUTH_BIOMETRIC_STRONG|AUTH_DEVICE_CREDENTIAL. Buttons for completed tasks will become invisible. It\'s normal for buttons to be disabled for a few seconds during this test. auth-per-use key with credential time-based key with credential auth-per-use key with biometric time-based key with biometric auth-per-use key with credential (strongbox) time-based key with credential (strongbox) auth-per-use key with biometric (strongbox) time-based key with biometric (strongbox) 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 Android Protected Confirmation Test This test ensures that - if Android Protected Confirmation is supported by the device under test - the user is able to see the confirmation message and confirm it. It also assures that Keymaster signs a message with a confirmation key only if the message was previously confirmed by the user. Not Supported Android Protected Confirmation is not implemented by this device. This is okay because this is an optional feature. Set this test to passed and continue. This is a CtsVerifier test message! Start Tee Test Start Strongbox Test Identity Credential Authentication This test ensures that data elements in Identity Credential documents protected by user authentication with timeout 0 can only be accessed once per reader session. Unlocked Device Required This test ensures that keys created with setUnlockedDeviceRequired are usable when the screen is unlocked but not when it is locked. 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 with 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 with 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 On Service Changed 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 service changed indication 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 connection priority switching 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 Client Switching Connection Priority 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. Companion Device Service Test This test checks that APIs to notify the companion app of its associated device going in and out of Bluetooth range are working correctly. Before proceeding, make sure you have a Bluetooth LE device nearby and discoverable. Also, make sure that bluetooth is turned on. Note that, the nearby device can not be a phone since it considers advertising as classic device scan. First, you press the go button, wait for a dialog to pop up and select your device from the list. Second, make sure your bluetooth device is unreachable(you can power off/reboot your Bluetooth device or put it into a Faraday bag) and press the Device Gone button. Lastly, make your bluetooth device reachable by waiting for the device to power on or removing it from the Faraday bag and press the Device Present button. Now, please make your Bluetooth device unreachable. Put your bluetooth device into a RF Bag or power off/reboot your device, then press the Device Gone button. Now, please make your Bluetooth device reachable. Remove your Bluetooth device from a RF Bag or power on your device, then press the Device Present button. 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 Ignore Battery Optimizations Test This test verifies that the device provides a user affordance to ask the user if the system should disable battery optimizations for an app. Remove the test app from the ignore battery optimizations list to begin the test. (Try going to the App Info page and make sure the system is optimizing battery for the app.) Click Next to have the test request the exemption. Grant the exemption when prompted. Press next to confirm. The app is not exempted from battery optimizations. Remove the test app from the ignore battery optimizations list. (Try going to the App Info page and make sure the system is optimizing battery for the app.) The app is exempted from battery optimizations. Click Next to have the test open the list of apps and their exemption statuses. Find the test app in the list and exempt it. Click Next to have the test open the list of apps and their exemption statuses. Find the test app in the list and remove the app\'s exemption. 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. 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. User did not toggle wifi on and off. 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 locate CTS Verifier app in the next screen, then enable it. Settings Cancel Please turn Wi-Fi on. Please turn Wi-Fi off. OK 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 test 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 test 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 test 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." Screen on only Off-host Service (Emulator) Screen on only Off-host Service (Reader) This test 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. 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. The expected behavior is the AID can be selected only when the device is in screen on state. Screen off HCE Payment (Emulator) Screen off HCE Payment (Reader) This test verifies emulator responds when device is in screen off state. Please put the emulator to screen off state. NFC Payment service PPSE MasterCard Visa Payment Service #1 Payment Service #2 TransportService #1 TransportService #2 AccessService OffhostService Felica Service Uicc Transaction Event Service Screen Off Payment Service Screen On Only OffHost Service Offhost UICC-based card emulation Offhost card emulation emulator tests Offhost card emulation reader tests Offhost transaction event-field off (Emulator) Offhost transaction event-field off (Reader) Offhost transaction event-deselect (Emulator) Offhost transaction event-deselect (Reader) Offhost transaction event-HCI CMD (Emulator) Offhost transaction event-HCI CMD (Reader) The offhost-based card emulation tests require two devices to be completed. The emulator tests are used to actually test the off-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 "Offhost reader tests" section. The "reader test" acts as a NFC terminal/POS and makes sure the device-under-test implements card emulation correctly The offhost-based card emulation tests require two devices to be completed. The emulator tests are used to actually test the off-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 "Offhost card emulation 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 Offhost card emulation applications run on type A. If your device supports 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... This is an optional test for Android version beofre S. This is okay to set this test to passed and continue. Switch application to background before starting tests. Successful transaction event will switch application to foreground with transaction event data. 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. Once the test begins, if possible, flip the device so it is face down on a surface, then flip back to face up after a second or two. Otherwise, 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. Hinge Angle Test Place the device into its default position. Read the instructions for each scenario before you perform the test. Transition the device from its default position as far in one direction as the hinge sensor measures. Then, transition it in the other direction as far as it can measure. Lastly, return the device back to its default position. Once completed, press \"Next\" to finish the 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 Unable to acquire location. Please move outside to allow a location fix. Failed to acquire location. Using default magnetic field of %1$.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 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 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. Video codec flushing in Tunnel Mode Volume level changes This test is for verifying that the Volume level changes are reflected when playback occurs with and without tunnel mode playback for PCM audio. Increase the volume until you can clearly recognize the audio, and then press OK button. OK Decrease the volume until you can no longer recognize the audio, and then press OK button. Yes No "Is the volume still the same as what you had set?" "The volume change was not maintained when switching from tunnel mode to non-tunnel mode." "The volume change was not maintained when switching from non-tunnel mode to tunnel mode." Camera Bokeh This test checks camera bokeh mode functionality. It enumerates supported bokeh modes, and makes sure each non-OFF bokeh mode works correctly. For optimal and consistent results, please make sure the camera device is pointing to a well-lit scene with a human face in the center at least 1 meter away, and the rest of the scene is further away in the background. None of the camera devices support bokeh modes. Please click the Test Passed button. Wi-Fi Test The Wi-Fi tests requires an open or PSK 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 with set up error. Test failed with unexpected error. Check logcat. SSID for network Passphrase for network (leave empty for open network) Start test Need a psk network for this test. Initiating scan. Unable to initiate scan or find matching 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." Connected to network unexpectedly. "Ensuring device does not connect to any network. You should see an empty dialog that pops up for approving the request." "Ensuring device does not connect to the network. Please click the network in the 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. Failed to get suggestions. Removing suggestions from the device. Failed to remove suggestions. Waiting for network connection. Ensuring no network connection. Connected to the network. Did not connect to the network. Waiting for post connection broadcast. Received post connection broadcast. Failed to receive post connection broadcast. Waiting for connection status. Received connection status. Failed to receive connection status. Ensuring device does disconnect from the network after removing suggestions. Marking the network metered. Network meteredness check failed. Network marked metered successfully. Network capabilities did not change. Did not disconnect from the network. Disconnected from the network. Failed to add user approval status listener Waiting for user approval. Please click \"Allow\" in the dialog that pops up for approving the app Failed to receive user approval status change Failed to get user approval 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 Request with a specific network with wrong credential. Tests that the API fails to connect when a network with wrong credential 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. Network suggestion connection failure. Tests whether the SuggestionConnectionStatusListener API can be used to listen to connection failures for suggested networks. Network suggestion modification in place. Tests whether the suggested network params can be modified in place when connected to it. 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: PMK: Unsolicited/Passive Data Path: Open: Solicited/Active Data Path: Passphrase: Solicited/Active Data Path: PMK: Solicited/Active Data Path: Open: Unsolicited/Passive: accept any peer Data Path: Passphrase: Unsolicited/Passive: accept any peer Data Path: PMK: Unsolicited/Passive: accept any peer Data Path: Open: Solicited/Active: accept any peer Data Path: Passphrase: Solicited/Active: accept any peer Data Path: PMK: Solicited/Active: accept any peer 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: PMK: Unsolicited Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: PMK: Unsolicited/Passive\' / \'Subscribe\' test. Data Path: PMK: 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: PMK: Solicited Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: PMK: Solicited/Active\' / \'Subscribe\' test. Data Path: PMK: 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 touch sound 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 touch sound 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. This test checks that notifications are not sent with content that is too long. If this test causes the test app to ANR, the test has failed. SecureActionOnLockScreenTest Action Sent - SecureActionOnLockScreenTest Action Please change the lock screen setting to hide sensitive content on the lockscreen Please change the lock screen setting to show all content on the lockscreen Add a secure screen lock of any type Remove the added screen lock Lock the screen and find the SecureActionOnLockScreenTest notification. Tap on its action. Verify that the keyguard displays on tap, and that the notification text does not update until the passcode is entered. Ensure that the notification text does update once the device is unlocked. Check that Message extras Bundle was preserved. If this device supports conversation notifications, and groups them into a separate section from alerting and silent non-conversation notifications, fully expand the notification display and verify that the \"Person A\" notification appears before the "\Non-Person Notification\". If this device does not support conversation notifications or does not group them together, press Pass. 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 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. Click this button to launch the settings page for this app\'s notification listener in settings. Note what types were checked and which were disabled before you make any changes. View the list of apps and note any that are not allowed. Change the filter types to allow everything except ongoing and silent notifications, and then return to this screen Were only alerting and silent notifications allowed? Was the Settings app not allowed? Was the ongoing option disabled? Are all only conversations and alerting notification types allowed now? Checking that an alerting notification is received and a silent one is not Go to settings and allow all notification types, and then return here. Check that notification was not enqueued. Condition Provider test Condition Provider for CTS Verifier This test checks that ConditionProviderService can be enabled and disabled, and that once enabled the service is able to create, query, edit, and delete automatic zen rules. 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 via api Retrieving Automatic Zen Rules Retrieving Automatic Zen Rule Click this button to launch the Automatic Zen Rule listing page in settings, and then return to this screen Was the automatic rule screen shown? Please disable rule "123" and return here. Please enable rule "123" and return here. Please delete rule "123" and return here. CTS rule Pass Fail CA Cert Notification Test This test checks that when a CA Certificate is installed, the user is notified. Do it Done Tap to install a CA certificate Press the button to open Security settings. Navigate to \"Install a certificate\" (normally under \"Encryptions & credentials\") and select \"CA certificate\". Pick \"MyCA.cer\" from device storage and proceed with the installation. 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 saying a certificate authority is installed. 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. CA Cert install via intent This test attempts to install a CA certificate via an intent. Attempt installing a CA certificate via an intent, which should not be possible. Tapping Go should show a dialog telling the user that CA certificates can put their privacy at risk and must be installed via Settings. If a any other dialog comes up, the test failed. Credential Management App Test This test requests to manage the user\'s KeyChain credentials and become the credential management app. Request to manage credentials Check is credential management app Check correct authentication policy is set Generate key pair Create and install certificate Request certificate for authentication Sign data with the private key Verify signature with the public key Remove credential management app 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 If prompted, accept the camera permission after pressing go.\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 If prompted, accept the camera permission after pressing go.\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. Once connected, verify that the system shows disclosure (on some devices this is shown in the notification area) that network traffic is being routed through the VPN app.\n 5. Finish all three test cases listed below.\n 6. 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 icon is a briefcase.\n 4. Verify that the header text says \"CtsVerifier\".\n 5. Confirm your credentials and verify that the credentials you entered previously work.\n 6. 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.\n 1. Verify that you get sent to the page for Choosing a new work lock.\n 2. Set a pattern lock.\n Some devices have the pattern lock option disabled and it will not show up in the list.\n If that\'s the case then mark the test as passed.\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 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. Cross profile permission control This test exercises cross profile permission controls. Follow instructions above. For this test you need to install CrossProfileTestApp.apk by running adb install -r -t /path/to/CrossProfileTestApp.apk. Make sure the app is installed on both the personal and work profiles.\n Press the \"Prepare test\" button to enable configuring cross profile for the test app.\n Then press through the following verification steps.\n Mark the test as passed if all the following test cases are verified. Prepare test Cross profile permission disabled by default Press the Go button to go to Settings > Apps & notifications > Special app access >\n Connected work and personal apps.\n Choose the \"Cross profile test app\" from the list and check that the switch is disabled.\n Go back to CTS Verifier and mark the test as \"Pass\" or \"Fail\". Cross profile permission enabled Press the Go button to open the \"Cross Profile Test App\".\n Press the \"Open Settings\" button to go to Settings > Apps & notifications > Special app access > Connected work and personal apps > Cross profile test app, then enable the switch.\n Verify that when you go back it takes you to the \"Cross Profile Test App\".\n Now verify that it shows \"INTERACTING ACROSS PROFILES ALLOWED\" message.\n Go back to CTS Verifier and mark the test as \"Pass\" or \"Fail\". Cross profile permission disabled Press the Go button to open the \"Cross Profile Test App\".\n Press the \"Open Settings\" button to go to Settings > Apps & notifications > Special app access > Connected work and personal apps > Cross profile test app, then disable the switch.\n Verify that when you go back it takes you to the \"Cross Profile Test App\".\n Now verify that it shows \"INTERACTING ACROSS PROFILES NOT ALLOWED\" message.\n Go back to CTS Verifier and mark the test as \"Pass\" or \"Fail\". 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(or Personal and Work tabs) exist.\n - \"Remove work profile\" or \"Uninstall\" exists under the Work category(or Work tab).\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 (on the screen or in the overflow menu or in differernt tab).\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 Personal and Work exists in the dropdown list(or UI has Personal and Work tab). When selecting Work 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(or in Work tab) 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. Failed to obtain location from any provider Cannot obtain location: no providers available. Trying to obtain location using providers: %1$s Location has been obtained. PASS: %1$s FAIL: %1$s Location listener Location checker 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 the \"Network & Internet\" page and then click on \"Wi-Fi\" and then \"Wi-Fi data usage\".\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 the \"Network & Internet\" page and then click on \"Mobile network\" and then \"App data usage\".\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 Permission missing This test verifies that the location can be enabled for the managed profile apps.\n 1. Press the \"Prepare Test\" button to go to the location settings page, set both the main location switch and the work profile location switch enabled.\n 2. Return using back button and press Go button to check if location is available. If prompted, accept the location permission.\n 3. Check the result message below and mark the test accordingly.\n \n If the test fails to obtain location, try to enable as many location services as possible and move outside to make GPS work. Disable location Timeout waiting for gps location change This test verifies that the location can be disabled for the managed profile apps through the main location switch.\n 1. Press the \"Prepare Test\" button to go to the location settings page, set the main location switch disabled.\n 2. Return using back button and press Go button to check if location is available. If prompted, accept the location permission.\n 3. Check the result message below and mark the test accordingly.\n Disable location for work profile This test verifies that the location can be disabled for the managed profile apps through work profile location switch.\n 1. Press the \"Prepare Test\" button to go to the location settings page, set the work location switch disabled while the main location switch is still enabled.\n 2. Return using back button and press Go button to check if location is available. If prompted, accept the location permission.\n 3. Check the result message below and mark the test accordingly.\n Primary receives updates while work location is disabled This test verifies that location is still available by primary profile when location updates are disabled for managed profile apps through work profile location switch.\n 1. Press the \"Prepare Test\" button to go to the location settings page, set the work location switch disabled while the main location switch is still enabled.\n 2. Return using back button and press Go button to check if location is available. If prompted, accept the location permission.\n 3. Check the result message below and mark the test accordingly.\n \n If the test fails to obtain location, try to enable as many location services as possible and move outside to make GPS work. 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. Skip any of these settings that do not exist.\n 3. Read the values displayed under \"Work phone ringtone\", \"Default work notification sound\", and \"Default work alarm sound\". If any of the settings in #2 did not exist, skip the\n corresponding work profile setting."\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. Open settings to turn work profile back on, either manually or using the "Open Settings to toggle work" on the previous page.\n 2. Add a work app to your home screen.\n 3. Turn work profile off from Settings.\n 4. Press home to go to the launcher.\n 5. Verify that the work app is greyed out.\n 6. Tap on the work app.\n 7. 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 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. Press the Set button to set organization Info.\n 3. 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 4. 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 grant some permissions to CtsVerifier by running\n adb shell pm grant --user current com.android.cts.verifier android.permission.INTERACT_ACROSS_USERS\n adb shell pm grant --user 0 com.android.cts.verifier android.permission.INTERACT_ACROSS_USERS\n adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier\n\n 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 --user 0 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 Check profile owner Check user affiliation Missing or incorrect device owner: CTSVerifier is not DO for user %1$d! Missing or incorrect profile owner: CTSVerifier is not PO for user %1$d! User %1$d! is not affiliated 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 must NOT EXIST yet (you can use Settings > WiFi to verify - if it exists, then select the option to forget it). If the Wifi requires a password, wait for the \'Could not connect to the wifi network\' notification, tap the notification, set the password and connect to the network. 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 and notifications are no longer available.\n Next, press the button to reenable the status bar and verify that quick settings and notifications 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) If the device under test (DUT) has a status bar: nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) If the device under test (DUT) has a status bar: 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) If the device under test (DUT) supports Overview: 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 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) If the device under test (DUT) has a status bar: notification icons are still hidden on the status bar.\n 2) If the device under test (DUT) has a status bar: 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) If the device under test (DUT) supports Overview: 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.\n 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) If the device under test (DUT) has a status bar: system info area is still hidden on the status bar.\n 2) If the device under test (DUT) supports Overview: 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.\n 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) If the device under test (DUT) has a status bar: nothing is shown in the status bar, including notification icons, connectivity icons, battery status, clock, etc.\n 2) If the device under test (DUT) has a status bar: the status bar can\'t be expanded. That is, the \'swipe-down\' gesture doesn\'t work for the status bar.\n 3) If the device under test (DUT) supports Overview: 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.\n Enable Overview button If the device under test (DUT) does not support Overview: mark this test as \'pass\'.\n Otherwise:\n 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.\n Enable global actions If the device under test (DUT) does not support global actions: mark this test as \'pass\'.\n Otherwise:\n 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.\n 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 Clear restriction (before leaving test) 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 Test input method Test 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 either launch a help web page with more information or redirect to Device administrators page in Settings app which displays the long support message set earlier.\n 6. If in step 5. the help web page was launched, navigate to the Device administrators page from Settings -> Security, open the work profile \'CTS Verifier\' enabled admin and verify that the page 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\n NOTE: If the device does not support volume adjustment in Settings app please skip this test and mark it as passing.\n 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\n NOTE: If the device does not support network reset please skip this test and mark it as passing.\n 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 managed user to open settings.\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 Remove 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 permitted accessibility services Check that \'Test Accessibility service\' is not enabled in Settings and disallow \'Test Accessibility service\' from permitted accessibility services by turning on the switch below. Enabling \'Test Accessibility service\' in the list of accessibility services Allow only system accessibility services: Set permitted input methods Check that \'Test 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 \'Test Input method\' from permitted input methods by turning on the switch below. Enabling \'Test Input method\' in the list of input methods (make sure you are enabling it for the managed profile, not primary profile) 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) Grant MANAGE_EXTERNAL_STORAGE by issuing the following command on the host:\n adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0\n 3) Upload the NotificationBot.apk to your device by issuing the following command on the host:\n adb push /path/to/NotificationBot.apk /sdcard\n 4) Press the Uninstall button.\n 5) Press the Open Settings button.\n 6) In the screen that opens, verify that you are not told that your administrator installed any apps.\n 7) Use the Back button to return to this page.\n 8) Press the Install button.\n 9) Press the Open Settings button.\n 10) In the screen that opens, verify that you are told now that your administrator installed at least one app.\n 11) Tap on that information. Verify that a list of apps installed shows.\n 12) Verify that the list contains the CTS Robot app.\n 13) Use the Back button to return to this page.\n 14) Press the Uninstall button.\n 15) 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 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 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 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. Disable USB data signaling This test verifies that USB data signaling can be disabled by the device owner.\n 1. Press the \"Go\" button to go to Settings. Go to Connected devices > USB and select use USB for \"File transfer/Android Auto\". Verify that you can mount the device as a USB drive on your desktop computer and access files from your phone through USB.\n 2. Press the \"Disable USB data signaling\" button to disable USB data signaling on the device. When disabled, all USB data connections (except from charging functions) are prohibited.\n 3. Press the \"Go\" button to go to Settings and confirm that the "USB" preferences in \"System > Developer Options\" cannot be selected and "USB" preference in \"Connected devices\" has disappeared.:\n - Connected devices > USB\n - System > Developer Options > USB debugging\n - System > Developer Options > Default USB configuration\n - System > Developer Options > Disable USB audio routing\n 4. Verify that you cannot mount the device as a USB drive on your desktop computer and cannot access files from your phone through USB.\n 5. Press the \"Enable USB data signaling\" button to re-enable USB data signaling and replug USB cable in the device. After that the "USB" preferences in \"System > Developer Options\" can be selected and "USB" preference in \"Connected devices\" has appeared.\n Please mark the test accordingly. Enable USB data signaling Set required password complexity This test verifies that required password complexity can be set by the device owner.\n 1. Press the \"Set low required password complexity\" button.\n 2. Press the \"Go\" button to go to Settings > Security > Screen lock. Verify that you have to set a pattern, PIN or password.\n 3. Press the \"Set medium required password complexity\" button.\n 4. Press the \"Go\" button to go to Settings > Security > Screen lock. Verify that you have to set a PIN without repeating (4444) or ordered (1234, 4321, 2468) sequences with a length of at least 4; or you have to set an alphabetic or alphanumeric password with a length of at least 4.\n 5. Press the \"Set high required password complexity\" button.\n 6. Press the \"Go\" button to go to Settings > Security > Screen lock. Verify that you have to set a PIN without repeating (4444) or ordered (1234, 4321, 2468) sequences with a length of at least 8; or you have to set an alphabetic or alphanumeric password with a length of at least 6.\n 7. Press the \"Remove required password complexity\" button.\n 8. Press the \"Go\" button to go to Settings > Security > Screen lock. Verify that you don\'t have to set a pattern, PIN or password.\n Please mark the test accordingly. Set low required password complexity Set medium required password complexity Set high required password complexity Remove required password complexity 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 None 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. Start Test Done Audio Capabilities Test This test checks if AudioDeviceInfo and AudioTrack#isDirectPlaybackSupported APIs correctly report the Audio capabilities of the connected audio devices. Disconnect all receivers or soundbars which are connected. Connect a receiver or soundbar which can play Dolby Atmos. Does your Android TV device support Dolby Atmos (either passthrough or decode)? Hotplug Test This test checks whether DisplayManager responds correctly to plugging and unplugging the HDMI cable. Press the "%1$s" button, disconnect the HDMI cable, wait 2 seconds and then connect the HDMI cable again. Mode switching test Click "Start Test" and then observe the video below. Testing transition from %1$s to %2$s. Did the video playback experience an interruption, for example, a black or solid color screen? Does the video look okay? Click "No" if the video is not playing, there was a snow screen, audio static, wrong colors, the video is displaced compared to before running the test or if the video is not playing. Keep in mind that some stutter is expected when the video does not match the refresh rate. Mode switch step Overlay View Dummy Text Example of input app specific custom rating. com.android.cts.verifier.telecom.CtsVerifierInCallUi 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. 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 USB Audio Peripheral Notifications 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. This test verifies that the correct notifications and Intents are sent when a USB audio peripheral is connected to the Android device. First USB headset peripheral should be connected and the test will acknowledge the USB headset device notifications and plug intent. Next a non-headset / headphones USB peripheral should be connected and the test will acknowlege the USB device notifications. If all notifications and Intents are received the test passes. USB Audio Restrict Record Access Test This test checks that the appropriate warning message is displayed when an app which has not been granted RECORD permission could potentially record audio through the raw USB API. To test, connect a USB peripheral with CAPTURE capability and press the "Test" button. The access permission API should contain a warning message about potential dangerous access. If so, the test passes. The test can only be run with Microphone permission DENIED.\n\n To run this test:\n   Exit CTS-Verifier\n   Go to Android Settings\n   Select Apps & notifications\n   Select CTS Verifier\n   Select Permissions\n   Deny Microphone permission\n   Run this test\n When complete:\n   Exit CTS-Verifier\n   Return to Permissions Settings for CTS Verifier\n   grant Microphone permission Permissions for CTS Verifier are correctly set to run this test.\n\n Connect a USB peripheral with CAPTURE capability. Press the "Test" button and verify that a warning is shown in the device access UI. 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 Pro Audio Has Low-Latency Audio Audio Input: Audio Output: Has MIDI Support MIDI Input: MIDI Output: USB Host Mode: USB Peripheral Mode: HDMI Support: Has HDMI Support The latency measurement for Pro Audio has been moved to the Audio Loopback Latency Test N/A pending... Pro Audio Test This device does not set the FEATURE_AUDIO_PRO flag and therefore does not need to run this test. Pass Latency is too high "Insufficient Confidence value" "No MIDI support reported" "No USB Host Mode support reported" "No USB Peripheral Mode support reported" HDMI support is reported by not valid. MIDI Test Java MIDI Test Native MIDI 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 MD-BT01 to the correct MIDI plugs on the USB peripheral, the BT01 output jack to the USB interface input jack and BT01 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 support wired USB or Analog audio peripherals? 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 Audio Level is not maximum. Please check your device is set to max level for audio playback. No Yes Info Ok Start Stop Java API Native API Clear Results Audio Loopback Latency Test This test verifies that the device can achieve the required or recommended loopback latency. To pass the test, the device need only achieve this on one of the following audio paths:\n - a Loopback Plug connected to a 3.5mm headset jack.\n - a Loopback Plug connected to a USB audio adapter.\n - a USB interface with patch cords connecting the input and output jacks.\n Please connect one of these Loopback mechanisms, and proceed with the instructions on the screen. The required & recommended latencies will be displayed. The system will measure the input-output audio latency by injecting an audio signal to the output and compute the time between generating the signal and recording it back. 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... FAILURE - Could not allocate analyzer thread. Audio Cold Start Output Latency Test Audio Cold Start Input Latency Test This test measures the time required to output audio from a suspended \"cold\" audio system. It requires that touch-sounds be disabled in the device \"Sound & Vibration\" settings panel. Info Here Output Cold Start Latency Input Cold Start Latency Touch sounds are ENABLED. Please DISABLE touch sounds in the \"Sound & Vibration\" settings panel. Touch sound are DISABLED. 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... Audio Frequency Voice Recognition 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 VOICE_RECOGNITION audio source. TEST TONE: Press [PLAY] to play tone at 1 Khz. Measure sound to be 90 dB SPL right next to microphone under test. Press [TEST] TEST NOISE: Position speakers 40 cms from device under test. Press [PLAY] to play broadband white noise. Press [TEST] 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 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] Analog Headset Audio Test Does this Android device have an analog headset jack? Play Stop Was the audio correctly played through the headset/headphones? Headset Keycodes HEADSETHOOK VOLUME_UP VOLUME_DOWN Analog Headset Test This test tests the following functionality with respect to wired analog headset/headphones.\n 1. Correct audio playback.\n 2. Plug intents.\n 3. Headset keycodes.\n To run this test it is necessary to have an Android device with a 3.5mm analog headset jack and a compatible analog headset with Hook, Volume Up and Volume Down buttons. Audio Acoustic Echo Cancellation (AEC) Test The recording source VOICE_COMMUNICATION will be tested with/without the Acoustic Echo Canceller effect engaged. The Acoustic Coupling Factor (ACF) will be computed for each case. A successful test expects ACF less than 0.4 for AEC ON, and ACF greater than 0.6 for AEC OFF. This test requires a quiet environment, and no headphones or similar connected. This test must pass in devices where AEC functionality is mandatory or any device which implements AEC. Press [TEST] to play a voice recording twice with different parameters. Is AEC mandatory in this device? Play Stop Test Results... Global Results... No Yes Audio Tap To Tone Test This tests the latency from a screen interaction to a resulting tone. This time is a combination of touch screen latency and audio latency.\nThis test is best conducted in a quiet room with the device laying on a table. Select the Audio API to test (\"Native\" has the lowest latency) and press the \"Start\" button. Use your fingernail to tap ONCE on the field below to trigger the test tone. DO NOT leave the finger resting on the test field. A strong "tick" sound from the fingernail striking the display is necessary to register the start of the test process. After tapping ONCE, wait until the results are displayed in the field above the waveform display before tapping for the next test run.\nFive successful tests runs are required to determine if the test as a whole succeeds. 80ms or less average latency is STRONGLY RECOMMENDED to pass. Not enough edges. Use fingernail. Too many edges. Use fingernail. Ensure there is no background noise. 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 and end the call in the pop up in-call UI. 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. Also a pop up CtsVerifier in call UI will show. 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 will check for validity of the \"Pro Audio\" and subsidiary flags. Note that this test no longer requires a loopback audio device. 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 Default Dialer Test This test verifies that a third party dialer can show an incoming call screen when the device is locked. Click the button below to set CtsVerifier as the default dialer. Set third party dialer Click the button to make sure that this phone is secured with a lock screen. Confirm lock screen Click the button below to lock the phone and then call this device. Answer the incoming call in the UI when prompted without unlock the phone. Lock phone and dail Click the button below to confirm that the ongoing incoming call was answered when the device is locked. End call and confirm Confirm CtsVerifierInCallUi 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 Secure lock screen has not been set up. Go to Settings -> Security to set up a lock screen. Secure lock screen has not been set up. Go to Settings -> Security to set up a lock screen and biometric unlock. Biometric unlock has not been set up. Go to Settings -> Security to set up biometric unlock. Lock the screen, wait 5 seconds, then unlock with biometrics. Verifying the key is accessible after the unlock... Lock the screen, wait 5 seconds, then unlock with credentials. Test completed successfully. Test failed; the key was available when the device was locked. Test failed; the key was not available when the device was unlocked. The test is in an unexpected state; please dismiss this dialog and restart the test. Bubble Notification Tests Bubble Tests This set of tests checks the settings, UI, and behaviour of bubble notifications. Bubbles are special notifications that can appear as a floating button on the screen along with a notification in the notification shade. When the floating button is tapped an activity is opened in a contained view and the notification is hidden from the shade. Check Default Settings This step verifies the default bubble settings on the device. \n\n Bubbles are enabled at a feature level and at a per-app level.\n\n By default, bubbles are enabled at a feature level, but off for apps until the user opts in. \n\nIf the default settings are correct, the test will indicate that the state is correct. Bubble Button 1. Click the button below to send a bubble notification.\n\n 2. Pull down the notification shade and press the bubble button on the bottom right of the notification.\n\n 3. Pass this test if tapping the bubble button opens the bubble. Send notification Check Settings After Bubble Button When a notification is turned into a bubble via the bubble button, the app setting for bubbles will change to allow selected notifications to bubble. If the settings are right, the test will indicate that the state is correct. Disable Bubbles Feature Click the button to open notification settings, find Bubbles and turn the feature off. When the setting is off, the test will indicate that the state is correct. Open settings Enable Bubbles for CTS Verifier 1. Click the button below and enable bubbles for the verifier app on the resulting screen, select "All conversations can bubble".\n\n 2. You will be prompted to turn on bubbles for the device, turn them on.\n\n Once this is done, the test will indicate that the state is correct. Open bubble settings Send bubble 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 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 Show notification Click the button below and verify that the bubble is still on the screen, the notification is now visible in the notification shade, and the bubble has a dot indicating the new message. Update bubble to show notification 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 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 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. 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 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 Auto expand bubble Click the button below and verify that a bubble appears on screen, auto-expanded. Send auto-expanded bubble notification Bubble overflow (empty) Tap the bubble to expand it and verify there is an affordance to see previous bubbles. It should be empty right now and show an empty state message. Bubble overflow (with bubbles) 1. Press the button below to create several bubbles.\n\n 2. Expand the stack and drag down two of the bubbles to dismiss them.\n\n 3. Tap on the bubble overflow, pass this test if the two bubbles you dismissed are in the overflow. Send several bubbles Add bubble from overflow 1. Expand the stack and open the bubble overflow.\n\n 2. Tap on a bubble in the overflow, pass this test if that bubble is opened and removed from the overflow. Cancel removes overflowed bubbles 1. Press the button below, it will cancel all previous bubble notifications and post one more.\n\n 2. Expand that bubble, navigate to the overflow and ensure that it is empty. Cancel previous bubbles and post a single bubble Tap on notification opens bubble 1. Press the button to create a bubble.\n\n 2. Dismiss the bubble without opening it.\n\n 3. Tap on the notification. Pass this test if the notification opened as a bubble. Send bubble Portrait and landscape positioning 1. While in portrait orientation, tap on the bubble to open it.\n\n 2. Verify that the bubbles show at the top of the screen.\n\n 3. Rotate the device to landscape orientation.\n\n 3. Verify that the bubbles are aligned to the left or right edge of the screen. 1. Tap the bubble to open it.\n\n 2. Verify that the bubbles are aligned to the left or right edge of the screen.\n\n 3. Rotate the device.\n\n 4. Verify that the bubbles are aligned to the left or right edge of the screen. Expanded state has scrim Expand the bubble and pass this test if the area below the bubble is dimmed (like when a dialog is opened). IME behavior 1. Tap on the bubble to open it.\n\n 2. Tap the edit text in the bubble to bring up the IME.\n\n 3. Pass this test if the IME appears and the edit text is still visible. Expanded view min height 1. Press the button below to update the bubble to have the smallest height.\n\n 2. Open the bubble, it will tell you if the height is correct. Send small height bubble Expanded view max height 1. Press the button below to update the bubble to have the maximum height.\n\n 2. Open the bubble, it will tell you if the height is correct. Send max height bubble No bubbles on low memory device Click the button below and verify that a bubble does NOT appear on screen. Verify that there is a notification in the notification shade. Add bubble Test Complete %1$d out of %2$d tests passed Bubble Activity State is correct, pass the test. State is not correct, waiting for the correct state. Tap for IME Bubble expanded view Toast test (may auto pass if CtsVerifier isn\'t targeting S+) This test checks the behavior for toasts for apps targeting sdk S+ (31). Toasts are short messages that appear as popups for a limited amount of time. No cts requirement for toasts for apps targeting pre-s. Auto pass this test. Press the button below to post a toast. Pass this test if a toast appears and has:\n \n\t1. a maximum of two lines \n\t2. an application icon Post toast Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam luctus eros ac interdum tincidunt. Vestibulum dignissim, metus nec tempor mollis, tortor leo aliquam est, eget rutrum mi nisi ut ligula. Quisque enim justo, tempus at ligula ac, porta posuere odio. Proin et tortor tincidunt, tempus ligula id, vestibulum mauris. Vivamus blandit tristique tempus. Integer dignissim purus eu nibh faucibus, eget dignissim eros gravida. Sed sit amet erat quis leo pharetra euismod vel at purus. Duis blandit, diam eu imperdiet pulvinar, erat odio eleifend augue, nec luctus lectus erat ac nibh. Nullam id enim metus. 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 notifciation 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. \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 information about Instant Apps not requiring installation and an action that provides more information about the Instant App (Please expand the notification if it is collapsed) \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. No Yes Info Does this device allow for the connection of a USB audio peripheral?\nNote: phones and tablets generally do, watches and automobiles generally do not. Does this device allow for the connection of a USB reference microphone? USB Host Mode Audio Required This test requires a USB audio peripheral to be connected to the device. If the device under test does not support USB Host Mode Audio (either because it does not have a USB port, or USB Host Mode Audio has been removed from the OS) you can be granted a provisional pass on this test by pressing the \"No\" button and indicating \"Test Pass\" at the bottom.\n Note: Handheld devices supporting USB host mode MUST support USB audio class (CDD 7.7 .2/H-1-1)\n Note: Devices declaring feature android.hardware.audio.pro MUST implement USB host mode (CDD 5.10 C-1-3) and if they omit a 4 conductor 3.5mm audio jack MUST support USB audio class (CDD 5.10 C-3-1) No Yes Info Does this device allow for the connection of a USB reference microphone? Reference Mic Required This test requires a USB Reference Mic to be connected to the device. If the device under test does not support USB Host Mode Audio (either because it does not have a USB port, or USB Host Mode Audio has been removed from the OS) you can be granted a provisional pass on this test by pressing the \"No\" button and indicating \"Test Pass\" at the bottom.\n Note: Handheld devices supporting USB host mode MUST support USB audio class (CDD 7.7 .2/H-1-1)\n Note: Devices declaring feature android.hardware.audio.pro MUST implement USB host mode (CDD 5.10 C-1-3) and if they omit a 4 conductor 3.5mm audio jack MUST support USB audio class (CDD 5.10 C-3-1) Does this device allow for the connection of a loopback audio peripheral? Loopback Peripheral Required DisplayCutout Test \n This test is to make sure that the area inside the safe insets from the DisplayCutout should be:\n 1. Visible\n 2. Clickable.\n TTS Test 1. Install the CtsTtsEngineSelectorTestHelper and CtsTtsEngineSelectorTestHelper2 apps on the device.\n 2. Click on the "Go To Accessibility Settings" button.\n 3. Go to Text-to-speech output > Preferred engine.\n 4. Ensure that two engines are listed, both named "TTS CTS Test Helper App".\n 5. Ensure that each engine can be selected. 1. Install the CtsTtsEngineSelectorTestHelper and CtsTtsEngineSelectorTestHelper2 apps on the device.\n 2. Click on the "Go To Accessibility Settings" button.\n 3. Go to Text-to-speech output > Preferred engine.\n 4. Ensure that two engines are listed, both named "TTS CTS Test Helper App".\n 5. Ensure that each engine can be selected. Go To Accessibility Settings SecurityModeFeatureVerifier Test This test verifies that the PackageManager.FEATURE_SECURITY_MODEL_COMPATIBLE feature is present. Is this a handheld or tablet device? Yes Not applicable