1
1
package fr .free .nrw .commons .upload ;
2
2
3
3
import android .annotation .SuppressLint ;
4
+ import android .content .ContentValues ;
4
5
import android .content .Context ;
6
+ import android .database .Cursor ;
5
7
import android .net .Uri ;
8
+ import android .provider .MediaStore ;
6
9
import android .support .annotation .NonNull ;
7
10
import android .support .annotation .Nullable ;
8
11
38
41
public class UploadModel {
39
42
40
43
private static UploadItem DUMMY = new UploadItem (
41
- Uri .EMPTY ,
44
+ Uri .EMPTY , Uri . EMPTY ,
42
45
"" ,
43
46
"" ,
44
47
GPSExtractor .DUMMY ,
@@ -54,7 +57,7 @@ public class UploadModel {
54
57
private boolean bottomCardState = true ;
55
58
private boolean rightCardState = true ;
56
59
private int currentStepIndex = 0 ;
57
- private Context context ;
60
+ public static Context context ;
58
61
private Disposable badImageSubscription ;
59
62
60
63
private SessionManager sessionManager ;
@@ -108,7 +111,7 @@ private UploadItem getUploadItem(UploadableFile uploadableFile,
108
111
}
109
112
Timber .d ("File created date is %d" , fileCreatedDate );
110
113
GPSExtractor gpsExtractor = fileProcessor .processFileCoordinates (similarImageInterface );
111
- return new UploadItem (Uri .parse (uploadableFile .getFilePath ()), uploadableFile .getMimeType (context ), source , gpsExtractor , place , fileCreatedDate , createdTimestampSource );
114
+ return new UploadItem (uploadableFile . getContentUri (), Uri .parse (uploadableFile .getFilePath ()), uploadableFile .getMimeType (context ), source , gpsExtractor , place , fileCreatedDate , createdTimestampSource );
112
115
}
113
116
114
117
void onItemsProcessed (Place place , List <UploadItem > uploadItems ) {
@@ -327,6 +330,7 @@ public List<UploadItem> getItems() {
327
330
328
331
@ SuppressWarnings ("WeakerAccess" )
329
332
static class UploadItem {
333
+ private final Uri originalContentUri ;
330
334
private final Uri mediaUri ;
331
335
private final String mimeType ;
332
336
private final String source ;
@@ -344,10 +348,12 @@ static class UploadItem {
344
348
private BehaviorSubject <Integer > imageQuality ;
345
349
346
350
@ SuppressLint ("CheckResult" )
347
- UploadItem (Uri mediaUri , String mimeType , String source , GPSExtractor gpsCoords ,
351
+ UploadItem (Uri originalContentUri ,
352
+ Uri mediaUri , String mimeType , String source , GPSExtractor gpsCoords ,
348
353
@ Nullable Place place ,
349
354
long createdTimestamp ,
350
355
String createdTimestampSource ) {
356
+ this .originalContentUri = originalContentUri ;
351
357
this .createdTimestampSource = createdTimestampSource ;
352
358
title = new Title ();
353
359
descriptions = new ArrayList <>();
@@ -428,6 +434,14 @@ public String getFileName() {
428
434
public Place getPlace () {
429
435
return place ;
430
436
}
437
+
438
+ public Uri getContentUri () {
439
+ return originalContentUri ;
440
+ }
441
+
442
+ public Context getContext (){
443
+ return UploadModel .context ;
444
+ }
431
445
}
432
446
433
- }
447
+ }
0 commit comments