mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
parent
7da5d130b7
commit
78057b6a8a
10 changed files with 44 additions and 58 deletions
|
|
@ -17,6 +17,7 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.category.CategoryImagesCallback;
|
||||
import fr.free.nrw.commons.contributions.ContributionController;
|
||||
import fr.free.nrw.commons.media.MediaDetailPagerFragment;
|
||||
import fr.free.nrw.commons.theme.NavigationBaseActivity;
|
||||
|
|
@ -24,7 +25,7 @@ import fr.free.nrw.commons.theme.NavigationBaseActivity;
|
|||
public class BookmarksActivity extends NavigationBaseActivity
|
||||
implements FragmentManager.OnBackStackChangedListener,
|
||||
MediaDetailPagerFragment.MediaDetailProvider,
|
||||
AdapterView.OnItemClickListener {
|
||||
AdapterView.OnItemClickListener, CategoryImagesCallback {
|
||||
|
||||
private FragmentManager supportFragmentManager;
|
||||
private BookmarksPagerAdapter adapter;
|
||||
|
|
@ -102,12 +103,14 @@ public class BookmarksActivity extends NavigationBaseActivity
|
|||
* This method is called on success of API call for featured Images.
|
||||
* The viewpager will notified that number of items have changed.
|
||||
*/
|
||||
@Override
|
||||
public void viewPagerNotifyDataSetChanged() {
|
||||
if (mediaDetails!=null){
|
||||
mediaDetails.notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method is called mediaDetailPagerFragment. It returns the Media Object at that Index
|
||||
* @param i It is the index of which media object is to be returned which is same as
|
||||
|
|
@ -136,4 +139,7 @@ public class BookmarksActivity extends NavigationBaseActivity
|
|||
}
|
||||
return adapter.getMediaAdapter().getCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestMoreImages() { }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,11 +97,7 @@ public class BookmarkPicturesFragment extends DaggerFragment {
|
|||
gridView.setVisibility(GONE);
|
||||
if (gridAdapter != null) {
|
||||
gridAdapter.clear();
|
||||
try {
|
||||
((BookmarksActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
((BookmarksActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}
|
||||
initList();
|
||||
}
|
||||
|
|
@ -203,11 +199,7 @@ public class BookmarkPicturesFragment extends DaggerFragment {
|
|||
return;
|
||||
}
|
||||
gridAdapter.addItems(collection);
|
||||
try {
|
||||
((BookmarksActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
((BookmarksActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}
|
||||
progressBar.setVisibility(GONE);
|
||||
statusTextView.setVisibility(GONE);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import fr.free.nrw.commons.theme.NavigationBaseActivity;
|
|||
|
||||
public class CategoryDetailsActivity extends NavigationBaseActivity
|
||||
implements MediaDetailPagerFragment.MediaDetailProvider,
|
||||
AdapterView.OnItemClickListener{
|
||||
AdapterView.OnItemClickListener, CategoryImagesCallback {
|
||||
|
||||
|
||||
private FragmentManager supportFragmentManager;
|
||||
|
|
@ -219,6 +219,7 @@ public class CategoryDetailsActivity extends NavigationBaseActivity
|
|||
* This method is called on success of API call for Images inside a category.
|
||||
* The viewpager will notified that number of items have changed.
|
||||
*/
|
||||
@Override
|
||||
public void viewPagerNotifyDataSetChanged() {
|
||||
if (mediaDetails!=null){
|
||||
mediaDetails.notifyDataSetChanged();
|
||||
|
|
@ -229,6 +230,7 @@ public class CategoryDetailsActivity extends NavigationBaseActivity
|
|||
* This method is called when viewPager has reached its end.
|
||||
* Fetches more images using search query and adds it to the grid view and viewpager adapter
|
||||
*/
|
||||
@Override
|
||||
public void requestMoreImages() {
|
||||
if (categoryImagesListFragment!=null){
|
||||
categoryImagesListFragment.fetchMoreImagesViewPager();
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public class CategoryImagesActivity
|
|||
extends NavigationBaseActivity
|
||||
implements FragmentManager.OnBackStackChangedListener,
|
||||
MediaDetailPagerFragment.MediaDetailProvider,
|
||||
AdapterView.OnItemClickListener{
|
||||
AdapterView.OnItemClickListener, CategoryImagesCallback {
|
||||
|
||||
|
||||
private FragmentManager supportFragmentManager;
|
||||
|
|
@ -149,6 +149,7 @@ public class CategoryImagesActivity
|
|||
* This method is called on success of API call for featured Images.
|
||||
* The viewpager will notified that number of items have changed.
|
||||
*/
|
||||
@Override
|
||||
public void viewPagerNotifyDataSetChanged() {
|
||||
if (mediaDetails!=null){
|
||||
mediaDetails.notifyDataSetChanged();
|
||||
|
|
@ -199,6 +200,7 @@ public class CategoryImagesActivity
|
|||
* This method is called when viewPager has reached its end.
|
||||
* Fetches more images using search query and adds it to the gridView and viewpager adapter
|
||||
*/
|
||||
@Override
|
||||
public void requestMoreImages() {
|
||||
if (categoryImagesListFragment!=null){
|
||||
categoryImagesListFragment.fetchMoreImagesViewPager();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package fr.free.nrw.commons.category;
|
||||
|
||||
/**
|
||||
* Callback for notifying the viewpager that the number of items have changed
|
||||
* and for requesting more images when the viewpager has been scrolled to its end.
|
||||
*/
|
||||
|
||||
public interface CategoryImagesCallback {
|
||||
void viewPagerNotifyDataSetChanged();
|
||||
void requestMoreImages();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -26,7 +26,6 @@ import butterknife.ButterKnife;
|
|||
import dagger.android.support.DaggerFragment;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.explore.categories.ExploreActivity;
|
||||
import fr.free.nrw.commons.kvstore.JsonKvStore;
|
||||
import fr.free.nrw.commons.media.MediaClient;
|
||||
import fr.free.nrw.commons.utils.NetworkUtils;
|
||||
|
|
@ -251,22 +250,9 @@ public class CategoryImagesListFragment extends DaggerFragment {
|
|||
return;
|
||||
}
|
||||
gridAdapter.addItems(collection);
|
||||
try {
|
||||
((CategoryImagesActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
((CategoryDetailsActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
((ExploreActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
((CategoryImagesCallback) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}
|
||||
|
||||
progressBar.setVisibility(GONE);
|
||||
isLoading = false;
|
||||
statusTextView.setVisibility(GONE);
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.category.CategoryImagesCallback;
|
||||
import fr.free.nrw.commons.explore.categories.SearchCategoryFragment;
|
||||
import fr.free.nrw.commons.explore.images.SearchImageFragment;
|
||||
import fr.free.nrw.commons.explore.recentsearches.RecentSearchesFragment;
|
||||
|
|
@ -37,7 +38,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
|
|||
* Represents search screen of this app
|
||||
*/
|
||||
|
||||
public class SearchActivity extends NavigationBaseActivity implements MediaDetailPagerFragment.MediaDetailProvider{
|
||||
public class SearchActivity extends NavigationBaseActivity
|
||||
implements MediaDetailPagerFragment.MediaDetailProvider, CategoryImagesCallback {
|
||||
|
||||
@BindView(R.id.toolbar_search) Toolbar toolbar;
|
||||
@BindView(R.id.searchHistoryContainer) FrameLayout searchHistoryContainer;
|
||||
|
|
@ -150,6 +152,7 @@ public class SearchActivity extends NavigationBaseActivity implements MediaDetai
|
|||
* This method is called on success of API call for image Search.
|
||||
* The viewpager will notified that number of items have changed.
|
||||
*/
|
||||
@Override
|
||||
public void viewPagerNotifyDataSetChanged() {
|
||||
if (mediaDetails!=null){
|
||||
mediaDetails.notifyDataSetChanged();
|
||||
|
|
@ -236,6 +239,7 @@ public class SearchActivity extends NavigationBaseActivity implements MediaDetai
|
|||
* This method is called when viewPager has reached its end.
|
||||
* Fetches more images using search query and adds it to the recycler view and viewpager adapter
|
||||
*/
|
||||
@Override
|
||||
public void requestMoreImages() {
|
||||
if (searchImageFragment!=null){
|
||||
searchImageFragment.addImagesToList(query);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.category.CategoryImagesCallback;
|
||||
import fr.free.nrw.commons.category.CategoryImagesListFragment;
|
||||
import fr.free.nrw.commons.explore.SearchActivity;
|
||||
import fr.free.nrw.commons.explore.ViewPagerAdapter;
|
||||
|
|
@ -37,7 +38,7 @@ import fr.free.nrw.commons.theme.NavigationBaseActivity;
|
|||
public class ExploreActivity
|
||||
extends NavigationBaseActivity
|
||||
implements MediaDetailPagerFragment.MediaDetailProvider,
|
||||
AdapterView.OnItemClickListener {
|
||||
AdapterView.OnItemClickListener, CategoryImagesCallback {
|
||||
|
||||
private static final String FEATURED_IMAGES_CATEGORY = "Category:Featured_pictures_on_Wikimedia_Commons";
|
||||
private static final String MOBILE_UPLOADS_CATEGORY = "Category:Uploaded_with_Mobile/Android";
|
||||
|
|
@ -145,6 +146,7 @@ public class ExploreActivity
|
|||
* This method is called on success of API call for featured images or mobile uploads.
|
||||
* The viewpager will notified that number of items have changed.
|
||||
*/
|
||||
@Override
|
||||
public void viewPagerNotifyDataSetChanged() {
|
||||
if (mediaDetails != null) {
|
||||
mediaDetails.notifyDataSetChanged();
|
||||
|
|
@ -172,6 +174,7 @@ public class ExploreActivity
|
|||
* This method is called when viewPager has reached its end.
|
||||
* Fetches more images and adds them to the recycler view and viewpager adapter
|
||||
*/
|
||||
@Override
|
||||
public void requestMoreImages() {
|
||||
if (mobileImagesListFragment != null && tabLayout.getSelectedTabPosition() == 1) {
|
||||
mobileImagesListFragment.fetchMoreImagesViewPager();
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ public class SearchImageFragment extends CommonsDaggerSupportFragment {
|
|||
progressBar.setVisibility(GONE);
|
||||
imagesAdapter.addAll(mediaList);
|
||||
imagesAdapter.notifyDataSetChanged();
|
||||
((SearchActivity)getContext()).viewPagerNotifyDataSetChanged();
|
||||
((SearchActivity) getContext()).viewPagerNotifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,16 +29,13 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.category.CategoryImagesCallback;
|
||||
import fr.free.nrw.commons.auth.SessionManager;
|
||||
import fr.free.nrw.commons.bookmarks.Bookmark;
|
||||
import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesContentProvider;
|
||||
import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesDao;
|
||||
import fr.free.nrw.commons.category.CategoryDetailsActivity;
|
||||
import fr.free.nrw.commons.category.CategoryImagesActivity;
|
||||
import fr.free.nrw.commons.contributions.Contribution;
|
||||
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
|
||||
import fr.free.nrw.commons.explore.SearchActivity;
|
||||
import fr.free.nrw.commons.explore.categories.ExploreActivity;
|
||||
import fr.free.nrw.commons.kvstore.JsonKvStore;
|
||||
import fr.free.nrw.commons.utils.ImageUtils;
|
||||
import fr.free.nrw.commons.utils.NetworkUtils;
|
||||
|
|
@ -332,28 +329,9 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple
|
|||
Timber.d("Returning as activity is destroyed!");
|
||||
return;
|
||||
}
|
||||
if (i+1 >= adapter.getCount()){
|
||||
try{
|
||||
((CategoryImagesActivity) getContext()).requestMoreImages();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
try{
|
||||
((CategoryDetailsActivity) getContext()).requestMoreImages();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
try{
|
||||
((SearchActivity) getContext()).requestMoreImages();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
try{
|
||||
((ExploreActivity) getContext()).requestMoreImages();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (i+1 >= adapter.getCount())
|
||||
((CategoryImagesCallback) getContext()).requestMoreImages();
|
||||
|
||||
getActivity().invalidateOptionsMenu();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue