X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/83798b94d64cf0028bc9e3b208133ff474450dd2..afaa2879d192be067cae523b51dad75d89a6c6cb:/src/com/owncloud/android/ui/preview/PreviewImageActivity.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index 98ce2fc1..f3b2ddc7 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -1,5 +1,8 @@ -/* ownCloud Android client application - * Copyright (C) 2012-2013 ownCloud Inc. +/** + * ownCloud Android client application + * + * @author David A. Velasco + * Copyright (C) 2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -23,13 +26,11 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; -import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; -import android.preference.PreferenceManager; import android.support.v4.view.ViewPager; import android.view.View; @@ -49,21 +50,18 @@ import com.owncloud.android.lib.common.operations.OnRemoteOperationListener; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.operations.CreateShareOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; -import com.owncloud.android.ui.activity.PinCodeActivity; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.utils.DisplayUtils; -import com.owncloud.android.utils.Log_OC; /** * Holds a swiping galley where image files contained in an ownCloud directory are shown - * - * @author David A. Velasco */ public class PreviewImageActivity extends FileActivity implements FileFragment.ContainerActivity, @@ -79,17 +77,17 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { private static final int INITIAL_HIDE_DELAY = 0; // immediate hide private ExtendedViewPager mViewPager; - private PreviewImagePagerAdapter mPreviewImagePagerAdapter; + private PreviewImagePagerAdapter mPreviewImagePagerAdapter; + private int mSavedPosition = 0; + private boolean mHasSavedPosition = false; private boolean mRequestWaitingForBinder; private DownloadFinishReceiver mDownloadFinishReceiver; - - //private boolean mFullScreen; private View mFullScreenAnchorView; - + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -101,17 +99,11 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { actionBar.setIcon(DisplayUtils.getSeasonalIconId()); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.hide(); - - // PIN CODE request - if (getIntent().getExtras() != null && savedInstanceState == null && fromNotification()) { - requestPinCode(); - } // Make sure we're running on Honeycomb or higher to use FullScreen and // Immersive Mode if (isHoneycombOrHigher()) { - // mFullScreen = true; mFullScreenAnchorView = getWindow().getDecorView(); // to keep our UI controls visibility in line with system bars // visibility @@ -149,7 +141,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } mPreviewImagePagerAdapter = new PreviewImagePagerAdapter(getSupportFragmentManager(), parentFolder, getAccount(), getStorageManager()); mViewPager = (ExtendedViewPager) findViewById(R.id.fragmentPager); - int position = mPreviewImagePagerAdapter.getFilePosition(getFile()); + int position = mHasSavedPosition ? mSavedPosition : mPreviewImagePagerAdapter.getFilePosition(getFile()); position = (position >= 0) ? position : 0; mViewPager.setAdapter(mPreviewImagePagerAdapter); mViewPager.setOnPageChangeListener(this); @@ -193,8 +185,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { super.onWindowFocusChanged(hasFocus); // When the window loses focus (e.g. the action overflow is shown), - // cancel any pending hide action. When the window gains focus, - // hide the system UI. + // cancel any pending hide action. if (!hasFocus) { mHideSystemUiHandler.removeMessages(0); } @@ -324,7 +315,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { @Override protected void onResume() { super.onResume(); - //Log.e(TAG, "ACTIVITY, ONRESUME"); + mDownloadFinishReceiver = new DownloadFinishReceiver(); IntentFilter filter = new IntentFilter(FileDownloader.getDownloadFinishMessage()); @@ -334,14 +325,16 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { @Override protected void onPostResume() { - //Log.e(TAG, "ACTIVITY, ONPOSTRESUME"); super.onPostResume(); } @Override public void onPause() { - unregisterReceiver(mDownloadFinishReceiver); - mDownloadFinishReceiver = null; + if (mDownloadFinishReceiver != null){ + unregisterReceiver(mDownloadFinishReceiver); + mDownloadFinishReceiver = null; + } + super.onPause(); } @@ -382,6 +375,8 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { */ @Override public void onPageSelected(int position) { + mSavedPosition = position; + mHasSavedPosition = true; if (mDownloaderBinder == null) { mRequestWaitingForBinder = true; @@ -426,7 +421,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { /** - * Class waiting for broadcast events from the {@link FielDownloader} service. + * Class waiting for broadcast events from the {@link FileDownloader} service. * * Updates the UI when a download is started or finished, provided that it is relevant for the * folder displayed in the gallery. @@ -468,7 +463,8 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { if (isHoneycombOrHigher()) { - boolean visible = (mFullScreenAnchorView.getSystemUiVisibility() & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0; + boolean visible = (mFullScreenAnchorView.getSystemUiVisibility() + & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0; if (visible) { hideSystemUI(mFullScreenAnchorView); @@ -525,21 +521,6 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } } } - - - /** - * Launch an intent to request the PIN code to the user before letting him use the app - */ - private void requestPinCode() { - boolean pinStart = false; - SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - pinStart = appPrefs.getBoolean("set_pincode", false); - if (pinStart) { - Intent i = new Intent(getApplicationContext(), PinCodeActivity.class); - i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "PreviewImageActivity"); - startActivity(i); - } - } @Override public void onBrowsedDownTo(OCFile folder) { @@ -586,5 +567,4 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } return false; } - }