Тесты GTS ( GtsSafetyCenterTestCases
)
Тесты GTS накладывают ограничения на файл конфигурации. См. Обновление файла конфигурации . Устройство освобождается от этих тестов, если оно не поддерживает Центр безопасности.
Ограничения заключаются в следующем:
- Должно быть не менее семи групп источников Центра безопасности, которые должны оставаться в неизмененном состоянии или состоянии по умолчанию. Некоторые конкретные поля, такие как названия источников, исходное состояние отображения и сводка, иногда поддерживаются накладываемыми строками и могут быть изменены.
Для
GoogleAppSecuritySources
:- Не удаляйте и не изменяйте источник безопасности
GooglePlayProtect
. - Вы можете удалить или изменить источник безопасности
GoogleAppProtectionService
. Если он присутствует:- Он должен поддерживать ведение журнала.
- Если имя пакета не изменилось, в Android 13 оно должно иметь
initialDisplayState="hidden"
; в Android 14 вместо этого он должен бытьissue-only-safety-source
аdeduplicationGroup
должна оставаться неизменной. - Если имя пакета изменено, оно должно содержать роль
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
; кроме того, в Android 14 не должно бытьdeduplicationGroup
.
- Не удаляйте и не изменяйте источник безопасности
Для
AndroidLockScreenSources
:- Требуется
summary
экземпляр группы, и вы можете изменить его, в том числе с помощью наложения строки. - Должен быть хотя бы один безопасный источник.
- Первый источник безопасности предназначен для управления настройками экрана блокировки, и он не должен иметь возможности сообщать о проблемах или записях более серьезного, чем
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
или вплоть до желтой записи или предупреждающих карточек). В Android 14deduplicationGroup
должна оставаться неизменной. - Другие источники безопасности предназначены для источников, связанных с механизмами биометрической разблокировки, и они должны иметь
maxSeverityLevel="0"
.
- Требуется
В Android 13 не изменяйте
GoogleAccountSources
,GoogleDeviceFinderSources
илиAndroidAdvancedSources
. В Android 14 вы можете удалить некоторые новые источники, представленные в этих группах (например, резервное копирование и восстановление), а также добавить новые статические источники в группуAndroidAdvancedSources
.Для
GoogleUpdateSources
:- Вы можете изменить
intentAction
дляGoogleSecurityUpdates
и изменить его с помощью наложения строки. - Не изменяйте
GooglePlaySystemUpdate
.
- Вы можете изменить
Для
AndroidPrivacySources
:- Вы можете добавлять, удалять или изменять некоторые источники, если они
issue-only
. - Они должны сохранить
packageName="com.google.android.permissioncontroller"
. - Не изменяйте остальную часть источников
AndroidPrivacySources
.
- Вы можете добавлять, удалять или изменять некоторые источники, если они
Для остальных групп безопасных источников (если таковые имеются):
- Группы не должны иметь
summary
илиstatelessIconType
, что приводит к созданию группыSAFETY_SOURCES_GROUP_TYPE_RIGID
(SAFETY_SOURCES_GROUP_TYPE_STATELESS
в Android 14). - Каждый источник в каждой группе должен быть либо статическим, либо иметь
maxSeverityLevel="0"
, например, ему разрешено отправлять серые или зеленые записи, но без проблем.
- Группы не должны иметь
CTS-тесты ( CtsSafetyCenterTestCases
)
Начиная с Android 13, тесты CTS применяются ко всем OEM-производителям, поддерживающим PermissionController
.
Тесты файла конфигурации ( XmlConfigTest
)
Эти тесты гарантируют:
- Проанализированный XML-файл конфигурации соответствует конфигурации, проанализированной и предоставленной Центром безопасности, и этот анализ прошел успешно.
- Если в XML-файле присутствует намеренное действие
android.settings.PRIVACY_ADVANCED_SETTINGS
, то это действие должно быть разрешено. - Если намеренное действие
android.settings.PRIVACY_CONTROLS
присутствует в XML-файле, это действие должно быть разрешено.
Тесты пользовательского интерфейса ( SafetyCenterActivityTest
)
Эти тесты гарантируют:
- Действие намерения
android.intent.action.SAFETY_CENTER
разрешается и открывает экран настроек безопасности и конфиденциальности , когда центр безопасности включен, и экран настроек, когда центр безопасности отключен.
Тесты API ( SafetyCenterManagerTest
)
Цель тестов API SafetyCenterManagerTest — убедиться, что API-интерфейсы Центра безопасности работают должным образом.
Эти тесты гарантируют следующее:
-
SafetyCenterManager.isSafetyCenterEnabled
управляется соответствующим флагомDeviceConfig
. - Если этот параметр отключен, API-интерфейсы Центра безопасности не работают.
- API-интерфейсы Центра безопасности можно использовать только при наличии соответствующих разрешений.
- Данные могут быть предоставлены в Центр безопасности только в соответствии с базовой конфигурацией.
- Когда данные передаются в Центр безопасности, они отображаются соответствующим образом.
- API-интерфейсы соответствуют спецификациям, описанным в разделе Использование исходных API-интерфейсов Центра безопасности , например, поведение обновления или повторного сканирования, настройка или очистка данных, а также отчеты об ошибках.
- Внутренние API, доступные для пользовательского интерфейса, работают правильно, например, данные правильно объединяются Центром безопасности, и данные можно обновить.
Неподдерживаемый тест Центра безопасности ( SafetyCenterUnsupportedTest
)
Этот тест гарантирует, что Центр безопасности отключен, если устройство его не поддерживает, когда поддержка отключена в XML-файле конфигурации платформы.
Если устройство поддерживает Центр безопасности, этот тест не запускается. Если устройство не поддерживает Центр безопасности, выполняется только этот тест и тесты классов данных.
Этот тест гарантирует следующее:
- Действие намерения
android.intent.action.SAFETY_CENTER
открывает экран настроек. -
SafetyCenterManager.isSafetyCenterEnabled
возвращаетfalse
. - Большинство API-интерфейсов Центра безопасности не отвечают при вызове.
Тесты классов данных ( SafetySourceDataTest
, SafetySourceIssueTest
и т. д.)
Тесты классов данных, такие как SafetySourceDataTest
и SafetySourceIssueTest
гарантируют, что классы данных, предоставляемые Центром безопасности, работают должным образом, например SafetySourceData
, SafetySourceIssue
и другие связанные внутренние классы.
MTS-тесты ( SafetyCenterFunctionalTestCases
и другие)
Эти тесты выполняются для основных обновлений и применяются ко всем OEM-производителям, поддерживающим PermissionController
. Требования, предъявляемые этими тестами, могут меняться в зависимости от основных обновлений.
Тесты API ( SafetyCenterManagerTest
)
Эти тесты аналогичны тесту CTS SafetyCenterManagerTest
, однако они проверяют требования, которые могут меняться в зависимости от основных обновлений, например:
- Проверка фактического содержания данных, возвращаемых внутренними API, предоставляемыми пользовательскому интерфейсу.
Тесты пользовательского интерфейса ( SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
и т. д.)
Эти тесты гарантируют:
- Перенаправление в Центр безопасности с определенными параметрами работает по назначению, например, перенаправление на конкретную проблему. См. Перенаправление в Центр безопасности .
- Пользовательский интерфейс отображает правильное базовое состояние безопасности.
- Пользовательский интерфейс позволяет переходить на отдельные экраны.
- Пользовательский интерфейс позволяет решать проблемы безопасности непосредственно с экрана Центра безопасности, если это указано в
SafetySourceIssue
. - Пользовательский интерфейс сворачивает несколько карточек с предупреждениями в один элемент и позволяет развернуть его обратно на несколько карточек с предупреждениями.
- Данные обновляются при открытии страницы Центра безопасности для соответствующих источников Центра безопасности.
- Кнопка повторного сканирования появляется только при определенных обстоятельствах.
- Нажатие кнопки повторного сканирования позволяет получить новые данные.
Аналогичные испытания проводятся и для Центра безопасности. См. раздел Создание пользовательских плиток быстрых настроек для вашего приложения.
Дополнительные пограничные случаи, такие как состояния ошибки и состояния ожидания.
Многопользовательские тесты ( SafetyCenterMultiUsersTest
)
Цель этих тестов — убедиться, что API работает надлежащим образом, когда данные предоставляются нескольким пользователям или профилям. См. раздел Предоставление данных для нескольких пользователей и профилей . Эта настройка достигается за счет использования внутренней библиотеки, которая упрощает настройку отдельных пользователей и профилей на устройстве с помощью Bedstead.
Этот тест гарантирует следующее:
- Данные, принадлежащие пользователю, объединяются со связанным с ним управляемым профилем, если он существует.
- Только источники, помеченные
profile="all_profiles"
могут предоставлять данные в управляемом профиле пользователя. - Новая запись создается для каждого управляемого профиля, связанного с пользователем.
- Данные, принадлежащие одному пользователю, не передаются другому несвязанному пользователю.