@@ -36,11 +36,13 @@ class MainActivity : SimpleActivity(), MyCanvas.PathsChangedListener {
3636 private val FILE_NAME = " simple-draw.png"
3737 private val SAVE_IMAGE = 1
3838 private val OPEN_FILE = 2
39+ private val OPEN_FILE_INTENT = 3
3940
4041 private var curPath = " "
4142 private var color = 0
4243 private var strokeWidth = 0f
4344 private var suggestedFileExtension = PNG
45+ private var openFileIntentPath = " "
4446
4547 override fun onCreate (savedInstanceState : Bundle ? ) {
4648 super .onCreate(savedInstanceState)
@@ -58,6 +60,16 @@ class MainActivity : SimpleActivity(), MyCanvas.PathsChangedListener {
5860 color_picker.setOnClickListener { pickColor() }
5961 undo.setOnClickListener { my_canvas.undo() }
6062 storeStoragePaths()
63+
64+ if (intent?.action == Intent .ACTION_VIEW && intent.data != null ) {
65+ val path = intent.data!! .path
66+ if (hasWriteStoragePermission()) {
67+ openPath(path)
68+ } else {
69+ openFileIntentPath = path
70+ ActivityCompat .requestPermissions(this , arrayOf(Manifest .permission.WRITE_EXTERNAL_STORAGE ), OPEN_FILE_INTENT )
71+ }
72+ }
6173 }
6274
6375 override fun onResume () {
@@ -100,6 +112,8 @@ class MainActivity : SimpleActivity(), MyCanvas.PathsChangedListener {
100112 saveImage()
101113 } else if (requestCode == OPEN_FILE ) {
102114 openFile()
115+ } else if (requestCode == OPEN_FILE_INTENT ) {
116+ openPath(openFileIntentPath)
103117 }
104118 } else {
105119 toast(R .string.no_storage_permissions)
0 commit comments