From 5dd70c5c9b3e8cc7313285c2eae31b8d4f7a8d60 Mon Sep 17 00:00:00 2001 From: Artur Dryomov Date: Tue, 10 Sep 2013 22:40:41 +0300 Subject: Add ability to change transactions via clicking a slide. Change-Id: Ifc9344c53492a053b15bc0f005e881bc09077473 --- .../fragment/SlidesPagerFragment.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'android/sdremote/src/org/libreoffice/impressremote/fragment') diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java index f12b3d8ed048..aa86de07e5e4 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java +++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java @@ -33,7 +33,7 @@ import org.libreoffice.impressremote.R; import org.libreoffice.impressremote.adapter.SlidesPagerAdapter; import org.libreoffice.impressremote.communication.CommunicationService; -public class SlidesPagerFragment extends SherlockFragment implements ServiceConnection, ViewPager.OnPageChangeListener { +public class SlidesPagerFragment extends SherlockFragment implements ServiceConnection, ViewPager.OnPageChangeListener, View.OnClickListener { private CommunicationService mCommunicationService; private BroadcastReceiver mIntentsReceiver; @@ -92,7 +92,25 @@ public class SlidesPagerFragment extends SherlockFragment implements ServiceConn private PagerAdapter buildSlidesAdapter() { SlideShow aSlideShow = mCommunicationService.getSlideShow(); - return new SlidesPagerAdapter(getActivity(), aSlideShow); + return new SlidesPagerAdapter(getActivity(), aSlideShow, this); + } + + @Override + public void onClick(View aView) { + if (!isLastSlideDisplayed()) { + showNextTransition(); + } + } + + private boolean isLastSlideDisplayed() { + int aCurrentSlideIndex = mCommunicationService.getSlideShow().getHumanCurrentSlideIndex(); + int aSlidesCount = mCommunicationService.getSlideShow().getSlidesCount(); + + return aCurrentSlideIndex == aSlidesCount; + } + + private void showNextTransition() { + mCommunicationService.getTransmitter().performNextTransition(); } private int getSlidesMargin() { -- cgit