1
1
package re.flande.xshare
2
2
3
+ import android.app.Activity
3
4
import android.app.AlertDialog
4
5
import android.content.ActivityNotFoundException
5
6
import android.content.ClipboardManager
@@ -16,6 +17,8 @@ import android.widget.PopupMenu
16
17
17
18
class MainActivity : PreferenceActivity () {
18
19
20
+ val RES_UPLOADER_ADD = 0
21
+
19
22
override fun onCreate (savedInstanceState : Bundle ? ) {
20
23
super .onCreate(savedInstanceState)
21
24
addPreferencesFromResource(R .xml.preferences)
@@ -68,6 +71,12 @@ class MainActivity : PreferenceActivity() {
68
71
69
72
startActivity(intent)
70
73
}
74
+ R .id.action_addfromfile -> {
75
+ val intent = Intent (Intent .ACTION_OPEN_DOCUMENT )
76
+ .addCategory(Intent .CATEGORY_OPENABLE )
77
+ .setType(" */*" )
78
+ startActivityForResult(intent, RES_UPLOADER_ADD )
79
+ }
71
80
R .id.action_addfromsample -> startActivity(Intent (this , ChooseSampleActivity ::class .java))
72
81
}
73
82
@@ -105,4 +114,28 @@ class MainActivity : PreferenceActivity() {
105
114
106
115
return super .onOptionsItemSelected(item)
107
116
}
117
+
118
+ override fun onActivityResult (requestCode : Int , resultCode : Int , data : Intent ? ) {
119
+ super .onActivityResult(requestCode, resultCode, data)
120
+
121
+ if (resultCode == Activity .RESULT_CANCELED )
122
+ return
123
+
124
+ if (resultCode != Activity .RESULT_OK || data == null ) {
125
+ AlertDialog .Builder (this )
126
+ .setMessage(" some error here, result $resultCode data null ${data == null } " )
127
+ .show()
128
+ return
129
+ }
130
+
131
+ when (requestCode) {
132
+ RES_UPLOADER_ADD -> {
133
+ val intent = Intent (this , ImportActivity ::class .java)
134
+ .addFlags(Intent .FLAG_ACTIVITY_MULTIPLE_TASK )
135
+ .addFlags(Intent .FLAG_ACTIVITY_NEW_TASK )
136
+ .setData(data.data)
137
+ startActivity(intent)
138
+ }
139
+ }
140
+ }
108
141
}
0 commit comments