diff --git a/commons/res/menu/activity_contributions.xml b/commons/res/menu/activity_contributions.xml new file mode 100644 index 000000000..b5bd49ca2 --- /dev/null +++ b/commons/res/menu/activity_contributions.xml @@ -0,0 +1,14 @@ + + + + diff --git a/commons/res/values/strings.xml b/commons/res/values/strings.xml index b108c3524..5b26c9151 100644 --- a/commons/res/values/strings.xml +++ b/commons/res/values/strings.xml @@ -40,4 +40,5 @@ Queued Uploading From Gallery + Take Photo \ No newline at end of file diff --git a/commons/src/main/java/org/wikimedia/commons/UploadService.java b/commons/src/main/java/org/wikimedia/commons/UploadService.java index c3e131e01..4be4d2fa3 100644 --- a/commons/src/main/java/org/wikimedia/commons/UploadService.java +++ b/commons/src/main/java/org/wikimedia/commons/UploadService.java @@ -159,7 +159,7 @@ public class UploadService extends IntentService { if(cursor != null && cursor.getCount() != 0) { cursor.moveToFirst(); dateCreated = new Date(cursor.getLong(0)); - } + } // FIXME: Alternate way of setting dateCreated if this data is not found } /* else if (mimeType.startsWith("audio/")) { Removed Audio implementationf or now } */ diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java index d2d763e00..d75ffb594 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java @@ -2,6 +2,7 @@ package org.wikimedia.commons.contributions; import android.graphics.Bitmap; import android.net.Uri; +import android.provider.MediaStore; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; @@ -42,6 +43,7 @@ import java.util.Date; public class ContributionsActivity extends AuthenticatedActivity implements LoaderManager.LoaderCallbacks { private final static int SELECT_FROM_GALLERY = 1; + private final static int SELECT_FROM_CAMERA = 2; public ContributionsActivity() { super(WikiAccountAuthenticator.COMMONS_ACCOUNT_TYPE); @@ -171,8 +173,18 @@ public class ContributionsActivity extends AuthenticatedActivity implements Load shareIntent.setType("image/*"); //FIXME: Find out appropriate mime type shareIntent.putExtra(Intent.EXTRA_STREAM, data.getData()); startActivity(shareIntent); - break; } + break; + case SELECT_FROM_CAMERA: + if(resultCode == RESULT_OK) { + Intent shareIntent = new Intent(this, ShareActivity.class); + shareIntent.setAction(Intent.ACTION_SEND); + Log.d("Commons", "Type is " + data.getType() + " Uri is " + data.getData()); + shareIntent.setType("image/*"); //FIXME: Find out appropriate mime type + shareIntent.putExtra(Intent.EXTRA_STREAM, data.getData()); + startActivity(shareIntent); + } + break; } } @@ -184,6 +196,10 @@ public class ContributionsActivity extends AuthenticatedActivity implements Load pickImageIntent.setType("image/*"); startActivityForResult(pickImageIntent, SELECT_FROM_GALLERY); return true; + case R.id.menu_from_camera: + Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + startActivityForResult(takePictureIntent, SELECT_FROM_CAMERA); + return true; default: return super.onOptionsItemSelected(item); }