mirror of
https://github.com/SimpleMobileTools/Simple-Notes.git
synced 2025-04-18 17:27:26 +02:00
handle the storage permission at opening a file
This commit is contained in:
parent
e2d44d7285
commit
af80a19f80
app/src/main
@ -3,6 +3,8 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.simplemobiletools.notes">
|
package="com.simplemobiletools.notes">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".App"
|
android:name=".App"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package com.simplemobiletools.notes.activities
|
package com.simplemobiletools.notes.activities
|
||||||
|
|
||||||
|
import android.Manifest
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.pm.PackageManager
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.support.v4.app.ActivityCompat
|
||||||
import android.support.v4.view.ViewPager
|
import android.support.v4.view.ViewPager
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
@ -9,10 +12,8 @@ import android.view.Menu
|
|||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
import com.simplemobiletools.commons.extensions.checkWhatsNew
|
import com.simplemobiletools.commons.dialogs.FilePickerDialog
|
||||||
import com.simplemobiletools.commons.extensions.storeStoragePaths
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.extensions.toast
|
|
||||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
|
||||||
import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
|
import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
|
||||||
import com.simplemobiletools.commons.helpers.LICENSE_RTL
|
import com.simplemobiletools.commons.helpers.LICENSE_RTL
|
||||||
import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
||||||
@ -31,6 +32,8 @@ import com.simplemobiletools.notes.models.Note
|
|||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
|
|
||||||
class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||||
|
val STORAGE_OPEN_FILE = 1
|
||||||
|
|
||||||
lateinit var mCurrentNote: Note
|
lateinit var mCurrentNote: Note
|
||||||
lateinit var mAdapter: NotesPagerAdapter
|
lateinit var mAdapter: NotesPagerAdapter
|
||||||
lateinit var mDb: DBHelper
|
lateinit var mDb: DBHelper
|
||||||
@ -103,7 +106,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
|||||||
R.id.new_note -> displayNewNoteDialog()
|
R.id.new_note -> displayNewNoteDialog()
|
||||||
R.id.rename_note -> displayRenameDialog()
|
R.id.rename_note -> displayRenameDialog()
|
||||||
R.id.share -> shareText()
|
R.id.share -> shareText()
|
||||||
R.id.open_file -> openFile()
|
R.id.open_file -> tryOpenFile()
|
||||||
R.id.save_as_file -> saveAsFile()
|
R.id.save_as_file -> saveAsFile()
|
||||||
R.id.delete_note -> displayDeleteNotePrompt()
|
R.id.delete_note -> displayDeleteNotePrompt()
|
||||||
R.id.settings -> startActivity(Intent(applicationContext, SettingsActivity::class.java))
|
R.id.settings -> startActivity(Intent(applicationContext, SettingsActivity::class.java))
|
||||||
@ -143,8 +146,18 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
|||||||
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_STETHO or LICENSE_RTL, BuildConfig.VERSION_NAME)
|
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_STETHO or LICENSE_RTL, BuildConfig.VERSION_NAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun openFile() {
|
private fun tryOpenFile() {
|
||||||
|
if (hasReadStoragePermission()) {
|
||||||
|
openFile()
|
||||||
|
} else {
|
||||||
|
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), STORAGE_OPEN_FILE)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun openFile() {
|
||||||
|
FilePickerDialog(this) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun saveAsFile() {
|
private fun saveAsFile() {
|
||||||
@ -206,6 +219,16 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
|
||||||
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||||
|
|
||||||
|
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
|
if (requestCode == STORAGE_OPEN_FILE) {
|
||||||
|
openFile()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onPageScrollStateChanged(state: Int) {
|
override fun onPageScrollStateChanged(state: Int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user