From b3424c2fb69f3b66964edd3623972290436dc882 Mon Sep 17 00:00:00 2001 From: Om Godse Date: Sat, 25 Feb 2023 12:13:22 +0530 Subject: [PATCH] Added check if email app isn't installed --- .../java/com/omgodse/notally/MenuDialog.kt | 6 ++-- .../notally/fragments/NotallyFragment.kt | 8 +++--- .../com/omgodse/notally/fragments/Settings.kt | 28 ++++++++++--------- app/src/main/res/values/strings.xml | 7 +---- 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/omgodse/notally/MenuDialog.kt b/app/src/main/java/com/omgodse/notally/MenuDialog.kt index 6b5d7821..6d56c3cb 100644 --- a/app/src/main/java/com/omgodse/notally/MenuDialog.kt +++ b/app/src/main/java/com/omgodse/notally/MenuDialog.kt @@ -25,9 +25,9 @@ class MenuDialog(context: Context) : BottomSheetDialog(context) { setContentView(scrollView) } - fun add(title: Int, drawable: Int = 0, onClick: () -> Unit): MenuDialog { + fun add(title: String, drawable: Int = 0, onClick: () -> Unit): MenuDialog { val item = MenuItemBinding.inflate(layoutInflater, linearLayout, true).root - item.setText(title) + item.text = title item.setOnClickListener { dismiss() onClick() @@ -35,4 +35,6 @@ class MenuDialog(context: Context) : BottomSheetDialog(context) { item.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable, 0, 0, 0) return this } + + fun add(title: Int, drawable: Int = 0, onClick: () -> Unit) = add(context.getString(title), drawable, onClick) } \ No newline at end of file diff --git a/app/src/main/java/com/omgodse/notally/fragments/NotallyFragment.kt b/app/src/main/java/com/omgodse/notally/fragments/NotallyFragment.kt index 9c941c7f..02d22402 100644 --- a/app/src/main/java/com/omgodse/notally/fragments/NotallyFragment.kt +++ b/app/src/main/java/com/omgodse/notally/fragments/NotallyFragment.kt @@ -184,10 +184,10 @@ abstract class NotallyFragment : Fragment(), ItemListener { private fun export(baseNote: BaseNote) { MenuDialog(requireContext()) - .add(R.string.pdf) { exportToPDF(baseNote) } - .add(R.string.txt) { exportToTXT(baseNote) } - .add(R.string.json) { exportToJSON(baseNote) } - .add(R.string.html) { exportToHTML(baseNote) } + .add("PDF") { exportToPDF(baseNote) } + .add("TXT") { exportToTXT(baseNote) } + .add("JSON") { exportToJSON(baseNote) } + .add("HTML") { exportToHTML(baseNote) } .show() } diff --git a/app/src/main/java/com/omgodse/notally/fragments/Settings.kt b/app/src/main/java/com/omgodse/notally/fragments/Settings.kt index c98eb135..e9e9c691 100644 --- a/app/src/main/java/com/omgodse/notally/fragments/Settings.kt +++ b/app/src/main/java/com/omgodse/notally/fragments/Settings.kt @@ -99,9 +99,9 @@ class Settings : Fragment() { if (resultCode == Activity.RESULT_OK) { intent?.data?.let { uri -> when (requestCode) { - RequestCodeImportXml -> model.importXmlBackup(uri) - RequestCodeImportZip -> model.importZipBackup(uri) - RequestCodeChooseFolder -> model.setAutoBackupPath(uri) + REQUEST_IMPORT_XML -> model.importXmlBackup(uri) + REQUEST_IMPORT_ZIP -> model.importZipBackup(uri) + REQUEST_CHOOSE_FOLDER -> model.setAutoBackupPath(uri) Constants.RequestCodeExportFile -> model.exportBackup(uri) } } @@ -119,8 +119,8 @@ class Settings : Fragment() { private fun importBackup() { MenuDialog(requireContext()) - .add(R.string.zip) { launchImportActivity("application/zip", RequestCodeImportZip) } - .add(R.string.xml) { launchImportActivity("text/xml", RequestCodeImportXml) } + .add("ZIP") { launchImportActivity("application/zip", REQUEST_IMPORT_ZIP) } + .add("XML (Legacy)") { launchImportActivity("text/xml", REQUEST_IMPORT_XML) } .show() } @@ -146,7 +146,11 @@ class Settings : Fragment() { intent.putExtra(Intent.EXTRA_STREAM, uri) } - startActivity(intent) + try { + startActivity(intent) + } catch (exception: ActivityNotFoundException) { + Toast.makeText(requireContext(), R.string.install_an_email, Toast.LENGTH_LONG).show() + } } private fun displayLibraries() { @@ -170,7 +174,7 @@ class Settings : Fragment() { .setMessage(R.string.notes_will_be) .setPositiveButton(R.string.choose_folder) { _, _ -> val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE) - startActivityForResult(intent, RequestCodeChooseFolder) + startActivityForResult(intent, REQUEST_CHOOSE_FOLDER) } .show() } @@ -246,10 +250,8 @@ class Settings : Fragment() { Toast.makeText(requireContext(), R.string.install_a_browser, Toast.LENGTH_LONG).show() } } +} - companion object { - private const val RequestCodeImportXml = 20 - private const val RequestCodeImportZip = 21 - private const val RequestCodeChooseFolder = 22 - } -} \ No newline at end of file +private const val REQUEST_IMPORT_XML = 20 +private const val REQUEST_IMPORT_ZIP = 21 +private const val REQUEST_CHOOSE_FOLDER = 22 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fe260d34..f50b7141 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -38,12 +38,6 @@ Take note Add label Export - PDF - TXT - ZIP - HTML - JSON - XML (Legacy) View file Save to device Edit label @@ -77,6 +71,7 @@ Invalid backup Imported backup Something went wrong. Please try again. + Install an email app to send feedback Install a browser to open this link