mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Move Multiple upload menu handling code to Fragment
This commit is contained in:
parent
02658588df
commit
87c09c344b
3 changed files with 46 additions and 12 deletions
|
|
@ -22,7 +22,8 @@ public class MultipleShareActivity
|
||||||
extends AuthenticatedActivity
|
extends AuthenticatedActivity
|
||||||
implements MediaDetailPagerFragment.MediaDetailProvider,
|
implements MediaDetailPagerFragment.MediaDetailProvider,
|
||||||
AdapterView.OnItemClickListener,
|
AdapterView.OnItemClickListener,
|
||||||
FragmentManager.OnBackStackChangedListener {
|
FragmentManager.OnBackStackChangedListener,
|
||||||
|
MultipleUploadListFragment.OnMultipleUploadInitiatedHandler {
|
||||||
private CommonsApplication app;
|
private CommonsApplication app;
|
||||||
private ArrayList<Contribution> photosList = null;
|
private ArrayList<Contribution> photosList = null;
|
||||||
|
|
||||||
|
|
@ -57,6 +58,11 @@ public class MultipleShareActivity
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnMultipleUploadInitiated() {
|
||||||
|
StartMultipleUploadTask startUploads = new StartMultipleUploadTask();
|
||||||
|
Utils.executeAsyncTask(startUploads);
|
||||||
|
}
|
||||||
|
|
||||||
private class StartMultipleUploadTask extends AsyncTask<Void, Integer, Void> {
|
private class StartMultipleUploadTask extends AsyncTask<Void, Integer, Void> {
|
||||||
|
|
||||||
ProgressDialog dialog;
|
ProgressDialog dialog;
|
||||||
|
|
@ -127,20 +133,9 @@ public class MultipleShareActivity
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
getSupportMenuInflater().inflate(R.menu.activity_multiple_share, menu);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch(item.getItemId()) {
|
switch(item.getItemId()) {
|
||||||
case R.id.menu_upload_multiple:
|
|
||||||
|
|
||||||
StartMultipleUploadTask startUploads = new StartMultipleUploadTask();
|
|
||||||
Utils.executeAsyncTask(startUploads);
|
|
||||||
return true;
|
|
||||||
case android.R.id.home:
|
case android.R.id.home:
|
||||||
if(mediaDetails.isVisible()) {
|
if(mediaDetails.isVisible()) {
|
||||||
getSupportFragmentManager().popBackStack();
|
getSupportFragmentManager().popBackStack();
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ import android.view.*;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.*;
|
import android.widget.*;
|
||||||
import com.actionbarsherlock.app.SherlockFragment;
|
import com.actionbarsherlock.app.SherlockFragment;
|
||||||
|
import com.actionbarsherlock.view.Menu;
|
||||||
|
import com.actionbarsherlock.view.MenuItem;
|
||||||
import com.nostra13.universalimageloader.core.*;
|
import com.nostra13.universalimageloader.core.*;
|
||||||
|
|
||||||
import org.wikimedia.commons.contributions.*;
|
import org.wikimedia.commons.contributions.*;
|
||||||
|
|
@ -18,15 +20,22 @@ import org.wikimedia.commons.media.*;
|
||||||
|
|
||||||
public class MultipleUploadListFragment extends SherlockFragment {
|
public class MultipleUploadListFragment extends SherlockFragment {
|
||||||
|
|
||||||
|
public interface OnMultipleUploadInitiatedHandler {
|
||||||
|
public void OnMultipleUploadInitiated();
|
||||||
|
}
|
||||||
|
|
||||||
private GridView photosGrid;
|
private GridView photosGrid;
|
||||||
private PhotoDisplayAdapter photosAdapter;
|
private PhotoDisplayAdapter photosAdapter;
|
||||||
private EditText baseTitle;
|
private EditText baseTitle;
|
||||||
|
|
||||||
private Point photoSize;
|
private Point photoSize;
|
||||||
private MediaDetailPagerFragment.MediaDetailProvider detailProvider;
|
private MediaDetailPagerFragment.MediaDetailProvider detailProvider;
|
||||||
|
private OnMultipleUploadInitiatedHandler multipleUploadInitiatedHandler;
|
||||||
|
|
||||||
private DisplayImageOptions uploadDisplayOptions;
|
private DisplayImageOptions uploadDisplayOptions;
|
||||||
|
|
||||||
|
private boolean imageOnlyMode;
|
||||||
|
|
||||||
private static class UploadHolderView {
|
private static class UploadHolderView {
|
||||||
Uri imageUri;
|
Uri imageUri;
|
||||||
|
|
||||||
|
|
@ -110,6 +119,16 @@ public class MultipleUploadListFragment extends SherlockFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setImageOnlyMode(boolean mode) {
|
||||||
|
imageOnlyMode = mode;
|
||||||
|
if(imageOnlyMode) {
|
||||||
|
baseTitle.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
baseTitle.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
photosAdapter.notifyDataSetInvalidated();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.fragment_multiple_uploads_list, null);
|
View view = inflater.inflate(R.layout.fragment_multiple_uploads_list, null);
|
||||||
|
|
@ -152,12 +171,32 @@ public class MultipleUploadListFragment extends SherlockFragment {
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreateOptionsMenu(Menu menu, com.actionbarsherlock.view.MenuInflater inflater) {
|
||||||
|
super.onCreateOptionsMenu(menu, inflater);
|
||||||
|
menu.clear();
|
||||||
|
inflater.inflate(R.menu.fragment_multiple_upload_list, menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch(item.getItemId()) {
|
||||||
|
case R.id.menu_upload_multiple:
|
||||||
|
multipleUploadInitiatedHandler.OnMultipleUploadInitiated();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
uploadDisplayOptions = Utils.getGenericDisplayOptions().build();
|
uploadDisplayOptions = Utils.getGenericDisplayOptions().build();
|
||||||
detailProvider = (MediaDetailPagerFragment.MediaDetailProvider)getActivity();
|
detailProvider = (MediaDetailPagerFragment.MediaDetailProvider)getActivity();
|
||||||
|
multipleUploadInitiatedHandler = (OnMultipleUploadInitiatedHandler) getActivity();
|
||||||
|
|
||||||
|
setHasOptionsMenu(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue