CTS Verifier
CTS Verifier %1$s
Pass
Info
Fail
Next
Go
Audio
Camera
Car
Device Administration
Hardware
Networking
Sensors
Location
Security
Streaming
Features
Clock
Job Scheduler
TV
Other
Clear
Test results cleared.
View
Couldn\'t create test results report.
Cannot continue. Please grant runtime permissions
Export
Cannot save report to external storage, see log for details.
Report saved to: %s
Report Viewer
Loading...
Error occurred while generating test data...
Settings
Data Backup Test
This test checks that data backup and automatic restore works
properly. The test activity lists some preferences and files that are backed up and
restored by the CTS Verifier. If backup and restore is working properly, these values
should be restored after running the backup manager, uninstalling the app, and reinstalling
the CTS Verifier.
\n\nPress the \"Generate Test Data\" to populate these values
and then follow the on screen instructions to finish the test.
Generate Test Data
Preferences
Files
Random values for the preferences and files have been saved.
\n\nFollow the instructions below to check that the data backup and restore works:
\n\n1. Make sure backup and automatic restore are enabled in settings. Depending on the
backup transport supported by the device you may need to do additional steps. For instance
you may need to set a Google account as the backup account for the device. If you cannot
find the corresponding setting options on your device, run \"adb shell bmgr enable true\"
to enable the backup manager. You can check its status by executing \"adb shell bmgr
enabled\".
\n\n2. Run the backup manager: adb shell bmgr run
\n\n3. Uninstall the program: adb uninstall com.android.cts.verifier
\n\n4. Reinstall the CTS Verifier and verify that the values are still the same.
Backup Accessibility Settings Test
This test checks that data backup and automatic restore
of Accessibility-related settings works properly. If backup and restore is working properly,
these values should be restored after running the backup manager, removing your Google
account, changing the accessibility settings values, and re-adding your Google account.
\n\nPress \"Generate Test Data\" to generate test values for accessibility settings and then
follow the on screen instructions to finish the test.
General Accessibility Settings
Color Correction Settings
Accessibility Service Settings
Captions Settings
TTS Settings
Other System Settings
You will need two devices for this test.
\n\nFollow the instructions below to check that the data backup and restore of
accessibility-related settings works properly:
\n\n1. Make sure backup and automatic restore are enabled in settings. If you cannot find
the corresponding setting options on your device, run \"adb shell bmgr enable true\" to
enable the backup manager. You can check its status by executing \"adb shell bmgr enabled\".
You will also need to set a Google account as the backup account for the device.
\n\n2. Press \"Read Current Values\" and note the default values for the listed settings.
Values that are either \"0\" or \"null\" will appear in green. Note: Some default values are
neither \"0\", nor \"null\", so you still need to pay attention to the default setting
values that are not highlighted.
\n\n3. Change the values of the listed settings to something other than their default value.
\n\n4. Return to the CtsVerifier and press \"Read Current Values\". Make sure that you have
changed all of the settings.
\n\n5. Run the backup manager: adb shell bmgr run
\n\n6. Factory reset data on the second device. While going through the Setup Wizard,
restore all data from the account on your first device. When prompted, choose to restore all
settings from your first device.
\n\n7. Install CtsVerifier on your new device and make sure that the values read on the
second device match the values on your first device.
Show Instructions
Read Current Values
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.
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.
Keyguard Disabled Features Test
Redacted Notifications Keyguard Disabled Features Test
Force Lock
It appears the screen was locked successfully!
It does not look like the screen was locked...
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
Bluetooth Test
The Bluetooth Control tests check whether or not the device
can disable and enable Bluetooth properly.\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 Low Energy
Toggle Bluetooth
Disable and enable Bluetooth to successfully complete this test.
Enable Bluetooth
Disable Bluetooth
Disabling Bluetooth...
Could not disable Bluetooth...
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.
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!
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
BLE Client Test
BLE Client Connect
BLE Discover Service
BLE Read Characteristic
BLE Write Characteristic
BLE Reliable Write
BLE Notify Characteristic
BLE Read Descriptor
BLE Write Descriptor
BLE Read RSSI
BLE Client Disconnect
The BLE test must be done simultaneously on two devices. This device is the client. All tests listed here must be done in order.
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
Bluetooth LE GATT Server Handler Service
BLE Server Test
The BLE test must be done simultaneously on two devices, a server device and a client device. This device is the server.
Waiting on connection from BLE client.
Adding service to BLE 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 disconnection from BLE client
BLE Advertiser Test
The BLE test must be done simultaneously on two devices, an advertiser and a scanner. This device is the advertiser.
Bluetooth LE Advertiser Handler Service
BLE Privacy Mac
BLE 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 BLE advertising.
BLE Tx Power Level
BLE 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 message that this device does not support multi advertising. If advertiser does not advertise in 4 power levels, neither you receive the error message, you may not stop the advertising in previous test, or this device does not support 4 advertisers at the same time. Try rebooting the device and run the test to free those advertisers in use.
BLE Hardware Scan Filter
BLE 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
BLE Scanner Test
Bluetooth LE Scanner Handler Service
The BLE 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 different mac address. After 15 mins, a green text "Get a new Mac address" will show up.
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
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 WhenNoLocation Test
GNSS Measurement Registration Test
GNSS Measurement Values Test
GNSS Navigation Message 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.
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.)
Network Connectivity Screen Off Test
This test verifies that IPv6 network connectivity continues to work
when the screen is off.\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.\n
4. Wait until the screen turns on (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
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...
Test passed!
Test failed!
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: those errors
might degrade the user experience and might cause some applications to misbehave. They are
not required for Android Compatibility at this time, but will in a future release.
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.
After completing the task, go back to this test.
Movement was expected during the test. Found=%1$b.
Turn off any special features installed in the
device that register for sensors. 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 Standard Deviation...
Verifying the relationship between
calibrated and uncalibrated measurements...
Please calibrate the Magnetometer by moving
it in 8 shapes in different orientations.
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 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.
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.
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 tigger time. wakeTime=%1$d ms triggerTime=%2$d ms
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.
SUID File Scanner
This test will attempt to find unauthorized SUID binaries, but it is not comprehensive due to permission restrictions.\n\nAuthorized SUID binaries will appear green, while unauthorized SUID binaries will appear red.\n\nPress OK to start the scan...
Scanning directory...
User: %1$s\nGroup: %2$s\nPermissions: %3$s\nPath: %4$s
Could not stat file...
Congratulations!
No unauthorized suid files detected!
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,
and the broadcast intents are received when appropriate per the SDK
documentation.\n\n
- Read the message above the \"Start Test\" button for
step-by-step instructions.
Camera preview
Oriented photo
Camera:
Intents Test
clockwise
Instructions:
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 Start Test. \n
2. Go to home screen (HOME key). \n
3. Launch Camera application. \n
4. Capture photo within 1 minute. \n
5. Return to CTS verifier app. \n
6. Pass button will light up if URI trigger was fired.\n
7. Click "Pass" if possible.
\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 URI trigger was fired.\n
7. Click "Pass" if possible.
\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 URI trigger was NOT received.\n
5. Click "Pass" if possible.
\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. Pass button will light up if URI trigger was received.\n
5. Click "Pass" if possible.
Start Test
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.
Normal preview
Processed callback data
Test
Camera Video
This test checks video capture
at different resolutions. \n - The left view window shows the preview.
\n - Pressing the test button will trigger three
seconds of video recording. Playback will show up in the right view
window after recording is complete. \n - Use the spinners to choose
camera and resolution combinations. The playback should be similar
to what you saw in preview. \n - 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.
Video capture
Video playback
Test failed
Fail and quit
Cancel
Ready
Recording
Playing back
USB Accessory Test
Sensor Power Test
1. Connect your Android device to a computer and ensure that the connection is set
to charging only from the Android device.
\n\n2.Run the \'cts-usb-accessory\' program included with the CTS Verifier bundle.
\n\n3. If you have not started the CTS Verifier, press \'OK\' when asked to open the CTS
Verifier when the accessory is connected. \n\nIf you are already in this test,
then you can press \'Cancel\' but press \'OK\' in the next dialog asking whether to allow
CTS Verifier to access the accessory.
\n\n4. You should see the accessory and the CTS Verifier display a series of messages
which indicates that the accessory support is working properly, and then you will
be presented with more instructions.
USB accessory feature is not available?
If your device is supposed to support USB accessories, your API implementation is not behaving correctly!
Received Messages
Disconnect and Reconnect
Please disconnect the Android device and the computer.
Please connect the Android device and the computer. Do not interact with the device until prompted.
Test failed because reconnect timed out. You can interact with the device again.
Abort Test
Could not find USB accessory. Try waiting longer.
Sent Messages
No messages
Starting message processing...
Exception occurred while processing a message...
Stopping message processing...
Test passed, pass button enabled! You can interact with the device again.
Could not open file descriptor for USB accessory... try reconnecting and restarting the accessory?
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 notification.\nCheck if there is an notification on this device saying the other MTP device is connected to this device. Also check if it opens the UI to browse files in the connected device by tapping the notification.
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 LEGACY mode only - ITS tests are only required on LIMITED
or better devices. Pass.
All Camera ITS tests passed. Pass button enabled!
Some Camera ITS tests failed.
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.
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 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 Client 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 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 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 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 it\'s name.
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 it\'s name.
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 it\'s 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 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 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 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 ...
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
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.
Notification Attention Management Test
This test checks that the NotificationManagerService is
respecting user preferences about notification ranking and filtering.
I\'m done
Please disable \"Do not disturb\" by tapping the Quick Settings tile.
Please select \"Priority only\" in the dialog that appears
when you tap the \"Do not disturb\" tile in Quick Settings, and customize the setting to allow messages from
starred contacts only by tapping "More settings".
Please select \"Total silence\" in the dialog that appears
when you tap the \"Do not disturb\" tile in Quick Settings.
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.
Check that \"Priority\" mode doesn\'t filter priority notifications.
Check that \"None\" mode filters all notifications.
Notification Listener 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.
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 Listener for CTS Verifier\"
under Apps > Gear Icon > Special Access > Notification Access 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 received.
Check that notification payload was intact.
Check that service can clear a notification.
Check that service can clear all notifications.
Service should stop once disabled.
Check that notification was not received.
Condition Provider test
Condition Provider for CTS Verifier
This test checks that a ConditionProviderService can be enabled
and disabled, and that once enabled the service is able to create, query, edit, and delete
automatic zen rules.
Please enable \"CTS Verifier\" under Do Not Disturb access and return here.
Please disable \"CTS Verifier\" under Do Not Disturb access and return here.
Launch Settings
Creating Automatic Zen Rule
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
High Accuracy Mode Test
This test checks that the Location Mode API is consistent with the
Location Provider API when the device is in High Accuracy location mode.
Please select the \"High accuracy\" mode at Settings > Location
(hint: tap the "Mode" item) and return here.
Battery Saving Mode Test
This test checks that the Location Mode API is consistent with the
Location Provider API when the device is in Battery Saving location mode.
Please select the \"Battery Saving\" mode at Settings > Location
(hint: tap the "Mode" item) and return here.
Device Only Mode Test
This test checks that the Location Mode API is consistent with the
Location Provider API when the device is in Device Only location mode.
Please select the \"Device Only\" mode at
Settings > Location (hint: tap the "Mode" item) and return here.
Location Mode Off Test
This test checks that the Location Mode API is consistent with the
Location Provider API when the device is in the Off location mode.
Launch Settings
Please turn ON location access (the switch at the top of Settings > Location)
and return here.
Please turn OFF location access (the switch at the top of Settings > Location)
and return here.
GPS provider should be ON in secure settings.
GPS provider should be OFF in secure settings.
Network location provider should be ON in secure settings.
Network location provider should be OFF in secure settings.
GPS provider should be ON in LocationManager.
GPS provider should be OFF in LocationManager.
Network location provider should be ON in LocationManager.
Network location provider should be OFF in LocationManager.
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. When it opens, just 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.
Dismiss the notification. If it cannot be dismissed, 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. (If this button does nothing, pass the test and move on.)
Install credential
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 and reset the following items:\n
1. Clear device credentials.\n
2. Change the lock screen type to \'None\'.
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
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. Accept the package and verify that it installs.
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.
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
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.
Autentication-boud 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. Create a lockscreen password and if available, enroll a fingerprint.\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
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
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 an orange 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.
CtsVerifier
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 case the cubes to explode.
Projection Cube Test
This tests whether or displaying widets 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. Then try to open the camera
from the lower right corner of the screen. Expected result is you cannot
open the camera from lock screen and it will ask for password instead.
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 provisioning is colorized in green.
Then hit back and stop the provisioning.
Custom provisioning image
Please press the Go button to start the provisioning.
Check that the CtsVerifier logo is displayed at the top of the page.
Then hit back and stop the provisioning.
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, you should be automatically redirected back to this page.
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
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
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. 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 and mark the test as \"Pass\" or \"Fail\".
Disabled force stop button
Please press the Go button to go to Settings > Apps. 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 and mark the test as \"Pass\" or \"Fail\".
Disabled app storage buttons
Please press the Go button to go to Settings > Apps. 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 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.
Navigate to Accounts and confirm that:\n
\n
- Both Personal and Work categories exist.\n
- \"Remove work profile\" exists under the Work category.\n
\n
Furthermore, hit the action overflow button (3 dots) and verify that:\n
- There are two auto-sync options present, one for personal and one for work data.\n
- De-selecting either option prompts a warning dialog.\n
\n
Use the Back button to return to this page.
Please press the Go button to open the Security page in Settings.
Navigate to Device administrators 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
- Attempting to uncheck the badged \"CTS Verifier\" shows a page allowing the user to remove the managed profile.\n
\n
Use the Back button 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).\n
\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.\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 to return to this test and mark accordingly.
Profile-aware location settings
Please press the Go button to open Location page in settings.\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 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.\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 the list includes badged apps.\n
Confirm that tapping on \"All work apps\" section shows a list of only work profile apps data usage.\n
\n
Then use the Back button to return to this test and mark accordingly.
Profile-aware data usage settings (Cellular)
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 cellular 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.\n
\n
Navigate to \"Data usage\" page and then into the \"Cellular data usage\" category.\n
Confirm that \"All work apps\" section is present and that the list includes badged apps.\n
Confirm that tapping on \"All work apps\" section shows a list of only work profile apps data usage.\n
\n
Then use the Back button 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.
\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 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 file. Verify that the file 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 file. Verify that the file 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. 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
3. 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. 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
3. 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. 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
3. 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. 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
3. Go back to the cts-verifier tests using the back button, then mark the test accordingly.\n
Turn off work mode
This test verifes device behaviours when turning off work mode.
This test verifies the device behaviour 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 mode.
Open Settings to toggle work mode
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 mode is turned off.)
Please turn off work mode
Open settings to turn off work mode, using the button above.
Notifications when work mode is off
Verify that the previously-shown work notification has now disappeared.
Status bar icon when work mode is off
Now that work mode is off, please verify that the status bar shows an icon indicating that work mode is off.\n
Starting work apps when work mode is off
This test verifies that work applications cannot be started if work mode 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 mode back on
Open settings to turn work mode back on, using the button above.
Status bar icon when work mode is on
Now that work mode is back on, please verify that the status bar icon for work mode off is no longer visible.
Starting work apps when work mode is on
Now that work mode 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
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
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
Device Owner Provisioning
Device Owner provisioning tests
The device owner provisioning tests verify that setting up a corporate owned device can only be done on a factory reset device.
Device Owner Provisioning
Device owner negative test
Please 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
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
Please set the device owner by enabling USB debugging on the device and issuing the following command on the host:\n
adb shell dpm set-device-owner \'com.android.cts.verifier/com.android.cts.verifier.managedprovisioning.DeviceAdminTestReceiver\'
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 assist gesture are no longer available.\n
Next, press the button to reenable the status bar and verify that quick settings, notification
and the assist gesture are available again.\n
Please mark the test accordingly.
Disable status bar
Reenable status bar
Disable keyguard
Note that any device passwords that you might have set will be deleted during this test.\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 again.\n
Please mark the test accordingly.
Disable keyguard
Reenable keyguard
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 behaviour is observed.\n
Allow: Permission is granted to the app and cannot be changed through the settings UI. Trying to change it triggers a support message.\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. Trying to change it triggers a support message.\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
Next, connect your device to your desktop computer through USB, open the USB notification from the status bar
and check that the \"Transfer files (MTP)\" and \"Transfer photos (PTP)\" cannot be selected and triggers a support message when trying to select them.\n
Also, check that if you can download files from your phone to the desktop computer. The test is successful if the files from your phone are not and 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.\n
1. Press the set user icon button.\n
2. Press the go button to go to Settings.\n
3a. If there is a \"users\" section in Settings, check that the icon of the user \"owner\" is the CtsVerifier one and mark this test accordingly.\n
3b. If there is no \"users\" section, mark this test as passed.\n
Set user icon
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 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 Cellular 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.
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
Cannot establish a VPN connection.\n
Connection canceled by user.\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 open the Vpn settings page.\n
Confirm that:\n
- You cannot add a new VPN network.\n
- You cannot edit, add or remove any existing VPNs.\n
- Trying to perform any of the above actions will trigger a support message.\n\n
2. Press Check VPN to check programmatic Vpn test.\n
- Check Vpn setup\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.\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 "More details" 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 controlling apps
DISABLE/UNINSTALL/FORCE STOP-ing any app in the managed device/profile other than CtsVerifier
Disallow config cell broadcasts
Configuring cell broadcasts
Disallow config credentials
Configuring user credentials
Disallow config mobile networks
Configuring mobile networks
Disallow config tethering
Configuring tethering and portable hotspots
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 \'Unknown sources\' setting
Disallow modify accounts
Adding an account or removing an account (if you have already added one)
Disallow network reset
Resetting network settings
Disallow outgoing beam
Switching on android beam
Disallow remove user
Removing other users
Disallow share location
Turning on location sharing
Disallow uninstall apps
Uninstalling applications other CtsVerifier
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
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
Disallow \'Dummy Input method\' from permitted input methods by turning on the switch below.
Enabling \'Dummy Input Method\' in the list of accessibility services
Allow only system input methods:
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 behaviour 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 behaviour 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 get\s into stable charging state.
There seems to be a problem with your charger. Pleasy try again.
Connectivity Constraints
Verify the behaviour of the JobScheduler API for when the device has no access to data connectivity. Simply follow the on-screen instructions.
Disable WiFi and Cellular 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.
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 \"Fake\" rating for \"CtsVerifier\" rating
system in the parental control settings. If the rating system is disabled by default, enable it.
If the \"Fake\" 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.
No
Yes
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
Overlay View Dummy Text
Fake
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
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 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.
Please use the headphone connector to connect external speakers. Position the device 40 cms
from the speakers and proceed with the instructions on the screen.
The system will measure frequency response of the built in microphone.
Please connect external speakers using the headphone connector. Please unplug any USB audio device (if any)
External speakers ready
...
Please position the speakers 40 cms from the device under test and press TEST 1
Test 1
Waiting for USB microphone...
Please Connect USB microphone, position it next to
the built in microphone in the device and press USB reference 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 2
Results...
Audio Frequency Unprocessed Test
This test requires an external broadband noise source (or click/impulse).
Please be prepared to activate the noise source when asked to.
The system will measure frequency response of the built in microphone using the UNPROCESSED
audio source.
Audio Frequency Unprocessed feature is defined. Test is mandatory
Audio Frequency Unprocessed feature is NOT defined. Test is optional
Once you press the [TEST] button, you have 5 seconds to play a broadband sound (click or white noise).
Test 1
Results...