cb5e4242bca1
fix: Match browser export filenames (v2.3.30)
- time
- 2026-06-26 09:09 UTC · 4 months ago
- machine
- koh2
- parent
- f6b8ff169519
↓ peach-android-cb5e4242.tar.gzatlas at this save
files changed3 files
app/build.gradle+2 −2app/src/main/java/com/peachpasswords/ui/vault/ExportScreen.kt+6 −2app/src/test/java/com/peachpasswords/ui/vault/ExportRoundTripTest.kt+7 −0app/build.gradle+2 −2
@@ -16,8 +16,8 @@1616 applicationId "com.peachpasswords"1717 minSdk 261818 targetSdk 3519- versionCode 23290020- versionName "2.3.29"19+ versionCode 23300020+ versionName "2.3.30"2121 2222 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"2323 vectorDrawables {app/src/main/java/com/peachpasswords/ui/vault/ExportScreen.kt+6 −2
@@ -58,6 +58,7 @@5858 import com.peachpasswords.vault.VaultRepository5959 import dagger.hilt.android.lifecycle.HiltViewModel6060 import dagger.hilt.android.qualifiers.ApplicationContext61+import java.time.LocalDate6162 import javax.inject.Inject6263 6364 // ─────────────────────────────────────────────────────────────────────────────@@ -123,6 +124,9 @@123124 const val COPIED = "Copied to clipboard."124125 }125126 127+internal fun exportFileName(prefix: String, extension: String, date: LocalDate = LocalDate.now()): String =128+ "$prefix-${date}.$extension"129+126130 private enum class ExportRoute { CHOOSE, PEACHSCRIPT, CSV }127131 128132 @Composable@@ -314,7 +318,7 @@314318 }315319 Spacer(Modifier.size(8.dp))316320 GhostButton("Save to file", peachColors.T1) {317- saveLauncher.launch("peach-backup.peach")321+ saveLauncher.launch(exportFileName("peach-backup", "peach"))318322 }319323 status?.let {320324 Spacer(Modifier.size(12.dp))@@ -369,7 +373,7 @@369373 AccentButton(370374 label = "Export CSV",371375 enabled = acknowledged && !isEmpty,372- onClick = { saveLauncher.launch("peach-export.csv") },376+ onClick = { saveLauncher.launch(exportFileName("peach-export", "csv")) },373377 )374378 status?.let {375379 Spacer(Modifier.size(12.dp))app/src/test/java/com/peachpasswords/ui/vault/ExportRoundTripTest.kt+7 −0
@@ -4,6 +4,7 @@44 import org.junit.Assert.assertEquals55 import org.junit.Assert.assertTrue66 import org.junit.Test7+import java.time.LocalDate78 89 class ExportRoundTripTest {910 @@ -57,5 +58,11 @@5758 val blob = PeachScriptExport.buildEncrypted(listOf(entry()), "backup-pass-12")5859 val r = PeachScriptImport.decryptAndParse(blob, "wrong-password")5960 assertTrue(r is PeachScriptImport.DecryptResult.WrongPassword)61+ }62+63+ @Test fun export_file_names_match_browser_date_format() {64+ val date = LocalDate.of(2026, 6, 26)65+ assertEquals("peach-backup-2026-06-26.peach", exportFileName("peach-backup", "peach", date))66+ assertEquals("peach-export-2026-06-26.csv", exportFileName("peach-export", "csv", date))6067 }6168 }