CTS Verifier noabi CtsVerifier CTS Verifier %1$s Pass Info Fail Next Go Device Present Device Gone All tests completed successfully. Retry Finish Fail and Next Yes No CTS-Verifier Report Log Can\'t create folder for CTS-Verifier Report Logs. \n\nPlease enable Report Log creation by exiting CTS Verifier and running the following commands: \n\nadb shell appops set com.android.cts.verifier android:read_device_identifiers allow \n\nadb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0 \n\nTest instructions are found in the \"Using CTS Verifier\" document found at https://source.android.com/compatibility/cts/verifier Audio Camera Car Device Administration Hardware Networking Sensors Location Security Streaming Features Clock Job Scheduler Telecom Telephony Tunnel Mode TV Instant Apps Read Logs DisplayCutout Other Device controls 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. Verify Component Power On Policy Verify Component Power Off Policy Car Power Policy Test This test verifies that Wi-Fi, Bluetooth and Location settings UI behaviors with respect to their power policy. If the policy sets components power off, the component settings UI shall be disabled. Otherwise, the settings UI shall be enabled as default.\n\n First execute the\n " adb shell cmd car_service apply-cts-verifier-power-off-policy"\n adb shell command first and then sequentialy click first 4 buttons to check each component settings UI are disabled.\n\n Then, execute the\n " adb shell cmd car_service apply-cts-verifier-power-on-policy"\n shell command and sequential click the remaining 4 buttons to check if each component settings UI is enabled.\n\n For the detailed instructions, please refer to\n " https://source.android.com/compatibility/cts/power-policy". Go to Wi-Fi settings Check Wi-Fi Settings Disabled Check Bluetooth Settings Disabled Check Location Settings Disabled Check Wi-Fi Settings Enabled Check Bluetooth Settings Enabled Check Location Settings Enabled 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 Car Launcher Test This test ensures that the car launcher lists apps disabled by car service due to system resource overuse.\n\n Before proceeding, check if \'com.android.cts.car.watchdog_companionapp\' (aka CtsCarWatchdogCompanionApp) is installed by going to Settings > Apps. If not, please install the app before proceeding.\n\n 1. Check if the CtsCarWatchdogCompanionApp is visible in car launcher\'s app grid view. If it is not listed, pass the test.\n 2. Run the \'adb shell cmd car_service watchdog-resource-overuse-kill com.android.cts.car.watchdog_companionapp\' shell command to disable the app because of system resource overuse.\n 3. Click on \"Open Launcher\". Make sure the CtsCarWatchdogCompanionApp is displayed. If it is not listed, fail the test.\n 4. Open CtsCarWatchdogCompanionApp from the launcher.\n\n Pass the test only if the companion app opened successfully. Open Launcher 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 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. 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. Wait for the overlaying activity to finish.\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. 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. Wait for the overlaying activity to finish.\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. Clipboard Preview Test This test verifies that clipboard contents are visible to the user when copied. Press the \'Copy\' button to copy the secret code to the clipboard. \n\nDo not press any other buttons or tap the clipboard UI after you press the \'Copy\' button. \n\n If you see the word "FAIL" appear on screen, press Fail. \n\n If you see a confirmation that content has been copied to the clipboard, press Pass. \n\n If nothing happens, press Fail if this is a handheld device, otherwise press Pass. FAIL Copy 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 4j: Aead Cipher, Credential 4k: Aead Cipher, Biometric 4l: Aead Cipher, Biometric or 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) User Consent for Device Logs Test User Consent for Device Logs Allow in Foreground Test User Consent for Device Logs Deny in Foreground Test User Consent for Device Logs in Instrumentation Test This test verifies that user consent for per-use prompt is working properly.\nThe test assumes READ_LOGS permission is granted to the app.\nStart this test by clicking \"User Consent for Device Logs Allow in Foreground Test\" button.\nWhen the process is running in foreground, a user will see a prompt. Once a user clicks the prompt, users have an option to choose \"Allow one-time access\" or \"Don\'t Allow\". Choose \"Allow one-time access\" for the \"ALLOW\" test case and \"Don\'t Allow\" for the \"DENY\" test case.\nThe test results can be judged by the adb logcat prints from command \"adb logcat -b all -s ReadLogsTestActivity:*\"\n\"ReadLogsTestActivity: Logcat system allow log contains e.g.: true lineCount: 11 larger than: true\" shows the success of the \"ALLOW\" test case and\n\"ReadLogsTestActivity: Logcat system deny line count:0\" shows the success of the \"DENY\" test case. 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 Start Tee Negative Test Start Strongbox Negative 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. Identity Credential Authentication Multi-Document This test is for Identity Credential presentations with multiple documents. Unlocked Device Required This test ensures that keys created with setUnlockedDeviceRequired are usable when the screen is unlocked but not when it is locked. This test validates the Vibrator#HasVibrator API response. Does this device say it has a vibrator? To start the test, hold the device in your hand and click the vibrate button. Did the device vibrate? Feeling vibration indicates that the test passed. Click the pass button to register the result. Not feeling vibration indicates that the test failed. Click the fail button to register the result. Not feeling vibration indicates that the test passed. Click the pass button to register the result. Feeling vibration indicates that the test failed. Click the fail button to register the result. Test will end in %d Vibrate 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 Read PHY Bluetooth LE Set Preferred PHY 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 Bluetooth LE Advertising Set Test Bluetooth LE Advertising Set tests AdvertisingSet and AdvertisingSetCallback APIs. Press the \"Start Test\" button. UI thread may freeze for a few seconds while enabling/disabling bluetooth adapter. Start Test Running Test... Finished Test Starting advertising set. Enabling/Disabling advertising set. Setting advertising data. Setting advertising parameters. Setting periodic advertising data. Enabling/Disabling periodic advertising. Setting periodic advertising parameters. Setting scan response data. Stopping advertising set. 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. Unexpected MTU request 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 for this device. Once you press the button, wait for a dialog to pop up and select your device from the list. Associate Device Association Press the "Associate" button. Wait for a dialog to pop up and select your device from the list. Bluetooth Feature Supported PackageManager.FEATURE_BLUETOOTH not supported. This test is not applicable. Disassociate Device Disassociation Press the "Disassociate" button. Wait for the device to disassociate. Device Present Make your Bluetooth device reachable (this should already be the case from the previous step). Wait until your Bluetooth device is detected by CDM. This may take up to 2 minutes. Device Gone Make your Bluetooth device unreachable by placing your bluetooth device inside an RF Bag or powering it off. Wait until your Bluetooth device disappears. This may take up to 2 minutes. 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.\n\n Before proceeding, make sure that you have a Bluetooth LE device nearby and discoverable. Also, make sure that bluetooth is turned on. (Note: the nearby device cannot be a phone) Test Complete Every test passed successfully. 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 and to allow a user to remove the app from the exemption list. Auto power modes enabled. 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. (Either run \"adb shell cmd deviceidle whitelist -com.android.cts.verifier\" or open the list of apps and their exemption statuses. Find the test app in the list and remove the app\'s exemption.) 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 \"Require device unlock for NFC\" is enabled! These tests require \"Require device unlock for NFC\" to be disabled. Click the button below to goto Settings and disable it. 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. Camera Orientation This test verifies the orientation capabilities of camera preview and capture.\n - The left view shows a preview window rotated 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 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 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 Webcam Test This test verifies the FPS rates the device advertises as a webcam. It also includes manual verification on the functionality of the webcam stream. \n\nInstructions for Test Run: \n1. Connect your Android device to a computer with adb installed via a USB cable. \n\n2. Setup the Camera Webcam test environment by following the setup instructions in the README file found in the DeviceAsWebcam directory (packages/services/DeviceAsWebcam/tests). \n\n3. Ensure the camera is aimed at a bright scene to get the most accurate FPS reading. \n\n4. Run the test script. (python run_webcam_test.py -c config.yml). Once the test has been run, the \'Yes\' and \'No\' buttons will be enabled. Confirm if the frames from the webcam service were okay. Then, click \'Done\'. The \'PASS\' will be enabled if the script results passed and the frames contained no issues. Yes No Done Run the test script to begin. Webcam testing complete. Confirm if the frames from webcam stream were okay. Script results passed but frames contained errors. Test failed. Click Done to complete. Script results passed and frames were normal. Test passed Click Done to complete. Script results failed but frames were normal. Test failed. Click Done to complete. Script results failed and frames contained errors. Test failed. Click Done to complete. Webcam feature not supported. Test skipped. Click Done to complete. 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 Bluetooth & Wi-Fi\" 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 Data Path: force channel setup 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 Data Path: force channel setup Publish The publisher is now ready.\n\nOn the other device: start the \'Data Path: force channel setup\' / \'Subscribe\' test. Data Path: force channel setup 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. Vibrations Has Vibrator Test Shortcut Reset Rate-limiting Test This test checks that when an inline-reply happens, ShortcutManager\'s rate-limiting is reset. Please grant access to show notification when prompted. 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. 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.\nLet all notification content be shown. Update notification settings to ensure that all notification content is shown. Update notification settings to ensure that sensitive notification content is shown only when unlocked. Update notification settings to ensure that all notifications are hidden on the lock screen. 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. Notification Dismiss Test This test checks if Notifications can only be dismissed, when it is allowed. NotifDismissTest Open the shade while the device is unlocked and find the NotifDismissTest notification.\n Swipe it to either side to dismiss it.\n Pass the test if it can be dismissed. Lock the screen and find the NotifDismissTest notification.\n Swipe it to either side to dismiss it.\n Pass the test if it can be dismissed from the lock screen. Lock the screen and find the NotifDismissTest notification.\n Try to dismiss it. Verify that it is non-dismissible.\n Fail the test if it could be dismissed from the lock screen. Notification Full Screen Intent Test This test checks the behavior of Notifications with Full Screen Intents. Click the \"I\'m done\" button when you are ready.\n After clicking, lock the screen and press the power button as quickly as possible to go to the lock screen.\n Wait for a heads up notification to appear first in the list with a pill button.\n Unlock screen to return to this page after seeing the notification or after 5 seconds.\n Fail the test if the notification does not appear as described. Click the \"I\'m done\" button when you are ready.\n After clicking, lock the screen and press the power button as quickly as possible to go to the lock screen.\n Wait for a page to automatically launch and display the message \"This page is a full screen intent.\".\n Unlock screen to return to this page after seeing the page or after 5 seconds.\n Fail the test if the page does not launch as described. Click the \"I\'m done\" button when you are ready.\n After clicking, press the power button as quickly as possible to turn off the screen.\n Wait for a notification to appear on the screen with a pill button.\n Unlock screen to return to this page after seeing the notification or after 5 seconds.\n Fail the test if the notification does not appear as described. Click the \"I\'m done\" button when you are ready.\n After clicking, press the power button as quickly as possible to turn off the screen.\n Wait for a page to automatically launch and display the message \"This page is a full screen intent.\".\n Unlock screen to return to this page after seeing the page or after 5 seconds.\n Fail the test if the page does not launch as described. Click the \"I\'m done\" button when you are ready.\n After clicking, press the power button as quickly as possible to go to Always on Display.\n Wait for a page to automatically launch and display the message \"This page is a full screen intent.\".\n Unlock screen to return to this page after seeing the page or after 5 seconds.\n Fail the test if the page does not launch as described. Click the \"I\'m done\" button when you are ready.\n After clicking, press the power button as quickly as possible to go to Always on Display.\n Wait for a notification to appear on the screen with a pill button.\n Unlock screen to return to this page after seeing the notification or after 5 seconds.\n Fail the test if the notification does not show as described. Turn on Always on Display by toggling on \"Always show time and info\" in Lockscreen Settings. Turn off Always on Display by toggling off \"Always show time and info\" in Lockscreen Settings. NotifFsiTest This page is a full screen intent (e.g. a call).\n Pass the test if you see this page.\n To return to the test, use the back button or gesture and unlock the screen. Fsi Notif Content Fsi Notif Content Fsi Notif Content \n Fsi Notif Content Fsi Notif Content Fsi Notif Content Please toggle on the full screen intents permission for CTSVerifier. Please toggle off the full screen intents permission for CTSVerifier There should be a sticky Heads Up Notification on the screen.\n It would not be automatically cleared out.\n Fail the test if it doesn\'t show or disappears within 60s. There should be a Heads Up Notification on the screen.\n It would show for 60s.\n Fail the test if it doesn\'t show or disappears within 60s. Launch Channel Settings Launch Security Settings Launch Notification Settings Launch Lock Screen Settings Lock the screen and find the NotifPrivacyTest notification.\n Pass the test if the notification content is REDACTED. Lock the screen and find the NotifPrivacyTest notification.\n Pass the test if the notification content is EXPOSED. Lock the screen and look for the NotifPrivacyTest notification.\n Fail the test if it can be found without unlocking the device. Launch CallSimulator Launch the CallSimulator and follow the instructions on that screen. CallSimulator \n\n(Like a call, this screen will be visible even when the device is locked.) \n\nLock the screen, then come back here without unlocking. \nPull down the notification shade and find the NotifPrivacyTest notification. \nPass the test if the notification content is REDACTED. \n\nGo back when ready to Pass/Fail the step. CallSimulator \n\n(Like a call, this screen will be visible even when the device is locked.) \n\nLock the screen, then come back here without unlocking. \nPull down the notification shade and find the NotifPrivacyTest notification. \nPass the test if the notification content is EXPOSED. \n\nGo back when ready to Pass/Fail the step. CallSimulator \n\n(Like a call, this screen will be visible even when the device is locked.) \n\nLock the screen, then come back here without unlocking. \nPull down the notification shade and look for the NotifPrivacyTest notification. \nFail the test if it can be found without unlocking the device. \n\nGo back when ready to Pass/Fail the step. NotifPrivacyTefst: REDACTED NotifPrivacyTest: EXPOSED Notification Privacy Test This test checks that Notification privacy is correctly handled on the insecure and secure lockscreen. Check that Message extras Bundle was preserved. Fully expand the notification display and verify that the \"Person A\" notification appears before the "\Non-Person Notification\". If this is not a 'handheld' device and does not support conversation notifications or does not group them together, press Pass. If this device supports heads-up notifications, verify that a notification just peeked on screen, displaying all of the following: small icon, large icon, notification title, notification text, and two action buttons. If this device does not support heads-up notifications, press Pass. Action %1$d No tests available for this device. 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 Request Tile Service CtsTileServiceApp Tile Service Request Test This test checks that a request to add a TileService is shown correctly to the user and the correct answer is relayed to the app. This will verify that the helper app is not installed. If that is correct, the test will pass automatically. If the app is installed, press the button and you will be prompted for confirmation to uninstall the app. You should have received a helper app apk with this CTS Verifier package. Its name is \"CtsTileServiceApp\". Install the test app, by running\n \"adb install /path/to/CtsTileServiceApp.apk\".\n Pass the test if the install was successful. Fail it otherwise. This will automatically verify that the helper app is correctly installed. Open Quick Settings and pass this test if there are no tiles named %1$s in any page. After pressing \"Start request\", a dialog will appear requesting to add a quick settings tile. When it appears, dismiss it by tapping outside of it, or going back. After pressing \"Start request\", a dialog will appear requesting to add a quick settings tile. When it appears, verify the following information in the dialog:\n 1. The name of the app requesting to add the tile is %1$s.\n 2. The label in the tile is %2$s.\n After verifying, tap the option in the dialog to not add the tile.\n When the buttons are enabled, pass this test if the information in the dialog was correct. After pressing \"Start request\", a dialog will appear requesting to add a quick settings tile. When it appears, tap the option in the dialog to add the tile. Open Quick Settings and pass this test if a tile named %1$s is visible in some page. Checking tile already added response 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. In the following dialog, please take a note of which channel settings are visible. Then turn on vibration for the channel and press \"Done\". Were the channel settings shown in a bottom sheet instead of the normal \"full-screen\" settings? Were sound and vibration the only available options? In the following dialog, please take a note of which channel settings are visible. Then add a sound for the channel and press \"Done\". Were the channel settings shown in a bottom sheet instead of the normal \"full-screen\" settings? Was sound the only available option? 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 that are not ongoing. Check that service cannot clear an ongoing notification. 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 possible notification types, then turn off \"CTS Verifier\" in the app filter, and then return here. Go to settings and allow this listener to see notifications from all apps, and then return here. Confirm that the type and app filters are updated Checking visibility of notification from CTSVerifier 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. Non-Dismissible Notification Channel Non-Dismissible Notification This is a notification Non-Dismissible notification In this test, you\'ll verify that you are unable to dismiss a notification.\n 1. Grant the non-dismissible exemption by running\n \"adb shell appops set com.android.cts.verifier android:system_exempt_from_dismissible_notifications allow\".\n 2. Now hit \"Go\" and you will see a notification pop up.\n 3. Scroll from the top to see the notification and verify you are unable to dismiss it.\n 4. To then remove the notification you must revoke the exemption by running\n \"adb shell appops set com.android.cts.verifier android:system_exempt_from_dismissible_notifications default\".\n 5. Now hit \"Go\" again and dismiss the notification.\n 6. Mark test as pass\n 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 Work profile Screenshot Test This test verifies how screenshots are saved when using work profile apps.\n \n Whenever a screenshot is taken while a work application is in the foreground,\n the resulting image should:\n \n * include only the work application\n * be saved to the work profile Press \'Open Work App\', to launch an activity in the work profile.\n Open Work App Work App Capture Screenshot Examine the screenshot image contained within the checkerboard area below.\n \n Verify the image contains only the work app and does not contain:\n \t* any other application windows\n \t* foreground status or navigation bar content (back, home, clock, battery, signal)\n \n If these conditions are met, pass the test.\n Take a screenshot now using the device\'s physical buttons. Choose Screenshot Cancel Test A screenshot was detected. Press the button to choose the screenshot image just captured. If no images appear, press \'Back\' to cancel this and fail the test. 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 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. 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\". 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 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. 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 different 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 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 Launch work tab in launcher This test verifies that the work tab (if tabs are supported) can be launched.\n 1. Press \"Go\".\n 2. If this device supports tabs, verify that you have landed on the work tab.\n 3. If this device doesn\'t support tabs, verify that you have landing on the all apps page .\n 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. (if a permission is requested, grant it and press the go button again). \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 For this test you need to set the device owner by running\n adb shell dpm set-device-owner --user 0 com.android.cts.verifier/.managedprovisioning.DeviceAdminTestReceiver Remove device owner Please press the Go button to check whether CTSVerifier is Device Owner. Then press the Remove Device Owner button, 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. 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 is editable (it\'s ok if it\'s not editable, but then take note so the next test can be skipped). Please make sure you can connect to it. The test is successful if the config 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. NOTE: if the WiFi was not editable in the previous step, please skip this test. 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, you should either see (a) the Bluetooth settings page or (b) trigger a support message directly.\n In the case of (a), confirm that:\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 In the case of (b) this step is successful.\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 adding WiFi config 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 add a new WiFi configuration.\n - The UI indicates that this is disabled due to admin policy.\n \n Use the Back button to return to this page. Disallow sharing admin configured WiFi config 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 share an admin configured WiFi config.\n - Sharing option is disabled in Settings.\n \n Use the Back button to return to this page. Set WiFi security level restriction This test verifies that minimum WiFi security level restriction can be set by the device owner. The levels below are listed in an increasing order of security.\n 1. Connect to any network.\n 2. Pick a security level greater than the currently connected network (if unsure pick Enterprise 192).\n 3. Verify that current network gets disconnected.\n 4. Press Go to open the WiFi page in Settings.\n 5. Confirm that you cannot connect to any network that does not meet the security level restriction.\n 6. Use the Back button to return to this page.\n 7. Set the security level to Open to remove the restriction.\n 8. Press Go to open the WiFi page in Settings.\n 9. Confirm that you can connect to any network. Set WiFi security level to Open Set WiFi security level to Personal Set WiFi security level to Enterprise EAP Set WiFi security level to Enterprise 192 Set WiFi SSID restriction This test verifies that WiFi SSID restriction can be set by the device owner.\n 1. Connect to any network.\n 2. Enter the SSID of the network you are currently connected to.\n 3. Set the SSID denylist.\n 4. Verify that current network gets disconnected.\n 5. Press Go to open the WiFi page in Settings.\n 6. Confirm that only the SSID from the denylist is restricted from connection.\n 7. Use the Back button to return to this page.\n 8. Enter the same SSID and set the SSID allowlist.\n 9. Press Go to open the WiFi page in Settings.\n 10. Confirm that you can only connect to the SSID from the allowlist.\n 11. Use the Back button to return to this page.\n 12. Leave the SSID field blank and set the allowlist to remove restriction.\n 13. Press Go to open the WiFi page in Settings.\n 14. Confirm that you can connect to any network. Enter SSID Set SSID allowlist Set SSID denylist Removing SSID restriction 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 support message 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.%3$s\n 4. Verify that the support dialog displays the short support message set earlier.\n \n\tNOTE: if the device doesn\'t support this action please skip this test and mark it as passing. 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, \'Bluetooth Scanning\' or \'WiFi Scanning\' 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 Check new user disclaimer Please do the following: \n\n 1. Check persistent notification for managed device \n\n a). Open the notification UI, verify that there is a notification saying the device is managed.\n b). Tap the notification\n c). It should show a dialog explaining the device is managed and asking the user to accept \n d). Don\'t accept initially and tap outside the dialog \n e). Open the notification UI again, verify that the managed device notification is still shown \n \n f). Click \"Set Org\", and open the notification UI again, verify that the organization name \"Foo, Inc\" is shown on the dialog \n \n\n 2. Check adding account is restricted\n\n a) Click \"Go\" to launch the \"Profiles & accounts\" setting \n b) navigate to \"Add account\" \n \n Expected: \n - \"Add account\" is disabled \n - Click the button will launch the new user disclaimer dialog\n \n c) Click accept button\n \n Expected: \n - the screen will be dismissed \n - \"Add account\" will be enabled\n - Click the button will take user to the screen to add account \n 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 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 \tmake NotificationBot\n 2) Install the NotificationBot for user 0 only. For example:\n \tadb install --user 0 $ANDROID_PRODUCT_OUT/testcases/NotificationBot/*/NotificationBot.apk\n 3) Make sure the app is not installed for the current user:\n \tadb shell pm list packages --user cur |grep com.android.cts.robot || echo \'Not installed\'\n 4) Press the Open Settings button.\n 5) In the screen that opens, verify that you are not told that your administrator installed any apps (other than CtsVerifier itself).\n 6) Use the Back button to return to this page.\n 7) Press the Install button.\n 8) Press the Open Settings button.\n 9) In the screen that opens, verify that you are told now that your administrator installed at least one app.\n 10) Tap on that information. Verify that a list of apps installed shows.\n 11) Verify that the list contains the CTS Robot app.\n 12) Use the Back button to return to this page.\n 13) Press the Uninstall button.\n 14) Issue the following command on the host:\n \tadb uninstall --user all com.android.cts.robot\n 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. \n Press Go button to create a managed user, and you will be switched to the managed user automatically; 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. Disallow Cellular 2g Configuring Cellular 2g 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 - Enable 2g is disabled.\n - Enabling 2g is not possible and triggers a support message.\n\n Use the Back button to return to this page. 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 \"Placeholder\" 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 Placeholder Text\" when you tune to the \"Placeholder\" 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 \"Placeholder\" channel. Do you see the programs named \"Placeholder Program\" and their descriptions "Placeholder 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 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 Placeholder Text Example of input app specific custom rating. com.android.cts.verifier.telecom.CtsVerifierInCallUi com.android.cts.verifier.car.CarDockActivity com.android.cts.verifier.car.CarDockTestActivity 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. Connect and disconnect a wired headset. Note if the appropriate notification messages appear below. The \"Pass\" button will be enabled if device connect and disconnect messages are received. Clear Messages CONNECT DETECTED - %1$S DISCONNECT DETECTED - %1$S Audio Output Devices Notifications Test Tests whether wired output peripheral connect/disconnect notifications are correctly sent when output peripherals are connected or disconnected. A \"wired output peripheral\" can be a headset or headphones connected to an analog 3.5mm jack or the USB port or a USB audio interface connected to the USB port. \n\nTest Setup: \nDisconnect any wired audio peripherals. \n\nTest Process: \n1. Verify that the DUT supports USB or Analog audio peripherals. \n2. Press the \"Clear Messages\" button to clear any previously sent \"sticky\" notifications. \n3. Connect a wired output peripheral. A connect message should appear. Disconnect the audio peripheral. A disconnect message should appear. \n\nTest Criteria: \nThe test passes if either the device DOES NOT support wired output peripherals, or both the connect and disconnect notifications are received. Audio Input Devices Notifications Test Tests whether wired input peripheral connect/disconnect notifications are correctly sent when input peripherals are connected or disconnected. A \"wired input peripheral\" can be a headset connected to an analog 3.5mm jack or the USB port or a USB audio interface connected to the USB port. \n\nTest Setup: \nDisconnect any wired audio peripherals. \n\nTest Process: \n1. Verify that the DUT supports USB or Analog audio peripherals. \n2. Press the \"Clear Messages\" button to clear any previously sent \"sticky\" notifications. \n3. Connect a wired output peripheral. A connect message should appear. Disconnect the audio peripheral. A disconnect message should appear. \n\nTest Criteria: \nThe test passes if either the device DOES NOT support wired output peripherals, or both the connect and disconnect notifications are received. Audio Input Routing Notifications Test Test whether appropriate routing notifications are sent when audio input peripherals are connected to the device. \n\nTest Setup: \nDisconnect any wired audio peripherals. \n\nTest Process: \n1. Verify that the DUT supports USB or Analog audio peripherals. \n2. Press the \"Record\" button. \n3. Connect a wired input peripheral. A connect routing message should appear. \n4. Press the \"Stop\" button. \n\nTest Criteria: \nThe test passes if either the device DOES NOT support wired input peripherals, or the routing notifications are received. Audio Output Routing Notifications Test Test whether appropriate output routing notifications are sent when audio output peripherals are connected to the device. \n\nTest Setup: \nDisconnect any wired audio peripherals. \n\nTest Process: \n1. Verify that the DUT supports USB or Analog audio peripherals. \n2. Press the \"Play\" button. \n3. Connect a wired output peripheral. A connect routing message should appear. \n4. Press the \"Stop\" button. \n\nTest Criteria: \nThe test passes if either the device DOES NOT support wired output peripherals, or the routing notifications are received. AudioTrack Routing Notifications AudioRecord Routing Notifications AudioTrack rerouting AudioRecord rerouting Profile Connected Peripheral USB Audio Peripheral Attributes Test USB Audio Peripheral Notifications Test USB Audio Peripheral Attributes USB Audio Peripheral Play Test Connect the USB Audio Interface Peripheral and press the PLAY button below. Verify that a tone is correctly played. Connect the USB Audio Interface Peripheral and press the PLAY button below. Verify that a tone is correctly played. Then press the STOP button. 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 button on the headset to verify recognition. 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 Tests whether 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. \n\nTest Setup: \n1. Exit CTS-Verifier with the Home button \n2. Go to Android Settings \n3. Select Apps & notifications \n4. Select CTS Verifier \n5. Select Permissions \n6. Deny Microphone permission \n7. Start CTS Verifier. Ignore the \"Please grant all permissions\" message by clicking on the face of the CTS Verifier (not in the dialog). \n8. Run this test \n\nTest Process: \nConnect a USB peripheral with CAPTURE capability and press the \"Test\" button. \n\nTest Criteria: \nThe access permission API should present a warning message about potential dangerous access. If so, the test passes. If you do not see this warning, the test fails. \n\nPost-test completion: \n1. Exit CTS-Verifier with the Home button \n2. Reenable Microphone permission in Android Settings The test can only be run with Microphone permission DENIED. \n\nTo run this test: \n1. Exit CTS-Verifier with the Home button \n2. Go to Android Settings \n3. Select Apps & notifications \n4. Select CTS Verifier \n5. Select Permissions \n6. Deny Microphone permission \n7. Start CTS Verifier. Ignore the \"Please grant all permissions\" message by clicking on the ace of the CTS Verifier (not in the dialog). \n8. Run this test \n\nWhen complete: \n1. Exit CTS-Verifier with the Home button \n2. Reenable Microphone permission in Android Settings 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: USB Host Mode: USB Peripheral Mode: HDMI Support: Has HDMI Support N/A pending... No HDMI detected. Pro Audio Test This device does not set the FEATURE_AUDIO_PRO flag and therefore does not need to run this test. The Connected HDMI device does not meet CDD requirements Pass Latency is too high "Insufficient Confidence value" "No MIDI support reported" "No USB Host Mode support reported" "No USB Peripheral Mode support reported" MIDI Test Java MIDI Test Native MIDI Test Tests for basic MIDI functionality. \n\n1. Test Setup - USB MIDI: \nConnect a supported USB Audio Peripheral device that has standard MIDI 5-pin, DIN (round) connectors and a standard MIDI cable. The cable must be connected to the MIDI input and output jacks on the peripheral. \n\n2. Test Setup - Bluetooth MIDI: \na. Download and install the "MIDI+BTLE" app from the Play Store. \nb. Connect a supported USB Audio Peripheral device that has standard MIDI 5-pin, DIN (round) connectors and connect the MIDI ports to a Bluetooth MIDI adapter (such as the Yamaha MD-BT01). Be sure to connect the MD-BT01 so that the arrow on the MD-BT01 plug points away from the Output jack on the USB peripheral. The other plug should have an arrow pointing towards the Input jack. \nc. Run the \"MIDI+BTLE\" app, click on "Bluetooth Scan" and select the Bluetooth MIDI adapter connected to the USB Audio Peripheral. Note that the \"Test Bluetooth MIDI Interface\" button will be enabled. \n\n2. Test Setup - Virtual MIDI: \nThe Virtual MIDI test does not require any MIDI interface hardware. \n\nTest Process: \n1. Follow instructions for \"Test Setup - USB MIDI\" \n2. Press the \"Test US MIDI Interface\" button. Note test results. \n3. Press the \"Test Virtual MIDI Interface\" button. Note test results. \n4. Follow instructions for \"Test Setup - Bluetooth MIDI\" \n5. Press the \"Test Bluetooth MIDI Interface\" button. Note test results. \n\nTest Criteria: \nAll sub-tests must pass for this test to pass. This test tests the following functionality with respect to wired analog headsets.\n 1. Correct audio playback.\n 2. Plug intents.\n \nTo execute test:\n 1. Plug in an Android-compatible, analog headset. Verify connection/recognition.\n 2. Play test tone and verify correct behavior.\n \nTo run this test it is necessary to have an Android device with a 3.5mm analog headset jack and a compatible analog headset.\n \n(see 3.5 mm Headset: Accessory Specification and Android CDD § 7.8.2.1. Analog Audio Ports) USB MIDI and Audio Test Connect a supported USB Audio Peripheral device that has standard MIDI 5-pin, DIN (round) connectors and a standard MIDI cable. The cable must be connected to the MIDI input and output jacks on the peripheral. \nPlease attach a wired headset with a 3.5mm jack to the audio output of this peripheral. \nTest the USB MIDI interface first. Then, press the PLAY to button test audio. Verify that a tone is correctly played. USB Audio Playback Test: 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 Status PASS Test Status: PASS FAIL Test Status: FAIL Not Tested Please Test If Supported Required Run Cancel Input Output Record Play Java API Native API Clear Results Test Not Run Test not completed. [Can\'t Write ReportLog] play: record: Audio Data Paths Test This test verifies basic functionality over a set of audio routes \nTest Setup: \n - It may be necessary to go to the \"Sound & vibration\" settings panel to set the volume level for each output device. \n 1. With no audio peripherals connected, adjust the \"Media volume\" to max. \n 2. (If applicable) insert the analog loopback adapter into the 3.5mm headset jack and adjust the \"Media volume\" to max. \n 3. (If applicable) connect a USB audio interface and adjust the \"Media volume\" to max. \n - If the device has a 3.5mm headset jack, insert a loopback adapter in the jack. (See the \"Audio Loopback Latency Test\" for a description). \n - If the device supports audio over USB, connect a USB audio interface with loopback cables. (See the \"Audio Loopback Latency Test\" for a description). \n The test will display valid data paths with an asterix appended to the data path name. \nTest Execution: \n - Place the device on a flat surface in a quiet room. \n - Select the \"Native API\" button. \n - Press the \"Start\" button. The test will step through the list of valid data paths playing a tone and recording it\'s presence or absence. Be aware that the test will play tones through the internal speaker even if an analog loopback plug and/or USB loopback device is connected. \n - Select the \"Java API\" button. \n - Press the \"Start\" button to repeat each data path test for the Java API. \nTest Completion: \n - Once each of the data paths and APIs have been measured, the test can be marked successful. "No valid datapaths. PASS." %1$s\n%2$s -> %3$s Audio Loopback Latency Test This test verifies that the DUT can achieve the required or recommended loopback latency as defined by CDD § 5.6 (Audio Latency) and § 5.10 (Professional Audio). \nTo pass the test, the DUT needs to meet the latency requirement on ALL 3 of the following audio paths (if present): \n- the internal speaker and microphone. \n- a Loopback Plug connected to a 3.5mm headset jack. \n- a Loopback Plug connected to a USB audio adapter. (or alternatively USB interface with patch cords connecting the input and output jacks). \nPlease connect these Loopback mechanisms (the same Loopback Plug can be used at different times for the headset jack and USB audio adapter) and proceed with the instructions on the screen. The volume may need to be adjusted for each audio path. \nNote that for the Speaker/Microphone path, it may be necessary to remove any phone case on the device. \nThe system will measure the input-output audio latency by injecting an audio signal into 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 sufficient confidence is achieved. When each route test is completed, the measured and required latencies will be displayed. \nWhen all test routes have passed, the test as a whole can be passed. 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 sufficient confidence is achieved. Audio Level Test Results... Please test all supported paths. Place the DUT flat on a table in a quiet room. Press the Start button and allow the test to proceed. If supported, insert the loopback plug into the headset jack. Press the Start button and allow the test to proceed. If USB Audio supported, Connect the USB port to an appropriate USB audio test peripheral with loopback set up. Press the Start button and allow the test to proceed. FAILURE - Could not allocate analyzer thread. Result: None. Result: Pass. Result: Fail - Speaker/Mic path not tested. Result: Fail - Basic latency not met. Result: Fail - Media Performance Class latency not met. Result: Fail - Pro Audio max latency on one path not met. Result: Fail - Pro Audio analog latency not met. Result: Fail - Pro Audio USB latency not met. Result: Fail - 24-bit playback requirement no met. Result: Fail - Pro Audio latency for wired path not met. Result: Invalid result code. Audio Cold Start Output Latency Test Audio Cold Start Input Latency Test This test measures the time required to play audio from a suspended \"cold\" audio system. This time is defined as the \"cold start latency\". To pass this test, a maximum cold start latency time of 500ms or less is REQUIRED, while a time of 100ms or less is STRONGLY RECOMMENDED. (See Android CDD § 5.6. Audio Latency) \n\nTo run this test, it is required to have Tap & click sounds disabled in the device \"Sound & Vibration\" settings panel. Note that in some versions of Android, this setting may be called \"Touch sounds\". \n\nThe \"Java API\" and \"Native API\" allow for capturing performance data from the two streaming APIs. The cold start latency measurement need only pass for one API. The Native API generally gives the best performance. \n\nAlthough not part of the pass criteria, the test will also report \"open\" & \"start\" times. Open time is the time taken to allocate and prepare the player for the specified stream attributes. Start time is the time taken to start playing audio on an open stream. This test measures the time required to record audio from a suspended \"cold\" audio system. This time is defined as the \"cold start latency\". To pass this test, a maximum cold start latency time of 500ms or less is REQUIRED, while a time of 100ms or less is STRONGLY RECOMMENDED. (See Android CDD § 5.6. Audio Latency) \n\nThe \"Java API\" and \"Native API\" allow for capturing performance data from the two streaming APIs. The cold start latency measurement need only pass for one API. The Native API generally gives the best performance. \n\nAlthough not part of the pass criteria, the test will also report \"open\" & \"start\" times. Open time is the time taken to allocate and prepare the recorder for the specified stream attributes. Start time is the time taken to start recording audio on an open stream. Output Cold Start Latency Input Cold Start Latency Tap & click sounds are ENABLED. Please DISABLE Tap & click in the \"Sound & Vibration\" settings panel. \nNote that in some versions of Android, this setting may be called \"Touch sounds\". Tap & click sounds 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 Play a test tone and verify correct playback Was the audio correctly played through the headset? Headset key codes HEADSETHOOK VOLUME_UP VOLUME_DOWN Analog Headset Test "PASS (No headset port available)" PASS "Analog port detected" Press each button on the headset verify recognition No buttons detected Headset connected No Headset - Connect headset to 3.5mm analog jack ACTION_HEADSET_PLUG received - Unplugged Plugged [mic] No analog Jack. PASS No analog jack detected. Please connect a headset, or PASS Please connect a headset Please test audio through the headset Please test transport buttons This test tests the following functionality with respect to wired analog headsets.\n 1. Correct audio playback.\n 2. Plug intents.\n 3. Headset keycodes.\n \nTo execute test:\n 1. Plug in an Android-compatible, analog headset. Verify connection/recognition.\n 2. Play test tone and verify correct behavior.\n 3. Press headset buttons until all are recognized on the test screen.\n \nTo 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.\n \n(see 3.5 mm Headset: Accessory Specification and Android CDD § 7.8.2.1. Analog Audio Ports) 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 on any device which implements AEC. Press [TEST] to play a voice recording twice with different parameters. Is AEC mandatory in this device? No AEC Support. AEC is not supported on this device. Test may pass. Audio Stream Disconnect Test Tests that audio streams generate the correct stream disconnection events. Note that this test is only required for devices that support wired headset. \n\nTest Requirements \nA wired (analog or USB) headset peripheral, or analog loopback adapter. \n\nTest Process: \n1. Press the \"Start\" button. \n2. For each tested audio route: \n a. Connect the headset peripheral when instructed. \n b. Disconnect the headset peripheral when instructed. \n\nTest Criteria: \nThe test passes if all routes demonstrate the correct stream disconnection behavior. Does this device support an analog or USB audio peripheral? 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. \n\nTo execute test: \n1. Disconnect any wired or Bluetooth audio peripherals from the DUT. The Tap To Tone Test measures the time between a tap on the screen to a tone generated on the internal speaker. The internal microphone is used to detect both. \n2. Select the Audio API to test (\"Native\" has the lowest latency) and press the \"Start\" button. The test needs to pass for ONLY ONE API. \n3. 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. \n4. 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. \n5. Press the \"Stop\" button to conclude the test. The results will be displayed along with the passing/failing measurement and requirement. \n\n(see Android CDD § 5.6. Audio Latency) Not enough edges. Use fingernail. Too many edges. Use fingernail. Ensure there is no background noise. Buffer Frames: Can\'t open streams. No mic and/or speaker. PASS 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 tests that the USB Audio HAL returns the expected set of attributes for a well-known USB audio peripheral. See the Mandated Peripherals section of the USB Audio CTS Verifier Tests . for a list of supported USB audio peripherals. The attributes of the supported peripherals are stored in the app in a set of \"Peripheral Profiles\".\n\n To execute the test:\n 1. Specify whether or not the DUT supports USB host mode (CDD 5.10 C-1-3). If not the test simply passes. 2. Plug in a supported USB Audio Peripheral.\nThe peripheral\'s attributes will be displayed along with the name of the associated profile. If the peripheral matches the profile, the test passes. If not, the mismatches are displayed. 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 tests that any device claiming \"Pro Audio\" meets the requirements specified in the CDD section 5.10. Professional Audio \n\nTo execute the test: \n1. Note that all required flags report \"true\" \n2. If the DUT supports HDMI: \n a. Click the \"Has HDMI Support\" checkbox \n b. Connect an HDMI device to the DUT \n c. Verify that the reported HDMI attributes meet the specification. \n\nNote that the latency measurement for Pro Audio has been moved to the Audio Loopback Latency Test 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 Call Audio Test This test verifies that there are no audio issues when starting a sim call while in an active self-managed call. Note, this test requires the device under test to have an active sim with service. The image represents the status of the step in the test. The start state is indeterminate which is a question mark image. If the test step passes a green check will be show. Otherwise, a red x will show which means the test failed at the step. set default outgoing phone account to a SIM based account Click the button below to initiate a self-managed call. Once clicked, you should hear an audio clip looping in whichever audio route is active (e.g. earpiece). Click the button below to confirm the audio from the self-managed call is audible. Hearing the audio means the self-managed call was created successfully. Now, enter a valid phone number and start an active sim based call. Ensure call audio is working both ways and end the sim call. verify there were no sim call audio issues The self-managed call should resume playing audio. Hold your ear to the phone and verify the call audio is playing. verify self-managed audio verify sim call audio dial sim call set default (optional) verify start state start self-managed call Enter number here phoneNumber Go back to test 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 No bubbles on bubbles disabled 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 be connected to the device. The DUT may 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. In this case, the test can be passed by pressing the \"No\" button and indicating \"Test Pass\" at the bottom. \n\nNote: Handheld devices supporting USB host mode MUST support USB audio class (CDD 7.7 .2/H-1-1) \n\nNote: Devices declaring feature android.hardware.audio.pro MUST implement USB host mode (CDD 5.10 C-1-3). Devices that omit a 4 conductor 3.5mm audio jack MUST support USB audio class (CDD 5.10 C-3-1). Playing. Now press stop. 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 Audio Descriptor Test This test tests if the reported AudioDescriptor is valid and necessary.\n AudioDescriptor must only be used to report audio device capabilities that are not able to describe by Android defined enums.\n \nTo execute test:\n 1. Plug in HDMI cable if HDMI is supported on the device.\n 2. The test will execute automatically and verify the reported AudioDescriptor when the activity is created and when audio device connection is changed. HDMI support: Has HDMI support N/A No HDMI detected. Pending… Pass No HDMI device connected Standard is none. Audio descriptor is null. Standard %1$d is unrecognized. The length of short audio descriptor is %1$d, but it is expected to be 3. Cannot get audio HAL version Invalid audio HAL version %1$s Format with format code as %1$d(%2$s) should not be reported by AudioDescriptor. Instead, it should be reported by Android defined enums. Format with format extended code as %1$d(%2$s) should not be reported by AudioDescriptor. Instead, it should be reported by Android defined enums. Format extended code as %1$d is not used. HDMI Support Please connect an HDMI peripheral to validate AudioDescriptor. Uwb Presence Test The Presence tests check whether or not a device is properly calibrated for BLE, NAN and UWB based on Presence requirements. \nAll tests are required to pass on every device, if the radio technology is supported The Presence tests check whether or not a device is properly calibrated for BLE, NAN and UWB based on Presence requirements. \nAll tests are required to pass on all Android T+ launched TV devices, if the radio technology is supported. \nIf the TV device is launched on older Android letters, all tests will be disabled. Press Pass to pass this case. Is Reference Device Uwb Precision Test Uwb Short Range Test 1. Take 1000 measurements with DUT at 1m distance from the reference device in a non-reflective chamber. \n2. Sort the 1000 measurements and compute the range as 975th measurement - 25th measurement \n3. Report the range below - Must be within 30cm (distance) for tests to pass. Report Range (cm) 1. Take 1000 measurements with DUT being 1m apart from the reference device, where ground truth distance is measured from the top edge of the DUT, held face up and tilted 45 degrees \n2. Sort the values. \n3. Report the median (500th value) (must be within 0.75m and 1.25m to pass). \n4. Report the reference device used. Report Median (meters) Report Reference Device Uwb is not supported on device. Finishing activity. BLE Start Test Stop Test Start Advertising Stop Advertising You are advertising with deviceId: %1$d Reference device found. %1$d of %2$d samples collected Awaiting Rx RSSI median from reference device... Tx RSSI median: %1$d. Rx RSSI median received from reference device: %2$d Rx RSSI median computed: %1$d. Enter the device ID displayed on the advertising device BLE RSSI Precision Test Place the device under test (DUT) at 1m from the reference device (advertising device) in line of sight environment \nDUT instructions \n1. Ensure that the reference device is already advertising. \n2. Input the device ID of the reference device (displayed on the reference device) into the provided field and click "Start Test" \n3. The test is automatically stopped and passed (or failed )when all the required data is collected \nReference device instructions \n1. Ensure that the "Is reference device" checkbox is checked, then click, "Start Advertising" BLE Rx/Tx Offset Precision Test Place the device under test (DUT) at 1m from the reference device (advertising device) in line of sight environment \nDUT instructions \n1. Ensure that the test is already started on the reference device. \n2. Input the device ID of the reference device (displayed on the reference device) into the provided field and click "Start Test" \n3. The test is automatically stopped and passed (or failed) when all the required data is collected \n4. The test is passed if the median RSSI from both DUT and reference device is between -65dBm and -45dBm. \nReference device instructions \n1. Ensure that the "Is reference device" checkbox is checked, then click, "Start Advertising" Place the device under test (DUT) at the test distance (either 10cm, 1m, 3m, or 5m) away from the reference device, in a line of sight environment. On the reference device, ensure that the "Is reference device" checkbox is checked, then click "Start Publishing" \n\nDUT instructions \n1. Ensure that the reference device is already publishing the NAN service. Enter the service ID displayed. \n2. Make sure that the toggle for the right test distance is checked. \n3. Click "Start Test". The display would be updated to show status "IN_PROGRESS" for the corresponding test distance. \n4. When all the required data is collected at the test distance, the display would be updated to show the status of the test, either PASSED or FAILED. \n5. The test is passed if more than 68% of the results are in the required range for the test distance (x). Where range is in [x-2,x+2]. E.g. for 5m, range is 3m to 7m. \n6. Repeat for the other distances by selecting the corresponding radio button. Nan Accuracy Test WiFi NAN Start Publishing Stop Publishing Select Test Distance 10cm 1m 3m 5m Your unique service ID is: %1$d Enter the service ID displayed on the publishing device Audio Microphone Hardware Toggle Mute Test This test verifies that devices which implement microphone hardware privacy toggles enforce sensor privacy when toggles are enabled. \nTo pass the test: \n - The audio stream should be muted. \n - A dialog or notification should be shown that informs the user that the sensor privacy is enabled. Mute the microphone using the hardware privacy toggle. \nPress the RECORD button. \nObserve a dialog with information regarding the microphone being blocked \nIgnore/cancel the dialog and wait for the recording to complete. \nThe pass button will be enabled if the test succeeded. Analyzing, please wait...\n Camera Hardware Toggle Mute Test This test verifies that devices which implement camera hardware privacy toggles enforce sensor privacy when toggles are enabled. \nTo pass the test: \n - The video stream should be muted. \n - A dialog or notification should be shown that informs the user that the sensor privacy is enabled. Mute the camera using the hardware privacy toggle. \nObserve a dialog with information regarding the camera being blocked. \nCamera preview should show a blank feed. \nPress the Take Photo button. \nCaptured image should be black. \nMark the test as passing if the above conditions are met. No available camera found. \nAdd or enable a camera and re-run this test. Controls Panel tests This feature is not supported in this device due to multi-window not being supported. Pass this test. 0. Install helper app This test helps install the helper app that will be used for all subsequent tests in this group. You should have received a helper app apk with this CTS Verifier package. Its name is \"CtsDeviceControlsApp\". Install the test app, by running\n \"adb install /path/to/CtsDeviceControlsApp.apk\".\n Pass the test if the install was successful, or if the app was already installed. Fail it otherwise. 1. Controls Panel visible test This test verifies that an app that uses the correct metadata will be able to show a panel (custom activity) in the device controls space. Open the Device controls space in this device. This is the space that allows you to control individual home automation devices for many apps.\n\n Once there, you should see a header with the name \"Cts controls\" and the icon [ICON]. If you don\'t see it, there may be a drop-down to select that app. Alternatively, there may be a menu that allows you to add this app before it\'s visible in the drop-down. Once the app is selected, you should see a container with the title \"Cts controls\" and content that starts with \"This is a panel belonging to Cts controls\".\n\n If you can observe this panel, pass this test. Otherwise fail this test. 2a. Controls Panel setting in extra test false value 2b. Controls Panel setting in extra test true value This test verifies that an app that shows a panel in the device controls space will receive the correct value of the setting for controlling devices on the lock screen as part of their intent extras.\n\n For this test, you will need to have set up a screen lock. Open Settings Using the button below, open Settings. Find the setting that allows you to control external devices from the lockscreen (you might need to enable other settings for it to be available). Set that setting to %1$s. \n Then, open the device controls space (instructions below the button) and verify that the text inside the panel indicates that the setting is %1$s Input USI Version Test This test verifies that a device that supports a Universal Stylus Initiative (USI) stylus through its built-in touchscreen correctly reports its supported USI version. Yes No This test will ask you to verify that the reported Universal Stylus Initiative (USI) protocol version is correct for each built-in display.\n To begin the test, please disconnect all external peripheral devices, such as mice, keyboards, or styluses that are connected through USB or Bluetooth.\n\n Found %1$d built-in display(s). Are you ready to proceed? The display \"%1$s\" reports its USI version as %2$s.\n\n Is this correct? not supported Test Passed\n\n Press Pass. Test Failed\n\n Reason: %1$s Not ready to check for USI stylus versions. The USI version was incorrectly reported. Audio Preferred Mixer Attributes Test This test verifies that apps can set preferred mixer attributes for USB devices. \nTo pass the test: \n - Connect a USB audio device to the Android device under test. \n - The test will automatically run by setting preferred mixer attributes. If the test passes, the pass button will be clickable. Otherwise, the failure message will show. Please connect USB audio device USB device connected Running test, please wait… Cannot set preferred mixer attributes for USB device. Set preferred mixer attributes failed. Preferred mixer attributes are different from ones set. Clearing preferred mixer attributes failed. Preferred mixer attributes is not null after calling AudioManager#clearPreferredMixerAttributes. Callback is not called when preferred mixer attributes changed. Capture Content For Notes Tests This test verifies the support for Content Capture For Notes APIs on devices that have the ROLE_NOTES enabled. \n\nIf the ROLE_NOTES is not enabled, no test should be shown in the list below, and you should mark the CTS test as passed. \n\nFor this test you need to install CtsDefaultNotesApp.apk and set it as the Default notes app. \n\nFor some tests you will need to set up device owner. \n\nPlease clear the device owner after all the test cases are run, if it was set up. Set default notes app For these tests you need to install CtsDefaultNotesApp.apk. \nThen you need to set it as the Default notes app setting through device settings app. \nThe Default notes app settings is generally under Apps -> Default apps -> Notes app. Set up device owner Some tests require to set up device owner in order to enforce device manager policies. Please run: \nadb shell dpm set-device-owner --user 0 com.android.cts.verifier/.capturecontentfornotes.DeviceAdminTestReceiver Failed to set up device admin policy, is the device owner set up? Screenshots disabled successfully Screenshots enabled successfully Successfully cleared device owner No command run Disable screenshots Enable screenshots Clear device owner Fire intent action then add screenshot 1. Open the CtsDefaultNotesApp using certain actions such as the stylus button click. \n2. Then tap on the Fire Intent Action button shown in the CtsDefaultNotesApp. \n3. Android SystemUI should show a UI with a button that lets you add the screenshot to the notes app, tap on this button. \n4. The CtsDefaultNotesApp should be back in focus informing that screenshot was received. \n5. If so, pass this test else fail. Fire intent action then cancel screenshot 1. Open the CtsDefaultNotesApp using certain actions such as the stylus button click. \n2. Then tap on the Fire Intent Action button shown in the CtsDefaultNotesApp. \n3. Android SystemUI should show a UI with a button that lets you cancel, tap on this button. \n4. The CtsDefaultNotesApp should be back in focus informing that screenshot was not received. \n5. If so, pass this test else fail. Fire intent action but window mode not supported 1. Open the CtsDefaultNotesApp using the app icon, this should launch the app in regular mode. \n2. Then tap on the Fire Intent Action button shown in the CtsDefaultNotesApp. \n3. Android SystemUI should not be shown, instead the CtsDefaultNotesApp should inform that window mode is unsupported. \n4. If so, pass this test else fail. Fire intent action but blocked by admin 1. Ensure device owner is set up by running: \nadb shell dpm set-device-owner --user 0 com.android.cts.verifier/.capturecontentfornotes.DeviceAdminTestReceiver \n2. Tap on the disable screenshot button shown below. \n3. Open the CtsDefaultNotesApp using certain actions such as the stylus button click. \n4. Then tap on the Fire Intent Action button shown in the CtsDefaultNotesApp. \n5. Android SystemUI should not be shown, instead the CtsDefaultNotesApp should inform that screenshot blocked by admin. \n6. If so, pass this test else fail. \n7. Ensure to tap on enable screenshot button otherwise future tests would be impacted. Trigger can all API which returns true 1. Open the CtsDefaultNotesApp using certain actions such as the stylus button click. \n2. Then tap on the Call Can Use API button. \n3. Verify the CtsDefaultNotesApp informs can use API returned true. \n4. If so, pass this test else fail. Trigger can call API but blocked by admin 1. Ensure device owner is set up by running: \nadb shell dpm set-device-owner --user 0 com.android.cts.verifier/.capturecontentfornotes.DeviceAdminTestReceiver \n2. Tap on the disable screenshot button shown below. \n3. Open the CtsDefaultNotesApp using certain actions such as the stylus button click. \n4. Tap on the Call Can Use API button. \n5. Verify the CtsDefaultNotesApp informs can use API returned false. \n6. If so, pass this test else fail. \n7. Ensure to tap on enable screenshot button otherwise future tests would be impacted. Trigger can call API but window mode unsupported 1. Open the CtsDefaultNotesApp using the app icon, this should launch the app in regular mode. \n2. Tap on the Call Can Use API button. \n3. Verify the CtsDefaultNotesApp informs can use API returned false. \n4. If so, pass this test else fail.