import android.os.IBinder;
import android.preference.PreferenceManager;
import android.support.v4.view.ViewPager;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnTouchListener;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.view.MenuItem;
* @author David A. Velasco
*/
public class PreviewImageActivity extends FileActivity implements
-FileFragment.ContainerActivity, OnTouchListener,
+ FileFragment.ContainerActivity,
ViewPager.OnPageChangeListener, OnRemoteOperationListener {
public static final int DIALOG_SHORT_WAIT = 0;
requestForDownload(currentFile);
}
}
+
+ // Call to reset image zoom to initial state
+ ((PreviewImagePagerAdapter) mViewPager.getAdapter()).resetZoom();
}
+
}
/**
}
-
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_UP) {
- toggleFullScreen();
- }
- return true;
- }
-
-
- private void toggleFullScreen() {
+ public void toggleFullScreen() {
ActionBar actionBar = getSupportActionBar();
if (mFullScreen) {
actionBar.show();
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
-import android.view.View.OnTouchListener;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
mView = inflater.inflate(R.layout.preview_image_fragment, container, false);
mImageView = (TouchImageView) mView.findViewById(R.id.image);
mImageView.setVisibility(View.GONE);
- mImageView.setOnTouchListener((OnTouchListener) getActivity());
- mView.setOnTouchListener((OnTouchListener)getActivity());
+ mImageView.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ ((PreviewImageActivity) getActivity()).toggleFullScreen();
+ }
+
+ });
mMessageView = (TextView)mView.findViewById(R.id.message);
mMessageView.setVisibility(View.GONE);
mProgressWheel = (ProgressBar)mView.findViewById(R.id.progressWheel);
mProgressWheel.setVisibility(View.VISIBLE);
return mView;
}
-
/**
* {@inheritDoc}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
- if (!(activity instanceof OnTouchListener)) {
- throw new ClassCastException(activity.toString() +
- " must implement " + OnTouchListener.class.getSimpleName());
- }
}
-
-
+
/**
* {@inheritDoc}
*/
super.onPause();
}
-
@Override
public void onDestroy() {
if (mBitmap != null) {
container.finish();
}
+ public TouchImageView getImageView() {
+ return mImageView;
+ }
}
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
-import com.owncloud.android.datamodel.OCFile;
-import com.owncloud.android.ui.fragment.FileFragment;
-
import android.accounts.Account;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.view.ViewGroup;
import com.owncloud.android.datamodel.FileDataStorageManager;
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.ui.fragment.FileFragment;
/**
* Adapter class that provides Fragment instances
return mDownloadErrors.contains(Integer.valueOf(position));
}
+ /**
+ * Reset the image zoom to default value for each CachedFragments
+ */
+ public void resetZoom() {
+ Iterator<FileFragment> entries = mCachedFragments.values().iterator();
+ while (entries.hasNext()) {
+ FileFragment fileFragment = (FileFragment) entries.next();
+ if (fileFragment instanceof PreviewImageFragment) {
+ ((PreviewImageFragment) fileFragment).getImageView().resetZoom();
+ }
+ }
+ }
+
/* -*
* Called when a change in the shown pages is going to start being made.
*