diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b068e33e..de2ea637 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,6 +22,7 @@ @@ -30,11 +31,6 @@ - - - @@ -49,6 +45,13 @@ + + + + { // import + val data = it.data + if (data != null) { + this.requestImportConfirmation(data) + } else { + throw IllegalStateException("URI null on import") + } + } + else -> { + Timber.d("Intent ${intent.action} unmanaged") + } + } + + } + + + } + private fun observeRealmObjects() { val realm = getRealm() @@ -125,4 +152,14 @@ class HomeActivity : PokerAnalyticsActivity() { viewPager.setCurrentItem(index, false) } + // Import + + fun requestImportConfirmation(uri: Uri) { + + showAlertDialog(this, R.string.import_confirmation, showCancelButton = true, positiveAction = { + ImportActivity.newInstance(this, uri) + }) + + } + } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/ImportActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/ImportActivity.kt index cd700239..55b8f7f9 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/ImportActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/ImportActivity.kt @@ -1,12 +1,9 @@ package net.pokeranalytics.android.ui.activity -import android.Manifest import android.content.Context import android.content.Intent -import android.content.pm.PackageManager import android.net.Uri import android.os.Bundle -import androidx.core.app.ActivityCompat import io.realm.Realm import net.pokeranalytics.android.R import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity @@ -18,7 +15,7 @@ class ImportActivity : PokerAnalyticsActivity() { private lateinit var fileURI: Uri enum class IntentKey(val keyName: String) { - FILE_PATH("filepath") + URI("uri") } companion object { @@ -26,13 +23,13 @@ class ImportActivity : PokerAnalyticsActivity() { /** * Create a new instance for result */ - fun newInstance(context: Context, filePath: String) { - context.startActivity(getIntent(context, filePath)) + fun newInstance(context: Context, uri: Uri) { + context.startActivity(getIntent(context, uri)) } - private fun getIntent(context: Context, filePath: String) : Intent { + private fun getIntent(context: Context, uri: Uri) : Intent { val intent = Intent(context, ImportActivity::class.java) - intent.putExtra(ImportActivity.IntentKey.FILE_PATH.keyName, filePath) + intent.putExtra(ImportActivity.IntentKey.URI.keyName, uri) return intent } } @@ -40,10 +37,7 @@ class ImportActivity : PokerAnalyticsActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - Timber.d("Start ImportActivity with URI: ${intent.data}") - intent?.data?.let { - this.fileURI = it - } + this.fileURI = intent.getParcelableExtra(ImportActivity.IntentKey.URI.keyName) setContentView(R.layout.activity_import) initUI() @@ -69,34 +63,21 @@ class ImportActivity : PokerAnalyticsActivity() { fragment.setData(it) } -// val -// CSVFormat.DEFAULT.parse() - -// val path = fileURI.path(contentResolver) -// Timber.d("Load fragment with path: ${path}") -// -// val file = File(path) -// Timber.d(">>>> length = ${file.length()}") -// -// path?.let { filePath -> -// fragment.setData(filePath) -// } - fragmentTransaction.add(R.id.container, fragment) fragmentTransaction.commit() } - private fun requestPermission() { - if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) { - ActivityCompat.requestPermissions( - this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), PERMISSION_REQUEST_ACCESS_FINE_LOCATION - ) - } - } - - override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults) - } +// private fun requestPermission() { +// if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) { +// ActivityCompat.requestPermissions( +// this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), PERMISSION_REQUEST_ACCESS_FINE_LOCATION +// ) +// } +// } +// +// override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { +// super.onRequestPermissionsResult(requestCode, permissions, grantResults) +// } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt index e7a8b8ff..177cd9e9 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt @@ -40,6 +40,7 @@ class ImportFragment : RealmFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + Timber.d("> onViewCreated...") this.startImport() } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 294ae6ba..48000625 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -31,6 +31,7 @@ Launch Report Progress Save Report + Do you want to proceed with the file import? Address Naming suggestions