mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +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
|
||||
implements MediaDetailPagerFragment.MediaDetailProvider,
|
||||
AdapterView.OnItemClickListener,
|
||||
FragmentManager.OnBackStackChangedListener {
|
||||
FragmentManager.OnBackStackChangedListener,
|
||||
MultipleUploadListFragment.OnMultipleUploadInitiatedHandler {
|
||||
private CommonsApplication app;
|
||||
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> {
|
||||
|
||||
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
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch(item.getItemId()) {
|
||||
case R.id.menu_upload_multiple:
|
||||
|
||||
StartMultipleUploadTask startUploads = new StartMultipleUploadTask();
|
||||
Utils.executeAsyncTask(startUploads);
|
||||
return true;
|
||||
case android.R.id.home:
|
||||
if(mediaDetails.isVisible()) {
|
||||
getSupportFragmentManager().popBackStack();
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ import android.view.*;
|
|||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.*;
|
||||
import com.actionbarsherlock.app.SherlockFragment;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.nostra13.universalimageloader.core.*;
|
||||
|
||||
import org.wikimedia.commons.contributions.*;
|
||||
|
|
@ -18,15 +20,22 @@ import org.wikimedia.commons.media.*;
|
|||
|
||||
public class MultipleUploadListFragment extends SherlockFragment {
|
||||
|
||||
public interface OnMultipleUploadInitiatedHandler {
|
||||
public void OnMultipleUploadInitiated();
|
||||
}
|
||||
|
||||
private GridView photosGrid;
|
||||
private PhotoDisplayAdapter photosAdapter;
|
||||
private EditText baseTitle;
|
||||
|
||||
private Point photoSize;
|
||||
private MediaDetailPagerFragment.MediaDetailProvider detailProvider;
|
||||
private OnMultipleUploadInitiatedHandler multipleUploadInitiatedHandler;
|
||||
|
||||
private DisplayImageOptions uploadDisplayOptions;
|
||||
|
||||
private boolean imageOnlyMode;
|
||||
|
||||
private static class UploadHolderView {
|
||||
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
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_multiple_uploads_list, null);
|
||||
|
|
@ -152,12 +171,32 @@ public class MultipleUploadListFragment extends SherlockFragment {
|
|||
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
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
uploadDisplayOptions = Utils.getGenericDisplayOptions().build();
|
||||
detailProvider = (MediaDetailPagerFragment.MediaDetailProvider)getActivity();
|
||||
multipleUploadInitiatedHandler = (OnMultipleUploadInitiatedHandler) getActivity();
|
||||
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue