mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Changes made (#4354)
This commit is contained in:
parent
eea3f821ae
commit
bebc4afae2
2 changed files with 27 additions and 20 deletions
|
|
@ -112,9 +112,9 @@ public class ExploreListRootFragment extends CommonsDaggerSupportFragment implem
|
|||
container.setVisibility(View.VISIBLE);
|
||||
((ExploreFragment) getParentFragment()).tabLayout.setVisibility(View.GONE);
|
||||
mediaDetails = new MediaDetailPagerFragment(false, true);
|
||||
mediaDetails.showImage(position);
|
||||
((ExploreFragment) getParentFragment()).setScroll(false);
|
||||
setFragment(mediaDetails, listFragment);
|
||||
mediaDetails.showImage(position);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -105,24 +105,13 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple
|
|||
((BaseActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
pager.setAdapter(adapter);
|
||||
if (savedInstanceState != null) {
|
||||
final int pageNumber = savedInstanceState.getInt("current-page");
|
||||
// Adapter doesn't seem to be loading immediately.
|
||||
// Dear God, please forgive us for our sins
|
||||
view.postDelayed(() -> {
|
||||
pager.setAdapter(adapter);
|
||||
pager.setCurrentItem(pageNumber, false);
|
||||
pager.setCurrentItem(pageNumber, false);
|
||||
getActivity().invalidateOptionsMenu();
|
||||
adapter.notifyDataSetChanged();
|
||||
|
||||
if (getActivity() == null) {
|
||||
Timber.d("Returning as activity is destroyed!");
|
||||
return;
|
||||
}
|
||||
|
||||
getActivity().supportInvalidateOptionsMenu();
|
||||
adapter.notifyDataSetChanged();
|
||||
}, 100);
|
||||
} else {
|
||||
pager.setAdapter(adapter);
|
||||
}
|
||||
if (getActivity() instanceof MainActivity) {
|
||||
((MainActivity)getActivity()).hideTabs();
|
||||
|
|
@ -332,13 +321,31 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple
|
|||
|
||||
public void showImage(int i, boolean isWikipediaButtonDisplayed) {
|
||||
this.isWikipediaButtonDisplayed = isWikipediaButtonDisplayed;
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(() -> pager.setCurrentItem(i), 5);
|
||||
setViewPagerCurrentItem(i);
|
||||
}
|
||||
|
||||
public void showImage(int i) {
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(() -> pager.setCurrentItem(i), 5);
|
||||
setViewPagerCurrentItem(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function waits for the item to load then sets the item to current item
|
||||
* @param position current item that to be shown
|
||||
*/
|
||||
private void setViewPagerCurrentItem(int position) {
|
||||
final Boolean[] currentItemNotShown = {true};
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
while(currentItemNotShown[0]){
|
||||
if(adapter.getCount() > position){
|
||||
pager.setCurrentItem(position, false);
|
||||
currentItemNotShown[0] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
new Thread(runnable).start();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue