diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java index f57c8e239..6d417cee4 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java @@ -95,7 +95,7 @@ public class ContributionController { public void handleImagePicked(int requestCode, @Nullable Uri uri, boolean isDirectUpload, String wikiDataEntityId) { FragmentActivity activity = fragment.getActivity(); - Timber.d("handleImagePicked() called with onActivityResult()"); + Timber.d("handleImagePicked() called with onActivityResult(). Boolean isDirectUpload: " + isDirectUpload + "String wikiDataEntityId: " + wikiDataEntityId); Intent shareIntent = new Intent(activity, ShareActivity.class); shareIntent.setAction(ACTION_SEND); switch (requestCode) { @@ -113,21 +113,26 @@ public class ContributionController { shareIntent.setType("image/jpeg"); shareIntent.putExtra(EXTRA_STREAM, lastGeneratedCaptureUri); shareIntent.putExtra(EXTRA_SOURCE, SOURCE_CAMERA); - break; default: break; } + Timber.i("Image selected"); + shareIntent.putExtra("isDirectUpload", isDirectUpload); + Timber.d("Put extras into image intent, isDirectUpload is " + isDirectUpload); + try { - shareIntent.putExtra("isDirectUpload", isDirectUpload); if (wikiDataEntityId != null && !wikiDataEntityId.equals("")) { shareIntent.putExtra(WIKIDATA_ENTITY_ID_PREF, wikiDataEntityId); } - activity.startActivity(shareIntent); } catch (SecurityException e) { Timber.e(e, "Security Exception"); } + + if (activity != null) { + activity.startActivity(shareIntent); + } } void saveState(Bundle outState) { diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index 8f81e93af..e06aeae6d 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -351,9 +351,7 @@ public class ShareActivity if (Intent.ACTION_SEND.equals(intent.getAction())) { mediaUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); - contentProviderUri = mediaUri; - mediaUri = ContributionUtils.saveFileBeingUploadedTemporarily(this, mediaUri); if (intent.hasExtra(UploadService.EXTRA_SOURCE)) { @@ -361,7 +359,10 @@ public class ShareActivity } else { source = Contribution.SOURCE_EXTERNAL; } - if (intent.hasExtra("isDirectUpload")) { + + boolean isDirectUpload = intent.getBooleanExtra("isDirectUpload", false); + + if (isDirectUpload) { Timber.d("This was initiated by a direct upload from Nearby"); isNearbyUpload = true; wikiDataEntityId = intent.getStringExtra(WIKIDATA_ENTITY_ID_PREF);