mirror of
https://github.com/nextcloud/android.git
synced 2024-11-28 18:28:59 +03:00
PassCodeActivity: update lock timestamp when lock has just been set
Prevents asking for pass immediately after setting it Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
This commit is contained in:
parent
8b03556f71
commit
aafa7780f6
2 changed files with 11 additions and 3 deletions
|
@ -74,7 +74,7 @@ class PassCodeManager(private val preferences: AppPreferences) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!askedForPin && preferences.lockTimestamp != 0L) {
|
if (!askedForPin && preferences.lockTimestamp != 0L) {
|
||||||
preferences.lockTimestamp = SystemClock.elapsedRealtime()
|
updateLockTimestamp()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isExemptActivity(activity)) {
|
if (!isExemptActivity(activity)) {
|
||||||
|
@ -117,6 +117,10 @@ class PassCodeManager(private val preferences: AppPreferences) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun updateLockTimestamp() {
|
||||||
|
preferences.lockTimestamp = SystemClock.elapsedRealtime()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* `true` if the time elapsed since last unlock is longer than [PASS_CODE_TIMEOUT] and no activities are visible
|
* `true` if the time elapsed since last unlock is longer than [PASS_CODE_TIMEOUT] and no activities are visible
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -41,6 +41,7 @@ import com.nextcloud.client.di.Injectable;
|
||||||
import com.nextcloud.client.preferences.AppPreferences;
|
import com.nextcloud.client.preferences.AppPreferences;
|
||||||
import com.nextcloud.client.preferences.AppPreferencesImpl;
|
import com.nextcloud.client.preferences.AppPreferencesImpl;
|
||||||
import com.owncloud.android.R;
|
import com.owncloud.android.R;
|
||||||
|
import com.owncloud.android.authentication.PassCodeManager;
|
||||||
import com.owncloud.android.databinding.PasscodelockBinding;
|
import com.owncloud.android.databinding.PasscodelockBinding;
|
||||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||||
import com.owncloud.android.utils.theme.ThemeButtonUtils;
|
import com.owncloud.android.utils.theme.ThemeButtonUtils;
|
||||||
|
@ -74,6 +75,7 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
|
||||||
public final static String PREFERENCE_PASSCODE_D4 = "PrefPinCode4";
|
public final static String PREFERENCE_PASSCODE_D4 = "PrefPinCode4";
|
||||||
|
|
||||||
@Inject AppPreferences preferences;
|
@Inject AppPreferences preferences;
|
||||||
|
@Inject PassCodeManager passCodeManager;
|
||||||
private PasscodelockBinding binding;
|
private PasscodelockBinding binding;
|
||||||
private final EditText[] passCodeEditTexts = new EditText[4];
|
private final EditText[] passCodeEditTexts = new EditText[4];
|
||||||
private String [] passCodeDigits = {"","","",""};
|
private String [] passCodeDigits = {"","","",""};
|
||||||
|
@ -242,7 +244,7 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
|
||||||
preferences.resetPinWrongAttempts();
|
preferences.resetPinWrongAttempts();
|
||||||
|
|
||||||
/// pass code accepted in request, user is allowed to access the app
|
/// pass code accepted in request, user is allowed to access the app
|
||||||
AppPreferencesImpl.fromContext(this).setLockTimestamp(SystemClock.elapsedRealtime());
|
passCodeManager.updateLockTimestamp();
|
||||||
hideSoftKeyboard();
|
hideSoftKeyboard();
|
||||||
finish();
|
finish();
|
||||||
|
|
||||||
|
@ -254,7 +256,7 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
|
||||||
|
|
||||||
} else if (ACTION_CHECK_WITH_RESULT.equals(getIntent().getAction())) {
|
} else if (ACTION_CHECK_WITH_RESULT.equals(getIntent().getAction())) {
|
||||||
if (checkPassCode()) {
|
if (checkPassCode()) {
|
||||||
preferences.setLockTimestamp(SystemClock.elapsedRealtime());
|
passCodeManager.updateLockTimestamp();
|
||||||
Intent resultIntent = new Intent();
|
Intent resultIntent = new Intent();
|
||||||
resultIntent.putExtra(KEY_CHECK_RESULT, true);
|
resultIntent.putExtra(KEY_CHECK_RESULT, true);
|
||||||
setResult(RESULT_OK, resultIntent);
|
setResult(RESULT_OK, resultIntent);
|
||||||
|
@ -392,6 +394,8 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
|
||||||
|
|
||||||
setResult(RESULT_OK, resultIntent);
|
setResult(RESULT_OK, resultIntent);
|
||||||
|
|
||||||
|
passCodeManager.updateLockTimestamp();
|
||||||
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue