Тесты GTS ( GtsSafetyCenterTestCases
)
Тесты GTS накладывают ограничения на файл конфигурации. См. Обновление файла конфигурации . Устройство освобождается от этих тестов, если оно не поддерживает Safety Center.
Ограничения следующие:
- Должно быть не менее семи групп источников Safety Center, которые должны оставаться в неизмененном или дефолтном состоянии. Некоторые конкретные поля, такие как заголовки источников, начальное состояние отображения и сводка, иногда поддерживаются накладываемыми строками и могут быть изменены.
Для
GoogleAppSecuritySources
:- Не удаляйте и не изменяйте источник безопасности
GooglePlayProtect
. - Вы можете удалить или изменить источник безопасности
GoogleAppProtectionService
. Если он присутствует:- Он должен поддерживать ведение журнала.
- Если имя пакета не изменилось, в Android 13 оно должно иметь
initialDisplayState="hidden"
; в Android 14 и 15 вместо этого должен бытьissue-only-safety-source
, аdeduplicationGroup
должен оставаться неизменным; в Android 16 вместо этого он должен бытьdynamic-safety-source
, иметьinitialDisplayState="hidden"
и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
, то это действие должно быть разрешено. - Если в XML-файле присутствует намеренное действие
android.settings.PRIVACY_CONTROLS
, то это действие должно быть разрешено.
Тесты пользовательского интерфейса ( SafetyCenterActivityTest
)
Эти испытания гарантируют:
- Действие намерения
android.intent.action.SAFETY_CENTER
разрешается и открывает экран настроек безопасности и конфиденциальности , когда Центр безопасности включен, и экран настроек, когда Центр безопасности отключен.
Тесты API ( SafetyCenterManagerTest
)
Целью тестов API SafetyCenterManagerTest является обеспечение правильной работы API Центра безопасности.
Эти испытания гарантируют следующее:
-
SafetyCenterManager.isSafetyCenterEnabled
контролируется соответствующим флагомDeviceConfig
. - При отключении API Центра безопасности не работают.
- API Центра безопасности можно использовать только при наличии соответствующих разрешений.
- Данные могут быть предоставлены Центру безопасности только в соответствии с базовой конфигурацией.
- Когда данные поступают в Центр безопасности, они отображаются соответствующим образом.
- API соответствуют спецификациям, описанным в разделе Использование исходных API Центра безопасности , например, поведение обновления или повторного сканирования, настройка или очистка данных и сообщение об ошибках.
- Внутренние API, доступные пользовательскому интерфейсу, работают должным образом, например, данные надлежащим образом объединяются Центром безопасности, и данные можно обновлять.
Неподдерживаемый тест Центра безопасности ( SafetyCenterUnsupportedTest
)
Этот тест гарантирует, что Центр безопасности отключен, если устройство его не поддерживает, если поддержка отключена в XML-файле конфигурации фреймворка.
Если устройство поддерживает Safety Center, этот тест не запускается. Если устройство не поддерживает Safety Center, запускаются только этот тест и тесты классов данных.
Этот тест гарантирует следующее:
- Действие намерения
android.intent.action.SAFETY_CENTER
открывает экран настроек. -
SafetyCenterManager.isSafetyCenterEnabled
возвращаетfalse
. - Большинство API Центра безопасности не отвечают при вызове.
Тесты классов данных ( SafetySourceDataTest
, SafetySourceIssueTest
и т. д.)
Тесты классов данных, такие как SafetySourceDataTest
и SafetySourceIssueTest
гарантируют, что классы данных, предоставляемые Safety Center, работают так, как задумано, например, SafetySourceData
, SafetySourceIssue
и другие связанные внутренние классы.
Тесты MTS ( SafetyCenterFunctionalTestCases
и другие)
Эти тесты проводятся в основных обновлениях и применяются ко всем OEM-производителям, которые поддерживают PermissionController
. Требования, применяемые этими тестами, могут меняться в основных обновлениях.
Тесты API ( SafetyCenterManagerTest
)
Эти тесты аналогичны тесту CTS SafetyCenterManagerTest
, однако они проверяют требования, которые могут измениться при обновлениях основной версии, например:
- Проверка фактического содержания данных, возвращаемых внутренними API, доступными пользовательскому интерфейсу.
Тесты пользовательского интерфейса ( SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
и т. д.)
Эти испытания гарантируют:
- Перенаправление в Центр безопасности с определенными параметрами работает так, как и задумано, например, перенаправление к определенной проблеме. См. Перенаправление в Центр безопасности .
- Пользовательский интерфейс отображает правильное базовое состояние безопасности.
- Пользовательский интерфейс позволяет переходить на отдельные экраны.
- Пользовательский интерфейс позволяет решать проблемы безопасности непосредственно с экрана Центра безопасности, если указано
SafetySourceIssue
. - Пользовательский интерфейс сворачивает несколько карточек предупреждений в один элемент и позволяет развернуть его обратно в несколько карточек предупреждений.
- Данные обновляются при открытии страницы Центра безопасности для соответствующих источников Центра безопасности.
- Кнопка повторного сканирования появляется только при определенных обстоятельствах.
- Нажатие кнопки повторного сканирования извлекает новые данные.
Аналогичные тесты проводятся для Центра безопасности. См. Создание пользовательских плиток быстрых настроек для вашего приложения
Дополнительные пограничные случаи, такие как состояния ошибок и состояния ожидания.
Многопользовательские тесты ( SafetyCenterMultiUsersTest
)
Цель этих тестов — убедиться, что API работает правильно, когда данные предоставляются для нескольких пользователей или профилей. См. Предоставление данных для нескольких пользователей и профилей . Эта настройка достигается с помощью внутренней библиотеки, которая упрощает настройку отдельных пользователей и профилей на устройстве с помощью Bedstead.
Этот тест гарантирует следующее:
- Данные, принадлежащие пользователю, объединяются с его связанным управляемым профилем, если он существует.
- Только источники, отмеченные как
profile="all_profiles"
могут предоставлять данные в управляемом профиле пользователя. - Новая запись создается для каждого управляемого профиля, связанного с пользователем.
- Данные, принадлежащие одному пользователю, не попадают к другому несвязанному с ним пользователю.