From: David A. Velasco Date: Thu, 30 Apr 2015 14:26:34 +0000 (+0200) Subject: Fixed lost uppercase X-Git-Tag: test~19^2~13 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/f1861497875cd33e3fa09df48fad140864161e60?ds=inline Fixed lost uppercase --- diff --git a/src/com/owncloud/android/authentication/PassCodeManager.java b/src/com/owncloud/android/authentication/PassCodeManager.java new file mode 100644 index 00000000..ee1ba714 --- /dev/null +++ b/src/com/owncloud/android/authentication/PassCodeManager.java @@ -0,0 +1,78 @@ +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; + +import java.util.HashSet; +import java.util.Set; + +public class PassCodeManager { + + private static final Set sExemptOfPasscodeActivites; + + static { + sExemptOfPasscodeActivites = new HashSet(); + sExemptOfPasscodeActivites.add(PinCodeActivity.class); + // other activities may be exempted, if needed + } + + private static int PASS_CODE_TIMEOUT = 1000; + // keeping a "low" value (not 0) is the easiest way to avoid prevent the pass code is requested on rotations + + public static PassCodeManager mPassCodeManagerInstance = null; + + public static PassCodeManager getPassCodeManager() { + if (mPassCodeManagerInstance == null) { + mPassCodeManagerInstance = new PassCodeManager(); + } + return mPassCodeManagerInstance; + } + + private Long mTimestamp = 0l; + private int mVisibleActivitiesCounter = 0; + + protected PassCodeManager() {}; + + public void onActivityStarted(Activity activity) { + if (!sExemptOfPasscodeActivites.contains(activity.getClass()) && + passCodeShouldBeRequested() + ){ + + Intent i = new Intent(MainApp.getAppContext(), PinCodeActivity.class); + i.setAction(PinCodeActivity.ACTION_REQUEST); + i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + activity.startActivity(i); + } + + mVisibleActivitiesCounter++; // AFTER passCodeShouldBeRequested was checked + } + + public void onActivityStopped(Activity activity) { + if (mVisibleActivitiesCounter > 0) { + mVisibleActivitiesCounter--; + } + setUnlockTimestamp(); + } + + private boolean passCodeShouldBeRequested(){ + if ((System.currentTimeMillis() - mTimestamp) > PASS_CODE_TIMEOUT && + mVisibleActivitiesCounter <= 0 + ){ + SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(MainApp.getAppContext()); + if (appPrefs.getBoolean("set_pincode", false)) { + return true; + } + } + return false; + } + + private void setUnlockTimestamp() { + mTimestamp = System.currentTimeMillis(); + } + +} diff --git a/src/com/owncloud/android/authentication/PasscodeManager.java b/src/com/owncloud/android/authentication/PasscodeManager.java deleted file mode 100644 index ee1ba714..00000000 --- a/src/com/owncloud/android/authentication/PasscodeManager.java +++ /dev/null @@ -1,78 +0,0 @@ -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; - -import java.util.HashSet; -import java.util.Set; - -public class PassCodeManager { - - private static final Set sExemptOfPasscodeActivites; - - static { - sExemptOfPasscodeActivites = new HashSet(); - sExemptOfPasscodeActivites.add(PinCodeActivity.class); - // other activities may be exempted, if needed - } - - private static int PASS_CODE_TIMEOUT = 1000; - // keeping a "low" value (not 0) is the easiest way to avoid prevent the pass code is requested on rotations - - public static PassCodeManager mPassCodeManagerInstance = null; - - public static PassCodeManager getPassCodeManager() { - if (mPassCodeManagerInstance == null) { - mPassCodeManagerInstance = new PassCodeManager(); - } - return mPassCodeManagerInstance; - } - - private Long mTimestamp = 0l; - private int mVisibleActivitiesCounter = 0; - - protected PassCodeManager() {}; - - public void onActivityStarted(Activity activity) { - if (!sExemptOfPasscodeActivites.contains(activity.getClass()) && - passCodeShouldBeRequested() - ){ - - Intent i = new Intent(MainApp.getAppContext(), PinCodeActivity.class); - i.setAction(PinCodeActivity.ACTION_REQUEST); - i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); - activity.startActivity(i); - } - - mVisibleActivitiesCounter++; // AFTER passCodeShouldBeRequested was checked - } - - public void onActivityStopped(Activity activity) { - if (mVisibleActivitiesCounter > 0) { - mVisibleActivitiesCounter--; - } - setUnlockTimestamp(); - } - - private boolean passCodeShouldBeRequested(){ - if ((System.currentTimeMillis() - mTimestamp) > PASS_CODE_TIMEOUT && - mVisibleActivitiesCounter <= 0 - ){ - SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(MainApp.getAppContext()); - if (appPrefs.getBoolean("set_pincode", false)) { - return true; - } - } - return false; - } - - private void setUnlockTimestamp() { - mTimestamp = System.currentTimeMillis(); - } - -}