From: jabarros Date: Tue, 29 Jul 2014 11:16:07 +0000 (+0200) Subject: Fixed bug when comming back to a zoomed photo, it is not zoom X-Git-Tag: oc-android-1.7.0_signed~239^2~1 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/bbbc486d532878095a3133639641e8a6e529d22a?hp=-c Fixed bug when comming back to a zoomed photo, it is not zoom --- bbbc486d532878095a3133639641e8a6e529d22a diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index 65675201..3c9d9cf3 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -27,9 +27,6 @@ import android.os.Bundle; 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; @@ -64,7 +61,7 @@ import com.owncloud.android.utils.Log_OC; * @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; @@ -323,7 +320,11 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { requestForDownload(currentFile); } } + + // Call to reset image zoom to initial state + ((PreviewImagePagerAdapter) mViewPager.getAdapter()).resetZoom(); } + } /** @@ -389,17 +390,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } - - @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(); diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 86a6aa77..91d1a38d 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -31,7 +31,7 @@ import android.support.v4.app.FragmentStatePagerAdapter; 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; @@ -126,15 +126,19 @@ public class PreviewImageFragment extends FileFragment { 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} @@ -142,13 +146,8 @@ public class PreviewImageFragment extends FileFragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); - if (!(activity instanceof OnTouchListener)) { - throw new ClassCastException(activity.toString() + - " must implement " + OnTouchListener.class.getSimpleName()); - } } - - + /** * {@inheritDoc} */ @@ -304,7 +303,6 @@ public class PreviewImageFragment extends FileFragment { super.onPause(); } - @Override public void onDestroy() { if (mBitmap != null) { @@ -514,5 +512,8 @@ public class PreviewImageFragment extends FileFragment { container.finish(); } + public TouchImageView getImageView() { + return mImageView; + } } diff --git a/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java b/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java index de90b4bd..2b9fffa4 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java +++ b/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java @@ -18,13 +18,11 @@ package com.owncloud.android.ui.preview; 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; @@ -32,6 +30,8 @@ import android.support.v4.app.FragmentStatePagerAdapter; 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 @@ -179,6 +179,19 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { return mDownloadErrors.contains(Integer.valueOf(position)); } + /** + * Reset the image zoom to default value for each CachedFragments + */ + public void resetZoom() { + Iterator 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. *