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