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);
}