@@ -157,6 +157,20 @@ export class ImagePicker {
157
157
}
158
158
}
159
159
160
+ get mimeTypes ( ) {
161
+ let length = this . mediaType === "*/*" ? 2 : 1 ;
162
+ let mimeTypes = Array . create ( java . lang . String , length ) ;
163
+
164
+ if ( this . mediaType === "*/*" ) {
165
+ mimeTypes [ 0 ] = "image/*" ;
166
+ mimeTypes [ 1 ] = "video/*" ;
167
+ }
168
+ else {
169
+ mimeTypes [ 0 ] = this . mediaType ;
170
+ }
171
+ return mimeTypes ;
172
+ }
173
+
160
174
authorize ( ) : Promise < void > {
161
175
if ( ( < any > android ) . os . Build . VERSION . SDK_INT >= 23 ) {
162
176
return permissions . requestPermission ( [ ( < any > android ) . Manifest . permission . READ_EXTERNAL_STORAGE ] ) ;
@@ -227,19 +241,9 @@ export class ImagePicker {
227
241
let intent = new Intent ( ) ;
228
242
intent . setType ( this . mediaType ) ;
229
243
230
- let length = this . mediaType === "*/*" ? 2 : 1 ;
231
- let mimeTypes = Array . create ( java . lang . String , length ) ;
232
-
233
- if ( this . mediaType === "*/*" ) {
234
- mimeTypes [ 0 ] = "image/*" ;
235
- mimeTypes [ 1 ] = "video/*" ;
236
- }
237
- else {
238
- mimeTypes [ 0 ] = this . mediaType ;
239
- }
240
-
241
244
// not in platform-declaration typings
242
- intent . putExtra ( ( android . content . Intent as any ) . EXTRA_MIME_TYPES , mimeTypes ) ;
245
+ intent . putExtra ( ( android . content . Intent as any ) . EXTRA_MIME_TYPES , this . mimeTypes ) ;
246
+
243
247
// TODO: Use (<any>android).content.Intent.EXTRA_ALLOW_MULTIPLE
244
248
if ( this . mode === 'multiple' ) {
245
249
intent . putExtra ( "android.intent.extra.ALLOW_MULTIPLE" , true ) ;
0 commit comments