diff --git a/password_manager/src/main/kotlin/com/jeeldobariya/passcodes/password_manager/oldui/PasswordManagerActivity.kt b/password_manager/src/main/kotlin/com/jeeldobariya/passcodes/password_manager/oldui/PasswordManagerActivity.kt index 00ec9ecc..1b789ee8 100644 --- a/password_manager/src/main/kotlin/com/jeeldobariya/passcodes/password_manager/oldui/PasswordManagerActivity.kt +++ b/password_manager/src/main/kotlin/com/jeeldobariya/passcodes/password_manager/oldui/PasswordManagerActivity.kt @@ -4,7 +4,6 @@ import android.content.Intent import android.os.Bundle import android.view.View.GONE import android.widget.Toast -import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import androidx.core.view.WindowCompat @@ -30,43 +29,43 @@ class PasswordManagerActivity : AppCompatActivity() { private lateinit var binding: ActivityPasswordManagerBinding - private lateinit var exportCsvLauncher: ActivityResultLauncher + private val exportCsvLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == RESULT_OK) { + val uri = result.data?.data + requireNotNull(uri) - private lateinit var importCsvLauncher: ActivityResultLauncher + Toast.makeText(this@PasswordManagerActivity, "Exporting...", Toast.LENGTH_SHORT).show() - override fun onCreate(savedInstanceState: Bundle?) { - runBlocking { - setTheme(appDatastore.data.first().theme) + lifecycleScope.launch(Dispatchers.IO) { + exportPasswordUseCase(uri) + } + } else { + Toast.makeText(this@PasswordManagerActivity, "Something went wrong...", Toast.LENGTH_SHORT).show() } - super.onCreate(savedInstanceState) - binding = ActivityPasswordManagerBinding.inflate(layoutInflater) - setContentView(binding.root) + } + + private val importCsvLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == RESULT_OK) { + val uri = result.data?.data + requireNotNull(uri) - importCsvLauncher = registerForActivityResult( - ActivityResultContracts.StartActivityForResult() - ) { result -> - if (result.resultCode == RESULT_OK) { - val uri = result.data?.data - requireNotNull(uri) + Toast.makeText(this@PasswordManagerActivity, "Importing...", Toast.LENGTH_SHORT).show() - lifecycleScope.launch(Dispatchers.IO) { - importPasswordUseCase(uri) - } + lifecycleScope.launch(Dispatchers.IO) { + importPasswordUseCase(uri) } + } else { + Toast.makeText(this@PasswordManagerActivity, "Something went wrong...", Toast.LENGTH_SHORT).show() } + } - exportCsvLauncher = registerForActivityResult( - ActivityResultContracts.StartActivityForResult() - ) { result -> - if (result.resultCode == RESULT_OK) { - val uri = result.data?.data - requireNotNull(uri) - - lifecycleScope.launch(Dispatchers.IO) { - exportPasswordUseCase(uri) - } - } + override fun onCreate(savedInstanceState: Bundle?) { + runBlocking { + setTheme(appDatastore.data.first().theme) } + super.onCreate(savedInstanceState) + binding = ActivityPasswordManagerBinding.inflate(layoutInflater) + setContentView(binding.root) collectLatestLifecycleFlow(featureFlagsDatastore.data) { if (!it.isPreviewFeaturesEnabled) { @@ -120,7 +119,7 @@ class PasswordManagerActivity : AppCompatActivity() { private fun exportCsvFilePicker() { val intent = Intent(Intent.ACTION_CREATE_DOCUMENT).apply { addCategory(Intent.CATEGORY_OPENABLE) - type = "text/csv" + setType("text/comma-separated-values") putExtra(Intent.EXTRA_TITLE, "passwords.csv") } @@ -130,7 +129,7 @@ class PasswordManagerActivity : AppCompatActivity() { private fun importCsvFilePicker() { val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply { addCategory(Intent.CATEGORY_OPENABLE) - type = "text/*" + setType("text/comma-separated-values") putExtra(Intent.EXTRA_TITLE, "passwords.csv") }