1package com.peachpasswords.security23import java.io.File4import org.junit.Assert.assertTrue5import org.junit.Test67class SecureFlagCoverageTest {8 @Test fun secret_surfaces_keep_flag_secure_coverage() {9 val protectedScreens = listOf(10 "app/src/main/java/com/peachpasswords/ui/vault/EntryDetailScreen.kt",11 "app/src/main/java/com/peachpasswords/ui/vault/EntryEditScreen.kt",12 "app/src/main/java/com/peachpasswords/ui/vault/NotesModeScreen.kt",13 "app/src/main/java/com/peachpasswords/ui/vault/ExportScreen.kt",14 "app/src/main/java/com/peachpasswords/ui/vault/RecoveryWordsScreen.kt",15 "app/src/main/java/com/peachpasswords/ui/recovery/RecoveryWordEntryScreen.kt",16 "app/src/main/java/com/peachpasswords/ui/codex/CodexGenerateScreen.kt",17 )1819 protectedScreens.forEach { relativePath ->20 val file = File(relativePath).takeIf { it.exists() } ?: File("../$relativePath")21 val source = file.readText()22 assertTrue(23 "$relativePath must protect screenshots while visible",24 source.contains("SecureFlagEffect()") || source.contains("WindowManager.LayoutParams.FLAG_SECURE"),25 )26 }27 }28}