Remove storage permission requirement
It's not necessary for importing/exporting blocked numbers or keywords. See https://github.com/FossifyOrg/Messages/discussions/309
This commit is contained in:
parent
23f52cb8c8
commit
6531f9f104
2 changed files with 17 additions and 58 deletions
|
|
@ -15,10 +15,6 @@
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
|
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
|
||||||
|
|
||||||
<uses-permission
|
|
||||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
||||||
android:maxSdkVersion="28" />
|
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.USE_BIOMETRIC"
|
android:name="android.permission.USE_BIOMETRIC"
|
||||||
|
|
|
||||||
|
|
@ -5,24 +5,17 @@ import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import org.fossify.commons.dialogs.ExportBlockedNumbersDialog
|
|
||||||
import org.fossify.commons.dialogs.FilePickerDialog
|
|
||||||
import org.fossify.commons.extensions.beVisibleIf
|
import org.fossify.commons.extensions.beVisibleIf
|
||||||
import org.fossify.commons.extensions.getFileOutputStream
|
|
||||||
import org.fossify.commons.extensions.getProperPrimaryColor
|
import org.fossify.commons.extensions.getProperPrimaryColor
|
||||||
import org.fossify.commons.extensions.getTempFile
|
import org.fossify.commons.extensions.getTempFile
|
||||||
import org.fossify.commons.extensions.showErrorToast
|
import org.fossify.commons.extensions.showErrorToast
|
||||||
import org.fossify.commons.extensions.toFileDirItem
|
|
||||||
import org.fossify.commons.extensions.toast
|
import org.fossify.commons.extensions.toast
|
||||||
import org.fossify.commons.extensions.underlineText
|
import org.fossify.commons.extensions.underlineText
|
||||||
import org.fossify.commons.extensions.updateTextColors
|
import org.fossify.commons.extensions.updateTextColors
|
||||||
import org.fossify.commons.extensions.viewBinding
|
import org.fossify.commons.extensions.viewBinding
|
||||||
import org.fossify.commons.helpers.ExportResult
|
import org.fossify.commons.helpers.ExportResult
|
||||||
import org.fossify.commons.helpers.NavigationIcon
|
import org.fossify.commons.helpers.NavigationIcon
|
||||||
import org.fossify.commons.helpers.PERMISSION_READ_STORAGE
|
|
||||||
import org.fossify.commons.helpers.PERMISSION_WRITE_STORAGE
|
|
||||||
import org.fossify.commons.helpers.ensureBackgroundThread
|
import org.fossify.commons.helpers.ensureBackgroundThread
|
||||||
import org.fossify.commons.helpers.isQPlus
|
|
||||||
import org.fossify.commons.interfaces.RefreshRecyclerViewListener
|
import org.fossify.commons.interfaces.RefreshRecyclerViewListener
|
||||||
import org.fossify.messages.R
|
import org.fossify.messages.R
|
||||||
import org.fossify.messages.databinding.ActivityManageBlockedKeywordsBinding
|
import org.fossify.messages.databinding.ActivityManageBlockedKeywordsBinding
|
||||||
|
|
@ -120,27 +113,13 @@ class ManageBlockedKeywordsActivity : SimpleActivity(), RefreshRecyclerViewListe
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun tryImportBlockedKeywords() {
|
private fun tryImportBlockedKeywords() {
|
||||||
if (isQPlus()) {
|
val mimeType = "text/plain"
|
||||||
val mimeType = "text/plain"
|
try {
|
||||||
try {
|
importActivityResultLauncher.launch(mimeType)
|
||||||
importActivityResultLauncher.launch(mimeType)
|
} catch (e: ActivityNotFoundException) {
|
||||||
} catch (e: ActivityNotFoundException) {
|
toast(org.fossify.commons.R.string.system_service_disabled, Toast.LENGTH_LONG)
|
||||||
toast(org.fossify.commons.R.string.system_service_disabled, Toast.LENGTH_LONG)
|
} catch (e: Exception) {
|
||||||
} catch (e: Exception) {
|
showErrorToast(e)
|
||||||
showErrorToast(e)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
handlePermission(PERMISSION_READ_STORAGE) { isAllowed ->
|
|
||||||
if (isAllowed) {
|
|
||||||
pickFileToImportBlockedKeywords()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun pickFileToImportBlockedKeywords() {
|
|
||||||
FilePickerDialog(this) {
|
|
||||||
importBlockedKeywords(it)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -200,32 +179,16 @@ class ManageBlockedKeywordsActivity : SimpleActivity(), RefreshRecyclerViewListe
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun tryExportBlockedNumbers() {
|
private fun tryExportBlockedNumbers() {
|
||||||
if (isQPlus()) {
|
ExportBlockedKeywordsDialog(this, config.lastBlockedKeywordExportPath, true) { file ->
|
||||||
ExportBlockedKeywordsDialog(this, config.lastBlockedKeywordExportPath, true) { file ->
|
try {
|
||||||
try {
|
exportActivityResultLauncher.launch(file.name)
|
||||||
exportActivityResultLauncher.launch(file.name)
|
} catch (e: ActivityNotFoundException) {
|
||||||
} catch (e: ActivityNotFoundException) {
|
toast(
|
||||||
toast(
|
org.fossify.commons.R.string.system_service_disabled,
|
||||||
org.fossify.commons.R.string.system_service_disabled,
|
Toast.LENGTH_LONG
|
||||||
Toast.LENGTH_LONG
|
)
|
||||||
)
|
} catch (e: Exception) {
|
||||||
} catch (e: Exception) {
|
showErrorToast(e)
|
||||||
showErrorToast(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
handlePermission(PERMISSION_WRITE_STORAGE) { isAllowed ->
|
|
||||||
if (isAllowed) {
|
|
||||||
ExportBlockedNumbersDialog(
|
|
||||||
this,
|
|
||||||
config.lastBlockedKeywordExportPath,
|
|
||||||
false
|
|
||||||
) { file ->
|
|
||||||
getFileOutputStream(file.toFileDirItem(this), true) { out ->
|
|
||||||
exportBlockedKeywordsTo(out)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue