diff --git a/commons/res/layout/activity_share.xml b/commons/res/layout/activity_share.xml index 3a11f6121..4e7374520 100644 --- a/commons/res/layout/activity_share.xml +++ b/commons/res/layout/activity_share.xml @@ -16,11 +16,6 @@ android:id="@+id/single_upload_fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="#AA000000" - android:paddingBottom="8dip" - android:paddingLeft="16dip" - android:paddingRight="16dip" - android:paddingTop="8dip" /> \ No newline at end of file diff --git a/commons/res/layout/fragment_categorization.xml b/commons/res/layout/fragment_categorization.xml index aabbc9473..cbf99fa8b 100644 --- a/commons/res/layout/fragment_categorization.xml +++ b/commons/res/layout/fragment_categorization.xml @@ -3,7 +3,13 @@ + android:layout_height="match_parent" + android:background="#AA000000" + android:paddingBottom="8dip" + android:paddingLeft="16dip" + android:paddingRight="16dip" + android:paddingTop="8dip" + > + android:orientation="vertical" + android:background="#AA000000" + android:paddingBottom="8dip" + android:paddingLeft="16dip" + android:paddingRight="16dip" + android:paddingTop="8dip" + > photosList = null; private MultipleUploadListFragment uploadsList; private MediaDetailPagerFragment mediaDetails; + private CategorizationFragment categorizationFragment; public MultipleShareActivity() { @@ -61,6 +66,26 @@ public class MultipleShareActivity public void OnMultipleUploadInitiated() { StartMultipleUploadTask startUploads = new StartMultipleUploadTask(); Utils.executeAsyncTask(startUploads); + uploadsList.setImageOnlyMode(true); + + categorizationFragment = (CategorizationFragment) this.getSupportFragmentManager().findFragmentByTag("categorization"); + if(categorizationFragment == null) { + categorizationFragment = new CategorizationFragment(); + } + getSupportFragmentManager().beginTransaction() + .add(R.id.uploadsFragmentContainer, categorizationFragment, "categorization") + .commit(); + } + + public void onCategoriesSave(ArrayList categories) { + ContentProviderClient client = getContentResolver().acquireContentProviderClient(ModificationsContentProvider.AUTHORITY); + for(Contribution contribution: photosList) { + ModifierSequence categoriesSequence = new ModifierSequence(contribution.getContentUri()); + categoriesSequence.queueModifier(new CategoryModifier(categories.toArray(new String[]{}))); + categoriesSequence.setContentProviderClient(client); + categoriesSequence.save(); + } + finish(); } private class StartMultipleUploadTask extends AsyncTask { @@ -115,7 +140,6 @@ public class MultipleShareActivity dialog.dismiss(); Toast startingToast = Toast.makeText(getApplicationContext(), R.string.uploading_started, Toast.LENGTH_LONG); startingToast.show(); - finish(); } } diff --git a/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java b/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java index 81a36f367..a9d21b57c 100644 --- a/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java @@ -41,6 +41,8 @@ public class MultipleUploadListFragment extends SherlockFragment { ImageView image; TextView title; + + RelativeLayout overlay; } private class PhotoDisplayAdapter extends BaseAdapter { @@ -65,6 +67,7 @@ public class MultipleUploadListFragment extends SherlockFragment { holder = new UploadHolderView(); holder.image = (ImageView) view.findViewById(R.id.uploadImage); holder.title = (TextView) view.findViewById(R.id.uploadTitle); + holder.overlay = (RelativeLayout) view.findViewById(R.id.uploadOverlay); holder.image.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, photoSize.y)); @@ -81,7 +84,12 @@ public class MultipleUploadListFragment extends SherlockFragment { holder.imageUri = up.getLocalUri(); } - holder.title.setText(up.getFilename()); + if(!imageOnlyMode) { + holder.overlay.setVisibility(View.VISIBLE); + holder.title.setText(up.getFilename()); + } else { + holder.overlay.setVisibility(View.GONE); + } return view; @@ -126,7 +134,7 @@ public class MultipleUploadListFragment extends SherlockFragment { } else { baseTitle.setVisibility(View.VISIBLE); } - photosAdapter.notifyDataSetInvalidated(); + photosAdapter.notifyDataSetChanged(); } @Override