Skip to content

Commit ca75f61

Browse files
misaochanashishkumar468neslihanturanPratham2305shabar-shab
authored
Merge v3.0.1 into master (#4446)
* Versioning and changelog for v3.0.0 (#4152) * Versioning for v3.0.0 * Update changelog.md * Handled migration 8-9-10 in BookmarksLocationDao (#4154) * #Fixes #4141 - Handled migrations for BookmarkLocationsDao from 8-9-10 * #Fixes #4141 - Handled migrations for BookmarkLocationsDao from 8-9-10 * Fixes #4179 (#4180) * Handled null pointer exception in MainActivity->ContributionsFragment#backButtonClicked() * Updated >ContributionsFragment#backButtonClicked() to handle back press properly * Fixes #4179 (#4181) * Handled possible null check on MediaDetails in BookmarkListRootFragment#backPressed() * Cherrypick for hotfix3.1 (#4205) * Fixes #4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list. Fixes #4159 On Explore Tab, All Available Options on toolbar in media detail view are only targeting the first media in the list. * fixed bug: App crashes on viewing review in Review Fragment #4132 (#4146) * fixed bug:app crashes on viewing review in Review Fragment #4135 * Fixed the issue with back button in contribution tab. (#4177) Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com> * Fixed the issue with back navigation button on toolbar in explore tab. (#4175) * Fix (#4148) Issues on theme change * fixed themeChange crashes * fixed comments * Overlooked the title bar Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com> Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com> Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com> Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com> * Fixes #4173 (#4396) * Fix #4147 Pre-fill desc in Nearby uploads with Wikidata item's label + description (#4390) * Update query to fetch descriptions * Make description added to NearbyResultItem * Make string operations to display description and label in a combined way * Fix reviews, remove long description from list and swap label and description texts * Fix repeated information issue * Fix double information issue * fix style issues * Remove douplicated information * Changes made (#4354) * Remove nonexistent method * Fix #4283 IllegalStateException (#4440) * Fix #4283 IllegalStateException * Fix flickering issue * Versioning for v3.0.1 * Update changelog.md Co-authored-by: Ashish <ashishkumar468@gmail.com> Co-authored-by: neslihanturan <tur.neslihan@gmail.com> Co-authored-by: Pratham Pahariya <54663429+Pratham2305@users.noreply.github.com> Co-authored-by: Shabir Ahmad <56585337+shabar-shab@users.noreply.github.com> Co-authored-by: Pratham2305 <Pratham2305@users.noreply.github.com> Co-authored-by: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com> Co-authored-by: Madhur Gupta <30932899+madhurgupta10@users.noreply.github.com> Co-authored-by: Vinayak Aggarwal <56196007+vinayak0505@users.noreply.github.com>
1 parent 7823b18 commit ca75f61

File tree

17 files changed

+115
-71
lines changed

17 files changed

+115
-71
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Wikimedia Commons for Android
22

3+
## v3.0.1
4+
- Pre-fill desc in Nearby uploads with Wikidata item's label + description
5+
- Improved ACRA crash reporting
6+
- Fixed various crashes
7+
38
## v3.0.0
49
- Added Structured Data to upload workflow, users can now add depicts
510
- Added Leaderboard in Achievements screen

app/build.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ dependencies {
5858
implementation "com.squareup.okhttp3:okhttp-ws:$OKHTTP_VERSION"
5959

6060
// Logging
61-
implementation 'ch.acra:acra-dialog:5.3.0'
62-
implementation 'ch.acra:acra-mail:5.3.0'
61+
implementation 'ch.acra:acra-dialog:5.8.1-beta11'
62+
implementation 'ch.acra:acra-mail:5.8.1-beta11'
6363
implementation 'org.slf4j:slf4j-api:1.7.25'
6464
api('com.github.tony19:logback-android-classic:1.1.1-6') {
6565
exclude group: 'com.google.android', module: 'android'
@@ -149,8 +149,9 @@ android {
149149

150150
defaultConfig {
151151
//applicationId 'fr.free.nrw.commons'
152-
versionCode 876
153-
versionName '3.0.0'
152+
153+
versionCode 1016
154+
versionName '3.0.1'
154155
setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
155156

156157
minSdkVersion 19

app/src/main/java/fr/free/nrw/commons/CommonsApplication.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@
7070
)
7171

7272
@AcraMailSender(
73-
mailTo = "commons-app-android-private@googlegroups.com"
73+
mailTo = "commons-app-android-private@googlegroups.com",
74+
reportAsFile = false
7475
)
7576

7677
@AcraDialog(

app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -196,38 +196,16 @@ public void viewPagerNotifyDataSetChanged() {
196196
}
197197
}
198198

199-
public boolean backPressed() {
200-
//check mediaDetailPage fragment is not null then we check mediaDetail.is Visible or not to avoid NullPointerException
201-
if(mediaDetails!=null) {
202-
if (mediaDetails.isVisible()) {
203-
if(mediaDetails.backButtonClicked()) {
204-
// mediaDetails handled the back clicked , no further action required.
205-
return true;
206-
}
207-
// todo add get list fragment
208-
((BookmarkFragment) getParentFragment()).setupTabLayout();
209-
ArrayList<Integer> removed=mediaDetails.getRemovedItems();
210-
removeFragment(mediaDetails);
211-
((BookmarkFragment) getParentFragment()).setScroll(true);
212-
setFragment(listFragment, mediaDetails);
213-
((MainActivity) getActivity()).showTabs();
214-
if(listFragment instanceof BookmarkPicturesFragment){
215-
GridViewAdapter adapter=((GridViewAdapter)((BookmarkPicturesFragment)listFragment).getAdapter());
216-
Iterator i = removed.iterator();
217-
while (i.hasNext()) {
218-
adapter.remove(adapter.getItem((int)i.next()));
219-
}
220-
mediaDetails.clearRemoved();
221-
222-
}
223-
} else {
224-
moveToContributionsFragment();
225-
}
199+
public void backPressed() {
200+
if (null != mediaDetails && mediaDetails.isVisible()) {
201+
// todo add get list fragment
202+
((BookmarkFragment) getParentFragment()).tabLayout.setVisibility(View.VISIBLE);
203+
removeFragment(mediaDetails);
204+
setFragment(listFragment, mediaDetails);
226205
} else {
227-
moveToContributionsFragment();
206+
((MainActivity) getActivity()).setSelectedItemId(NavTab.CONTRIBUTIONS.code());
228207
}
229-
// notify mediaDetails did not handled the backPressed further actions required.
230-
return false;
208+
((MainActivity) getActivity()).showTabs();
231209
}
232210

233211
void moveToContributionsFragment(){

app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ public static void onUpdate(SQLiteDatabase db, int from, int to) {
269269
onUpdate(db, from, to);
270270
return;
271271
}
272-
if (from == 8) {
272+
if (from < 10) {
273273
from++;
274274
onUpdate(db, from, to);
275275
return;

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import android.Manifest;
88
import android.annotation.SuppressLint;
9+
import android.content.ComponentName;
910
import android.content.Context;
1011
import android.os.Bundle;
1112
import android.view.LayoutInflater;
@@ -24,6 +25,14 @@
2425
import androidx.fragment.app.Fragment;
2526
import androidx.fragment.app.FragmentManager.OnBackStackChangedListener;
2627
import androidx.fragment.app.FragmentTransaction;
28+
import fr.free.nrw.commons.CommonsApplication;
29+
import fr.free.nrw.commons.auth.SessionManager;
30+
import fr.free.nrw.commons.notification.Notification;
31+
import fr.free.nrw.commons.notification.NotificationController;
32+
import fr.free.nrw.commons.theme.BaseActivity;
33+
import java.util.List;
34+
import javax.inject.Inject;
35+
import javax.inject.Named;
2736
import butterknife.BindView;
2837
import butterknife.ButterKnife;
2938
import fr.free.nrw.commons.CommonsApplication;
@@ -330,6 +339,12 @@ public void removeFragment(Fragment fragment) {
330339
getChildFragmentManager().executePendingTransactions();
331340
}
332341

342+
public Intent getUploadServiceIntent(){
343+
Intent intent = new Intent(getActivity(), UploadService.class);
344+
intent.setAction(UploadService.ACTION_START_SERVICE);
345+
return intent;
346+
}
347+
333348
@SuppressWarnings("ConstantConditions")
334349
private void setUploadCount() {
335350
compositeDisposable.add(okHttpJsonApiClient
@@ -531,6 +546,13 @@ private void fetchCampaigns() {
531546
presenter.onDetachView();
532547
}
533548

549+
@Override
550+
public void notifyDataSetChanged() {
551+
if (mediaDetailPagerFragment != null) {
552+
mediaDetailPagerFragment.notifyDataSetChanged();
553+
}
554+
}
555+
534556
/**
535557
* Retry upload when it is failed
536558
*
@@ -604,12 +626,8 @@ public Integer getContributionStateAt(int position) {
604626
return contributionsListFragment.getContributionStateAt(position);
605627
}
606628

607-
public void backButtonClicked() {
608-
if (mediaDetailPagerFragment.isVisible()) {
609-
if(mediaDetailPagerFragment.backButtonClicked()) {
610-
// MediaDetailed handled the backPressed no further action required.
611-
return;
612-
}
629+
public boolean backButtonClicked() {
630+
if (null != mediaDetailPagerFragment && mediaDetailPagerFragment.isVisible()) {
613631
if (store.getBoolean("displayNearbyCardView", true)) {
614632
if (nearbyNotificationCardView.cardViewVisibilityState == NearbyNotificationCardView.CardViewVisibilityState.READY) {
615633
nearbyNotificationCardView.setVisibility(View.VISIBLE);
@@ -622,7 +640,9 @@ public void backButtonClicked() {
622640
((BaseActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
623641
((MainActivity)getActivity()).showTabs();
624642
fetchCampaigns();
643+
return true;
625644
}
645+
return false;
626646
}
627647

628648
// Getter for mediaDetailPagerFragment

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl
9595
private final int SPAN_COUNT_LANDSCAPE = 3;
9696
private final int SPAN_COUNT_PORTRAIT = 1;
9797

98+
private int contributionsSize;
99+
98100

99101
@Override
100102
public View onCreateView(
@@ -145,7 +147,11 @@ private void initRecyclerView() {
145147
}
146148

147149
contributionsListPresenter.setup();
148-
contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), adapter::submitList);
150+
contributionsListPresenter.contributionList.observe(this.getViewLifecycleOwner(), list -> {
151+
contributionsSize = list.size();
152+
adapter.submitList(list);
153+
callback.notifyDataSetChanged();
154+
});
149155
rvContributionsList.setAdapter(adapter);
150156
adapter.registerAdapterDataObserver(new AdapterDataObserver() {
151157
@Override
@@ -387,10 +393,7 @@ public Media getMediaAtPosition(final int i) {
387393
}
388394

389395
public int getTotalMediaCount() {
390-
if(adapter != null) {
391-
return adapter.getItemCount();
392-
}
393-
return 0;
396+
return contributionsSize;
394397
}
395398

396399
/**
@@ -417,6 +420,8 @@ public Integer getContributionStateAt(int position) {
417420

418421
public interface Callback {
419422

423+
void notifyDataSetChanged();
424+
420425
void retryUpload(Contribution contribution);
421426

422427
void showDetail(int position, boolean isWikipediaButtonDisplayed);

app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ public static void startYourself(Context context) {
9999
@Override
100100
public boolean onSupportNavigateUp() {
101101
if (activeFragment == ActiveFragment.CONTRIBUTIONS) {
102-
contributionsFragment.backButtonClicked();
102+
if (!contributionsFragment.backButtonClicked()) {
103+
return false;
104+
}
103105
} else {
104106
onBackPressed();
105107
showTabs();
@@ -264,16 +266,10 @@ protected void onRestoreInstanceState(Bundle savedInstanceState) {
264266
@Override
265267
public void onBackPressed() {
266268
if (contributionsFragment != null && activeFragment == ActiveFragment.CONTRIBUTIONS) {
267-
// Meas that contribution fragment is visible
268-
mediaDetailPagerFragment=contributionsFragment.getMediaDetailPagerFragment();
269-
if (mediaDetailPagerFragment ==null) { //means you open the app currently and not open mediaDetailPage fragment
269+
// Means that contribution fragment is visible
270+
if (!contributionsFragment.backButtonClicked()) {//If this one does not wan't to handle
271+
// the back press, let the activity do so
270272
super.onBackPressed();
271-
} else if (mediaDetailPagerFragment!=null) {
272-
if(!mediaDetailPagerFragment.isVisible()){ //means you are at contributions fragement
273-
super.onBackPressed();
274-
} else { //mean you are at mediaDetailPager Fragment
275-
contributionsFragment.backButtonClicked();
276-
}
277273
}
278274
} else if (nearbyParentFragment != null && activeFragment == ActiveFragment.NEARBY) {
279275
// Means that nearby fragment is visible

app/src/main/java/fr/free/nrw/commons/data/DBOpenHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
public class DBOpenHelper extends SQLiteOpenHelper {
1414

1515
private static final String DATABASE_NAME = "commons.db";
16-
private static final int DATABASE_VERSION = 15;
16+
private static final int DATABASE_VERSION = 14;
1717
public static final String CONTRIBUTIONS_TABLE = "contributions";
1818
private final String DROP_TABLE_STATEMENT="DROP TABLE IF EXISTS %s";
1919

app/src/main/java/fr/free/nrw/commons/explore/ExploreListRootFragment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,8 @@ public void onAttach(final Context context) {
110110
@Override
111111
public void onMediaClicked(int position) {
112112
container.setVisibility(View.VISIBLE);
113-
((ExploreFragment) getParentFragment()).tabLayout.setVisibility(View.GONE);
113+
((ExploreFragment)getParentFragment()).tabLayout.setVisibility(View.GONE);
114114
mediaDetails = new MediaDetailPagerFragment(false, true);
115-
((ExploreFragment) getParentFragment()).setScroll(false);
116115
setFragment(mediaDetails, listFragment);
117116
mediaDetails.showImage(position);
118117
}

0 commit comments

Comments
 (0)