Fix data export/import on Android V
The mime type mapping for sqlite files was added in https://r.android.com/2988915.
This commit is contained in:
1 parent
be1eecf3b5
commit
26921c8ae1
2 files changed
+6
-2
No files matched your search
@@ -46,6 +46,7 @@ import com.hippo.ehviewer.util.Crash
|
||||
import com.hippo.ehviewer.util.ReadableTime
|
||||
import com.hippo.ehviewer.util.getAppLanguage
|
||||
import com.hippo.ehviewer.util.getLanguages
|
||||
import com.hippo.ehviewer.util.isAtLeastV
|
||||
import com.hippo.ehviewer.util.setAppLanguage
|
||||
import com.hippo.unifile.asUniFile
|
||||
import com.jamal.composeprefs3.ui.prefs.DropDownPref
|
||||
@@ -179,11 +180,12 @@ fun AdvancedScreen(navigator: DestinationsNavigator) {
|
||||
}
|
||||
}
|
||||
val exportFailed = stringResource(id = R.string.settings_advanced_export_data_failed)
|
||||
val now = ReadableTime.getFilenamableTime(System.currentTimeMillis())
|
||||
LauncherPreference(
|
||||
title = stringResource(id = R.string.settings_advanced_export_data),
|
||||
summary = stringResource(id = R.string.settings_advanced_export_data_summary),
|
||||
contract = ActivityResultContracts.CreateDocument("application/vnd.sqlite3"),
|
||||
key = ReadableTime.getFilenamableTime(System.currentTimeMillis()) + ".db",
|
||||
key = if (isAtLeastV) now else "$now.db",
|
||||
) { uri ->
|
||||
uri?.let {
|
||||
context.runCatching {
|
||||
@@ -202,7 +204,7 @@ fun AdvancedScreen(navigator: DestinationsNavigator) {
|
||||
title = stringResource(id = R.string.settings_advanced_import_data),
|
||||
summary = stringResource(id = R.string.settings_advanced_import_data_summary),
|
||||
contract = ActivityResultContracts.GetContent(),
|
||||
key = "application/octet-stream",
|
||||
key = if (isAtLeastV) "application/vnd.sqlite3" else "application/octet-stream",
|
||||
) { uri ->
|
||||
uri?.let {
|
||||
context.runCatching {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.hippo.ehviewer.util
|
||||
|
||||
import android.os.Build
|
||||
import android.os.ext.SdkExtensions
|
||||
import androidx.core.os.BuildCompat
|
||||
|
||||
val isAtLeastN = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
||||
val isAtLeastO = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
@@ -12,4 +13,5 @@ val isAtLeastR = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
val isAtLeastS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
|
||||
val isAtLeastT = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU
|
||||
val isAtLeastU = Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE
|
||||
val isAtLeastV = BuildCompat.isAtLeastV()
|
||||
val isAtLeastSExtension7 = isAtLeastR && SdkExtensions.getExtensionVersion(Build.VERSION_CODES.S) >= 7
|
||||
Reference in new issue
Block a user