mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Added menu option to Upload from Gallery
This commit is contained in:
parent
86711188e1
commit
999b8a0c0e
5 changed files with 47 additions and 3 deletions
|
|
@ -43,6 +43,7 @@
|
|||
android:name=".contributions.ContributionsActivity"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:uiOptions="splitActionBarWhenNarrow"
|
||||
>
|
||||
<intent-filter>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
|
|
|
|||
|
|
@ -39,4 +39,5 @@
|
|||
<string name="title_activity_contributions">My Contributions</string>
|
||||
<string name="contribution_state_queued">Queued</string>
|
||||
<string name="contribution_state_in_progress">Uploading</string>
|
||||
<string name="menu_from_gallery">From Gallery</string>
|
||||
</resources>
|
||||
|
|
@ -37,8 +37,8 @@ public class ImageLoaderTask extends AsyncTask<Uri, String, Bitmap> {
|
|||
Cursor cursor = view.getContext().getContentResolver().query(photoUri,
|
||||
new String[] { MediaStore.Images.ImageColumns.ORIENTATION }, null, null, null);
|
||||
|
||||
if (cursor.getCount() != 1) {
|
||||
return -1;
|
||||
if (cursor == null || cursor.getCount() != 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
cursor.moveToFirst();
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ public class UploadService extends IntentService {
|
|||
if(mimeType.startsWith("image/")) {
|
||||
Cursor cursor = this.getContentResolver().query(mediaUri,
|
||||
new String[]{MediaStore.Images.ImageColumns.DATE_TAKEN}, null, null, null);
|
||||
if(cursor.getCount() != 0) {
|
||||
if(cursor != null && cursor.getCount() != 0) {
|
||||
cursor.moveToFirst();
|
||||
dateCreated = new Date(cursor.getLong(0));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,12 +12,15 @@ import android.os.Bundle;
|
|||
import android.support.v4.content.*;
|
||||
import android.support.v4.widget.CursorAdapter;
|
||||
import android.support.v4.widget.SimpleCursorAdapter;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import com.actionbarsherlock.app.SherlockFragmentActivity;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||
|
|
@ -27,6 +30,7 @@ import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
|||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||
import org.wikimedia.commons.ImageLoaderTask;
|
||||
import org.wikimedia.commons.R;
|
||||
import org.wikimedia.commons.ShareActivity;
|
||||
import org.wikimedia.commons.UploadService;
|
||||
import org.wikimedia.commons.auth.AuthenticatedActivity;
|
||||
import org.wikimedia.commons.auth.WikiAccountAuthenticator;
|
||||
|
|
@ -37,6 +41,8 @@ import java.util.Date;
|
|||
// Inherit from SherlockFragmentActivity but not use Fragments. Because Loaders are available only from FragmentActivities
|
||||
public class ContributionsActivity extends AuthenticatedActivity implements LoaderManager.LoaderCallbacks<Cursor> {
|
||||
|
||||
private final static int SELECT_FROM_GALLERY = 1;
|
||||
|
||||
public ContributionsActivity() {
|
||||
super(WikiAccountAuthenticator.COMMONS_ACCOUNT_TYPE);
|
||||
}
|
||||
|
|
@ -153,6 +159,42 @@ public class ContributionsActivity extends AuthenticatedActivity implements Load
|
|||
requestAuthToken();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
switch(requestCode) {
|
||||
case SELECT_FROM_GALLERY:
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch(item.getItemId()) {
|
||||
case R.id.menu_from_gallery:
|
||||
Intent pickImageIntent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
pickImageIntent.setType("image/*");
|
||||
startActivityForResult(pickImageIntent, SELECT_FROM_GALLERY);
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getSupportMenuInflater().inflate(R.menu.activity_contributions, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
|
||||
return new CursorLoader(this, ContributionsContentProvider.BASE_URI, CONTRIBUTIONS_PROJECTION, CONTRIBUTION_SELECTION, null, CONTRIBUTION_SORT);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue