From: tobiasKaminsky Date: Tue, 30 Dec 2014 08:32:33 +0000 (+0100) Subject: fix double pin entry on start X-Git-Tag: test~19^2~24 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/5def3658a9d2e7f6e7580228bd0271d5a532ba0c?ds=inline;hp=--cc fix double pin entry on start --- 5def3658a9d2e7f6e7580228bd0271d5a532ba0c diff --git a/src/com/owncloud/android/authentication/PinCheck.java b/src/com/owncloud/android/authentication/PinCheck.java index 7be77411..f8423eb2 100644 --- a/src/com/owncloud/android/authentication/PinCheck.java +++ b/src/com/owncloud/android/authentication/PinCheck.java @@ -1,25 +1,26 @@ package com.owncloud.android.authentication; import android.app.Activity; -import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import com.owncloud.android.MainApp; -import com.owncloud.android.ui.activity.PinCodeActivity; public class PinCheck extends Activity { private static Long timestamp = 0l; + private static Long lastStart = 0l; public static void setUnlockTimestamp() { timestamp = System.currentTimeMillis(); } public static boolean checkIfPinEntry(){ - if ((System.currentTimeMillis() - timestamp) > 10000){ + if ((System.currentTimeMillis() - timestamp) > 10000 && + (System.currentTimeMillis() - lastStart) > 10000){ SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(MainApp.getAppContext()); if (appPrefs.getBoolean("set_pincode", false)) { + lastStart = System.currentTimeMillis(); return true; } } diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 2283932e..e1fc9018 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -25,7 +25,6 @@ import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AuthenticatorException; import android.accounts.OperationCanceledException; -import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.AlertDialog; import android.app.Dialog; @@ -178,12 +177,6 @@ OnSslUntrustedCertListener, OnEnforceableRefreshListener { startActivity(i); } -// if (mUnlocked == false){ -// checkIfRequestPin(savedInstanceState); -// } else { -// mUnlocked = false; -// } - /// grant that FileObserverService is watching favorite files if (savedInstanceState == null) { Intent initObserversIntent = FileObserverService.makeInitIntent(this); @@ -816,9 +809,7 @@ OnSslUntrustedCertListener, OnEnforceableRefreshListener { i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "FileDisplayActivity"); startActivity(i); } - } - private void resume(){ // refresh list of files refreshListOfFilesFragment(); diff --git a/src/com/owncloud/android/ui/activity/PinCodeActivity.java b/src/com/owncloud/android/ui/activity/PinCodeActivity.java index defa0de4..f187c0e8 100644 --- a/src/com/owncloud/android/ui/activity/PinCodeActivity.java +++ b/src/com/owncloud/android/ui/activity/PinCodeActivity.java @@ -18,15 +18,6 @@ package com.owncloud.android.ui.activity; import java.util.Arrays; -import com.actionbarsherlock.app.ActionBar; -import com.actionbarsherlock.app.SherlockFragmentActivity; -import com.owncloud.android.MainApp; -import com.owncloud.android.R; -import com.owncloud.android.authentication.PinCheck; -import com.owncloud.android.utils.DisplayUtils; - -import android.app.AlertDialog; -import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; @@ -43,6 +34,12 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.app.SherlockFragmentActivity; +import com.owncloud.android.R; +import com.owncloud.android.authentication.PinCheck; +import com.owncloud.android.utils.DisplayUtils; + public class PinCodeActivity extends SherlockFragmentActivity { @@ -368,17 +365,12 @@ public class PinCodeActivity extends SherlockFragmentActivity { mPinCodeChecked = checkPincode(); } -// if (mPinCodeChecked && -// ( mActivity.equals("FileDisplayActivity") || mActivity.equals("PreviewImageActivity") ) ){ -// Intent data = new Intent(); -// data.putExtra(EXTRA_PIN_CORRECT, true); -// setResult(RESULT_FIRST_USER, data); -// finish(); - - if (mPinCodeChecked){ + if (mPinCodeChecked && + (mActivity.equals("FileDisplayActivity") || mActivity.equals("PreviewImageActivity"))){ PinCheck.setUnlockTimestamp(); finish(); } else if (mPinCodeChecked){ + PinCheck.setUnlockTimestamp(); Intent intent = getIntent(); String newState = intent.getStringExtra(EXTRA_NEW_STATE); diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index 1d80a703..368158d0 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -50,6 +50,7 @@ import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.authentication.AuthenticatorActivity; +import com.owncloud.android.authentication.PinCheck; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.db.DbHandler; import com.owncloud.android.lib.common.utils.Log_OC; @@ -308,6 +309,8 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa @Override protected void onPause() { super.onPause(); + + PinCheck.setUnlockTimestamp(); } @Override diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index 514d69b3..8dc59e92 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -17,20 +17,17 @@ package com.owncloud.android.ui.preview; import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.content.BroadcastReceiver; import android.content.ComponentName; 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; @@ -110,7 +107,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { // PIN CODE request if (PinCheck.checkIfPinEntry()){ Intent i = new Intent(MainApp.getAppContext(), PinCodeActivity.class); - i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "FileDisplayActivity"); + i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "PreviewImageActivity"); startActivity(i); } @@ -332,12 +329,10 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { if (PinCheck.checkIfPinEntry()){ Intent i = new Intent(MainApp.getAppContext(), PinCodeActivity.class); - i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "FileDisplayActivity"); + i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "PreviewImageActivity"); startActivity(i); } - } - - private void resume(){ + //Log_OC.e(TAG, "ACTIVITY, ONRESUME"); mDownloadFinishReceiver = new DownloadFinishReceiver(); @@ -345,7 +340,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { filter.addAction(FileDownloader.getDownloadAddedMessage()); registerReceiver(mDownloadFinishReceiver, filter); } - + @Override protected void onPostResume() { //Log_OC.e(TAG, "ACTIVITY, ONPOSTRESUME");