GTS 測試 (GtsSafetyCenterTestCases
)
GTS 測試會對設定檔強制套用限制。請參閱「更新設定檔」。如果裝置不支援 Safety Center,則可免除這些測試。
限制如下:
- 至少應有七個 Safety Center 來源群組,且應保持在未修改或預設狀態。部分特定欄位 (例如來源標題、初始顯示狀態和摘要) 有時會受到可重疊字串支援,且可以修改。
針對
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 14 中,deduplicationGroup
必須保持不變。 - 其他安全性來源是指與生物特徵辨識解鎖機制相關的來源,應包含
maxSeverityLevel="0"
。
- 您必須使用群組的
在 Android 13 中,請勿修改
GoogleAccountSources
、GoogleDeviceFinderSources
或AndroidAdvancedSources
。在 Android 14 中,您可以移除這些群組中引入的新來源 (例如備份與還原),也可以將新的靜態來源附加至AndroidAdvancedSources
群組。針對
GoogleUpdateSources
:- 您可以變更
GoogleSecurityUpdates
的intentAction
,使用字串疊加層修改。 - 請勿修改
GooglePlaySystemUpdate
。
- 您可以變更
針對
AndroidPrivacySources
:- 您可以新增、移除或修改部分來源,前提是這些來源必須是
issue-only
。 - 必須保留
packageName="com.google.android.permissioncontroller"
。 - 請勿修改其餘
AndroidPrivacySources
來源。
- 您可以新增、移除或修改部分來源,前提是這些來源必須是
對於其他安全性來源群組 (如有):
- 群組不應包含
summary
或statelessIconType
,否則會產生SAFETY_SOURCES_GROUP_TYPE_RIGID
群組 (在 Android 14 中為SAFETY_SOURCES_GROUP_TYPE_STATELESS
)。 - 每個群組中的每個來源都應為靜態來源,或具有
maxSeverityLevel="0"
,例如允許傳送灰色或綠色項目,但沒有任何問題。
- 群組不應包含
CTS 測試 (CtsSafetyCenterTestCases
)
從 Android 13 開始,CTS 測試適用於所有支援 PermissionController
的 OEM。
設定檔測試 (XmlConfigTest
)
這些測試可確保:
- 剖析的 XML 設定檔與 Safety Center 剖析及公開的設定相符,且剖析成功。
- 如果 XML 檔案中有意圖動作
android.settings.PRIVACY_ADVANCED_SETTINGS
,則必須解決這個問題。 - 如果 XML 檔案中含有意圖動作
android.settings.PRIVACY_CONTROLS
,則必須解析這項動作。
UI 測試 (SafetyCenterActivityTest
)
這些測試可確保:
android.intent.action.SAFETY_CENTER
意圖動作會在安全中心啟用時解析並開啟「安全性與隱私權」設定畫面,在安全中心停用時則會開啟「設定」畫面。
API 測試 (SafetyCenterManagerTest
)
SafetyCenterManagerTest API 測試的目標,是確保 Safety Center API 能正常運作。
這些測試可確保以下事項:
SafetyCenterManager.isSafetyCenterEnabled
由相關聯的DeviceConfig
標記控制。- 停用後,Safety Center API 將不會執行任何操作。
- 只有在擁有相關權限時,才能使用 Safety Center API。
- 您只能根據基礎設定提供資料給 Safety Center。
- 當 Safety Center 收到資料時,就會顯示相關內容。
- 這些 API 符合「使用 Safety Center 來源 API」一文所述的規格,例如重新整理或重新掃描行為、設定或清除資料,以及回報錯誤。
- 公開給使用者介面的內部 API 運作正常,例如 Safety Center 會適當合併資料,且資料可進行重新整理。
不支援的安全中心測試 (SafetyCenterUnsupportedTest
)
這項測試可確保在裝置不支援 Safety Center 且架構 XML 設定檔中已停用支援功能時,Safety Center 會停用。
如果裝置支援安全中心,系統就不會執行這項測試。如果裝置不支援安全中心,則只會執行這項測試和資料類別測試。
這項測試可確保以下事項:
android.intent.action.SAFETY_CENTER
意圖動作會開啟「設定」畫面。SafetyCenterManager.isSafetyCenterEnabled
會傳回false
。- 呼叫時,大多數安全中心 API 都不會回應。
資料類別測試 (SafetySourceDataTest
、SafetySourceIssueTest
等)
資料類別測試 (例如 SafetySourceDataTest
和 SafetySourceIssueTest
) 可確保 Safety Center 公開的資料類別正常運作,例如 SafetySourceData
、SafetySourceIssue
和其他相關的內部類別。
MTS 測試 (SafetyCenterFunctionalTestCases
和其他)
這些測試會在主線更新中執行,並套用至所有支援 PermissionController
的原始設備製造商。這些測試強制執行的規定,可能會隨著主系列更新而變更。
API 測試 (SafetyCenterManagerTest
)
這些測試與 CTS 測試 SafetyCenterManagerTest
類似,但會測試主系列更新可能變更的規定,例如:
- 檢查內部 API 傳回至 UI 的資料實際內容
UI 測試 (SafetyCenterActivityTest
、SafetyCenterStatusCardTest
、SafetyCenterQsActivityTest
等)
這些測試可確保:
- 使用特定參數將內容重新導向至安全中心的功能運作正常,例如重新導向至特定問題。請參閱「重新導向至安全中心」一文。
- UI 會顯示正確的基礎安全狀態。
- 使用者介面可讓您前往不同的畫面。
- 當
SafetySourceIssue
指定時,使用者介面可直接從安全中心畫面解決安全性問題。 - UI 會將單一項目的多個警告資訊卡收合,並允許將其展開為多個警告資訊卡。
- 開啟相關安全中心來源的安全中心頁面時,系統會重新整理資料。
- 只有在特定情況下,系統才會顯示重新掃描按鈕。
- 輕觸「重新掃描」按鈕可擷取新資料。
我們也對安全中心進行類似的測試。請參閱「為應用程式建立自訂「快速設定」方塊」
其他極端情況,例如錯誤狀態和待處理狀態。
多位使用者測試 (SafetyCenterMultiUsersTest
)
這些測試的目標是確保在為多位使用者或個人資料提供資料時,API 能正常運作。請參閱「為多位使用者和設定檔提供資料」。這項設定是透過使用內部程式庫來完成,方便使用 Bedstead 在裝置上設定個別使用者和設定檔。
這項測試可確保以下事項:
- 屬於使用者的資料會與相關的受管理設定檔 (如有) 合併。
- 只有標有
profile="all_profiles"
的來源才能在使用者受管理的設定檔中提供資料。 - 系統會為每個與使用者相關聯的受管理設定檔建立新項目。
- 單一使用者的資料不會洩露給其他不相關的使用者。