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
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.
Preferences
Files
Loading...
Generate Test Data
Error occurred while generating test data...
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.
Settings
Policy Serialization Test
This test checks that a device policy is properly
saved and loaded across reboots.\n\nPress the \"Generate Policy\" button to create
a random policy. Then press the \"Apply Policy\" button to apply the policy. Reboot the
device and verify that all rows in the policy list are green. Red items indicate policy
settings that were not loaded properly.
Car Dock Test
This test ensures that car mode opens the app associated with
car dock when going into car mode.\n\n
Click on "Enable Car Mode" to start the test. Clicking on the button will either bring up a
disambiguation dialog asking which app to open or immediately open the CAR_DOCK application.
Select the "CTS Verifier" app and then "Always" if the dialog pops up.
This will open the CAR_DOCK application.\n\n
In the CAR_DOCK application, press the home button, which will enable the pass button if the
framework correctly tries to open the CAR_DOCK app again.
Enable Car Mode
Press the Home button
1. Press the \"Generate Policy\" to create a random device
policy\n\n2. Press \"Apply Policy\" to put the policy into effect.\n\n3. Reboot your
device and return to this test in the CTS Verifier.
Generate Policy
Apply Policy
Random policy generated.
Reboot your device and return to this CTS Verifier test.
Password Quality
Alphabetic
Alphanumeric
Numeric
Something
Minimum Password Length
Maximum Failed Passwords for Wipe
Maximum Time to Lock
Expected value: %1$s\nActual value: %2$s
Screen Lock Test
This test checks that the DevicePolicyManager\'s lockNow
method immediately locks the screen. It should lock the screen immediately despite any
settings that may specify a timeout.\n\nClick the \"Force Lock\" button to lock the screen.
Your screen should be locked and require the password to be entered.
Force Lock
It appears the screen was locked successfully!
It does not look like the screen was locked...
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
All new phones and tablets MUST support near-ultrasound recording.\n
Report FAIL if this is a new device, report PASS if this is an updating device.\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
All new phones and tablets MUST support near-ultrasound playback.\n
Report FAIL if this is a new device, report PASS if this is an updating device.\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.
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
HCE reader tests
HCE emulator tests
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 "Favor foreground app" setting to be enabled. Tap OK to go to Tap and Pay settings and check the Favor foreground app option
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
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 XCheck
Rotation Vector CV XCheck 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
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. \n
5. Return to CTS verifier app. \n
6. Pass button will light up if intent was received.\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. \n
5. Return to CTS verifier app. \n
6. Pass button will light up if intent was received.\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.\n
4. Pass button will light up if intent 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.\n
4. Pass button will light up if intent 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 run the \'cts-usb-accessory\' program
included with the CTS Verifier bundle.
\n\n2. 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\n3. You should see the accessory and the CTS Verifier display a series of messages
which indicates that the accessory support is working properly.
USB accessory feature is not available?
If your device is supposed to support USB accessories, your API implementation is not behaving correctly!
Received Messages
Sent Messages
No messages
Starting message processing...
Exception occurred while processing a message...
Stopping message processing...
Received all expected messages. Pass button enabled!
Could not open file descriptor for USB accessory... try reconnecting and restarting the accessory?
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 20+ minutes to run.
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
Start the \"GO Negotiation Requester Test\" on the other device and follow
the instructions.
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.
Start the \"GO Negotiation Responder Test\" on the other device.
Then run each test individually by clicking on it\'s name.
Start the \"Group Owner Test\" on the other device.
Then run each test individually by clicking on it\'s name.
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. 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. 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. 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\" under \"App notifications\" in the \"Sound & notifications\" settings panel, and mark it as having notification priority.
Find \"%s\" under \"App notifications\" in the \"Sound & notifications\" settings panel, and make sure it has default priority.
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 15 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.
Please enable \"Notification Listener for CTS Verifier\"
under Security > Notification Access and return here.
Please disable \"Notification Listener for CTS Verifier\"
under Security > 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.
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.
Please look at the new notification and confirm: It say the network may be monitored. Tapping it brings up a more detailed explanation and a button to check trusted credentials. 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
Touch \'Next\' to begin.
Credentials generated. Touch \'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, touch \'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
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.
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.
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.\n
Ringtone: silent.\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
Further, you should also be able to touch them and they should highlight as usual.
Projection Widget Test
Up
Down
Left
Right
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.
CTS Verifier - AfW Admin
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 - AfW Admin\" as active admin.\n
After that please press the \"Prepare test\" button to disable trust agents.\n
Then please press through the following verification steps.\n
Note: Device password will be set to \"testpassword\". After leaving the screen device
password and active admin status will be cleared.
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 screen is shown as disabled by the administrator.
Then please press Back and mark the 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\".
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\", you can not see the contents
(Which would read \"This is a work notification\").\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 work notification
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
- Both Personal and Work categories exist.\n
- \"CTS Verifier - AfW Admin\" exists under the Work category, and is activated.\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.\n
\n
Then use the Back button to return to this test and mark accordingly.
Profile-aware battery settings
Please press the Go button to open Battery page in settings.\n
\n
Verify that Battery page shows both badged and unbadged apps in the usage list.\n
\n
Note that the usage list only displays usage since last charge,
so you may need to unplug your device and use a badged and unbadged app
for a little while before they will appear in the list.\n
\n
Then use the Back button to return to this test and mark accordingly.
Profile-aware data usage settings
Please press the Go button to open the Settings page.\n
\n
Navigate to Data usage page and confirm that it includes a Work profile section,
and that tapping it shows just work profile 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 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
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 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.\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.\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.
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 - AfW Admin\" exists and is activated.\n
- \"CTS Verifier - AfW Admin\" 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
- You cannot edit, add or remove any already paired devices.\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
- You cannot edit, add or remove any existing WiFi configs.\n
\n
Use the Back button to return to this page.
Set restriction
Go
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.
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.
Unplug the device in order to begin.
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, plug the device back in to continue. If the above failed, you can simply fail this test.
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 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?
Yes
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.
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.
Launch TV app
Launch EPG
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 be resumed 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 be rewinded.
The playback should be fast-forwarded.
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.
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 Devices Notifications Test
Click the "Clear Messages" button then connect and disconnect a wired headset.
Note if the appropriate notification messages appear below.
Clear Messages
CONNECT DETECTED
DISCONNECT DETECTED
Audio Routing Notifications Test
Click on the "Play" button in the AudioTrack Routing Notifictions 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
Repeat the process with "Record" and "Stop" button in the AudioRecord Routing
Notifications section below.
Play
Stop
Record
Stop
AudioTrack Routing Notifications
AudioRecord Routing Notifications
AudioTrack rerouting
AudioRecord rerouting
Audio Loopback Latency Test
This test requires the Loopback Plug. Please connect a Loopback Plug on 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 adecuate 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 twice the response of the mono speaker.
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...