mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Disable menu items for share and open browser when upload incomplete
Bug: 45943
This commit is contained in:
parent
6a7b0c9ae0
commit
ce1934dade
1 changed files with 31 additions and 1 deletions
|
|
@ -16,11 +16,22 @@ import com.actionbarsherlock.widget.ShareActionProvider;
|
|||
|
||||
import org.wikimedia.commons.*;
|
||||
|
||||
public class MediaDetailPagerFragment extends SherlockFragment {
|
||||
public class MediaDetailPagerFragment extends SherlockFragment implements ViewPager.OnPageChangeListener {
|
||||
private ViewPager pager;
|
||||
private Boolean editable;
|
||||
private CommonsApplication app;
|
||||
|
||||
public void onPageScrolled(int i, float v, int i2) {
|
||||
getSherlockActivity().supportInvalidateOptionsMenu();
|
||||
}
|
||||
|
||||
public void onPageSelected(int i) {
|
||||
}
|
||||
|
||||
public void onPageScrollStateChanged(int i) {
|
||||
|
||||
}
|
||||
|
||||
public interface MediaDetailProvider {
|
||||
public Media getMediaAtPosition(int i);
|
||||
public int getTotalMediaCount();
|
||||
|
|
@ -34,6 +45,14 @@ public class MediaDetailPagerFragment extends SherlockFragment {
|
|||
|
||||
@Override
|
||||
public Fragment getItem(int i) {
|
||||
if(i == 0) {
|
||||
// See bug https://code.google.com/p/android/issues/detail?id=27526
|
||||
pager.postDelayed(new Runnable() {
|
||||
public void run() {
|
||||
getSherlockActivity().supportInvalidateOptionsMenu();
|
||||
}
|
||||
}, 5);
|
||||
}
|
||||
return MediaDetailFragment.forMedia(i, editable);
|
||||
}
|
||||
|
||||
|
|
@ -55,6 +74,7 @@ public class MediaDetailPagerFragment extends SherlockFragment {
|
|||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_media_detail_pager, container, false);
|
||||
pager = (ViewPager) view.findViewById(R.id.mediaDetailsPager);
|
||||
pager.setOnPageChangeListener(this);
|
||||
pager.setAdapter(new MediaDetailAdapter(getChildFragmentManager()));
|
||||
if(savedInstanceState != null) {
|
||||
final int pageNumber = savedInstanceState.getInt("current-page");
|
||||
|
|
@ -119,6 +139,16 @@ public class MediaDetailPagerFragment extends SherlockFragment {
|
|||
menu.clear(); // see http://stackoverflow.com/a/8495697/17865
|
||||
inflater.inflate(R.menu.fragment_image_detail, menu);
|
||||
}
|
||||
if(pager != null) {
|
||||
MediaDetailProvider provider = (MediaDetailProvider)getSherlockActivity();
|
||||
Media m = provider.getMediaAtPosition(pager.getCurrentItem());
|
||||
if(m != null && !m.getFilename().startsWith("File:")) {
|
||||
// Crude way of checking if the file has been successfully saved!
|
||||
menu.findItem(R.id.menu_browser_current_image).setEnabled(false);
|
||||
menu.findItem(R.id.menu_share_current_image).setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showImage(int i) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue