Skip to content

Commit d0df2ff

Browse files
authored
commons-app#4005 For images in set removed if user selected one image (commons-app#4022)
* commons-app#4005 For images in set removed if user selected one image * commons-app#4005 changed code as suggested * fixed syntax * added javadoc * added more java doc * refactored to more meaningful documentation * reverted the Project.xml file * cleaned documentations a little bit
1 parent a94a28f commit d0df2ff

File tree

5 files changed

+76
-3
lines changed

5 files changed

+76
-3
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
44
package="fr.free.nrw.commons">
5+
<uses-permission android:name="android.permission.INTERNET"/>
56

67
<uses-permission android:name="android.permission.INTERNET" />
78
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
import java.util.List;
5757
import javax.inject.Inject;
5858
import javax.inject.Named;
59+
import kotlin.reflect.jvm.internal.impl.load.kotlin.JvmType.Object;
60+
import kotlin.reflect.jvm.internal.impl.util.Checks;
5961
import timber.log.Timber;
6062

6163
public class UploadActivity extends BaseActivity implements UploadContract.View, UploadBaseFragment.Callback {
@@ -108,6 +110,10 @@ public class UploadActivity extends BaseActivity implements UploadContract.View,
108110
private Place place;
109111
private List<UploadableFile> uploadableFiles = Collections.emptyList();
110112
private int currentSelectedPosition = 0;
113+
/*
114+
Checks for if multiple files selected
115+
*/
116+
private boolean isMultipleFilesSelected = false;
111117

112118
public static final String EXTRA_FILES = "commons_image_exta";
113119

@@ -400,12 +406,20 @@ private void receiveInternalSharedItems() {
400406
Timber.d("Received intent %s with action %s", intent.toString(), intent.getAction());
401407

402408
uploadableFiles = intent.getParcelableArrayListExtra(EXTRA_FILES);
409+
isMultipleFilesSelected = uploadableFiles.size() > 1;
403410
Timber.i("Received multiple upload %s", uploadableFiles.size());
404411

405412
place = intent.getParcelableExtra(PLACE_OBJECT);
406413
resetDirectPrefs();
407414
}
408415

416+
/**
417+
* Returns if multiple files selected or not.
418+
*/
419+
public boolean getIsMultipleFilesSelected() {
420+
return isMultipleFilesSelected;
421+
}
422+
409423
public void resetDirectPrefs() {
410424
directKvStore.remove(PLACE_OBJECT);
411425
}

app/src/main/java/fr/free/nrw/commons/upload/categories/UploadCategoriesFragment.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package fr.free.nrw.commons.upload.categories;
22

3+
import android.app.Activity;
34
import android.os.Bundle;
45
import android.text.Editable;
6+
import android.util.Log;
57
import android.view.LayoutInflater;
68
import android.view.View;
79
import android.view.View.OnClickListener;
@@ -22,6 +24,7 @@
2224
import com.jakewharton.rxbinding2.widget.RxTextView;
2325
import fr.free.nrw.commons.R;
2426
import fr.free.nrw.commons.category.CategoryItem;
27+
import fr.free.nrw.commons.upload.UploadActivity;
2528
import fr.free.nrw.commons.upload.UploadBaseFragment;
2629
import fr.free.nrw.commons.utils.DialogUtil;
2730
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -36,6 +39,8 @@ public class UploadCategoriesFragment extends UploadBaseFragment implements Cate
3639

3740
@BindView(R.id.tv_title)
3841
TextView tvTitle;
42+
@BindView(R.id.tv_subtitle)
43+
TextView tvSubTitle;
3944
@BindView(R.id.til_container_search)
4045
TextInputLayout tilContainerEtSearch;
4146
@BindView(R.id.et_search)
@@ -68,7 +73,8 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
6873

6974
private void init() {
7075
tvTitle.setText(getString(R.string.step_count, callback.getIndexInViewFlipper(this) + 1,
71-
callback.getTotalNumberOfSteps(), getString(R.string.categories_activity_title)));
76+
callback.getTotalNumberOfSteps(), getString(R.string.categories_activity_title)));
77+
setTvSubTitle();
7278
tooltip.setOnClickListener(new OnClickListener() {
7379
@Override
7480
public void onClick(View v) {
@@ -89,6 +95,20 @@ private void addTextChangeListenerToEtSearch() {
8995
.subscribe(filter -> searchForCategory(filter.toString()), Timber::e);
9096
}
9197

98+
/**
99+
* Removes the tv subtitle If the activity is the instance of [UploadActivity] and
100+
* if multiple files aren't selected.
101+
*/
102+
private void setTvSubTitle() {
103+
final Activity activity = getActivity();
104+
if (activity instanceof UploadActivity) {
105+
final boolean isMultipleFileSelected = ((UploadActivity) activity).getIsMultipleFilesSelected();
106+
if (!isMultipleFileSelected) {
107+
tvSubTitle.setVisibility(View.GONE);
108+
}
109+
}
110+
}
111+
92112
private void searchForCategory(String query) {
93113
presenter.searchForCategories(query);
94114
}

app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsFragment.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fr.free.nrw.commons.upload.depicts;
22

3+
import android.app.Activity;
34
import android.os.Bundle;
45
import android.view.LayoutInflater;
56
import android.view.View;
@@ -20,6 +21,7 @@
2021
import com.jakewharton.rxbinding2.view.RxView;
2122
import com.jakewharton.rxbinding2.widget.RxTextView;
2223
import fr.free.nrw.commons.R;
24+
import fr.free.nrw.commons.upload.UploadActivity;
2325
import fr.free.nrw.commons.upload.UploadBaseFragment;
2426
import fr.free.nrw.commons.upload.UploadModel;
2527
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem;
@@ -41,6 +43,8 @@ public class DepictsFragment extends UploadBaseFragment implements DepictsContra
4143

4244
@BindView(R.id.depicts_title)
4345
TextView depictsTitle;
46+
@BindView(R.id.depicts_subtitle)
47+
TextView depictsSubTitle;
4448
@BindView(R.id.depicts_search_container)
4549
TextInputLayout depictsSearchContainer;
4650
@BindView(R.id.depicts_search)
@@ -76,7 +80,8 @@ public void onViewCreated(@NonNull android.view.View view, @Nullable Bundle save
7680
*/
7781
private void init() {
7882
depictsTitle.setText(getString(R.string.step_count, callback.getIndexInViewFlipper(this) + 1,
79-
callback.getTotalNumberOfSteps(), getString(R.string.depicts_step_title)));
83+
callback.getTotalNumberOfSteps(), getString(R.string.depicts_step_title)));
84+
setDepictsSubTitle();
8085
tooltip.setOnClickListener(new OnClickListener() {
8186
@Override
8287
public void onClick(View v) {
@@ -88,6 +93,20 @@ public void onClick(View v) {
8893
addTextChangeListenerToSearchBox();
8994
}
9095

96+
/**
97+
* Removes the depicts subtitle If the activity is the instance of [UploadActivity] and
98+
* if multiple files aren't selected.
99+
*/
100+
private void setDepictsSubTitle() {
101+
final Activity activity = getActivity();
102+
if (activity instanceof UploadActivity) {
103+
final boolean isMultipleFileSelected = ((UploadActivity) activity).getIsMultipleFilesSelected();
104+
if (!isMultipleFileSelected) {
105+
depictsSubTitle.setVisibility(View.GONE);
106+
}
107+
}
108+
}
109+
91110
/**
92111
* Initialise recyclerView and set adapter
93112
*/

app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseFragment.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fr.free.nrw.commons.upload.license;
22

3+
import android.app.Activity;
34
import android.net.Uri;
45
import android.os.Bundle;
56
import android.text.Html;
@@ -20,6 +21,7 @@
2021
import androidx.annotation.NonNull;
2122
import androidx.annotation.Nullable;
2223

24+
import fr.free.nrw.commons.upload.UploadActivity;
2325
import fr.free.nrw.commons.utils.DialogUtil;
2426
import java.util.List;
2527

@@ -38,6 +40,8 @@ public class MediaLicenseFragment extends UploadBaseFragment implements MediaLic
3840

3941
@BindView(R.id.tv_title)
4042
TextView tvTitle;
43+
@BindView(R.id.tv_subtitle)
44+
TextView tvSubTitle;
4145
@BindView(R.id.spinner_license_list)
4246
Spinner spinnerLicenseList;
4347
@BindView(R.id.tv_share_license_summary)
@@ -72,7 +76,8 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
7276

7377
private void init() {
7478
tvTitle.setText(getString(R.string.step_count, callback.getIndexInViewFlipper(this) + 1,
75-
callback.getTotalNumberOfSteps(), getString(R.string.license_step_title)));
79+
callback.getTotalNumberOfSteps(), getString(R.string.license_step_title)));
80+
setTvSubTitle();
7681
tooltip.setOnClickListener(new OnClickListener() {
7782
@Override
7883
public void onClick(View v) {
@@ -84,6 +89,20 @@ public void onClick(View v) {
8489
presenter.getLicenses();
8590
}
8691

92+
/**
93+
* Removes the tv Subtitle If the activity is the instance of [UploadActivity] and
94+
* if multiple files aren't selected.
95+
*/
96+
private void setTvSubTitle() {
97+
final Activity activity = getActivity();
98+
if (activity instanceof UploadActivity) {
99+
final boolean isMultipleFileSelected = ((UploadActivity) activity).getIsMultipleFilesSelected();
100+
if (!isMultipleFileSelected) {
101+
tvSubTitle.setVisibility(View.GONE);
102+
}
103+
}
104+
}
105+
87106
private void initPresenter() {
88107
presenter.onAttachView(this);
89108
}

0 commit comments

Comments
 (0)