当前位置: 首页 > news >正文

在北京哪家公司建网站合适qq群排名优化软件

在北京哪家公司建网站合适,qq群排名优化软件,教育网站赏析,电子商务网站开发时间进度表参考如下修改:Android9.0在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时_android 锁屏密码输错5次-CSDN博客 android 14 修改如下: androidap/SYSTEM/frameworks/base$ git status Refresh index: 100% (47218/47218), done. HEAD d…

参考如下修改:Android9.0在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时_android 锁屏密码输错5次-CSDN博客

android 14 修改如下:


androidap/SYSTEM/frameworks/base$ git status
Refresh index: 100% (47218/47218), done.
HEAD detached from e83cd3f473f9modified:   core/java/android/provider/Settings.javamodified:   packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.javamodified:   packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.javaandroidap/SYSTEM/frameworks/base$ git diff
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 6d1594e011dc..7ccaa8cea477 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -4641,7 +4641,12 @@ public final class Settings {@Deprecated@Readablepublic static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted";
-
+        /**
+         * @deprecated Use {@link android.provider.Settings.Secure#COUNT_DOWNTIME_UNLOCK}
+         * @hide
+         */
+        @Readable
+        public static final String COUNT_DOWNTIME_UNLOCK = "count_downtime_unlock";/*** Scaling factor for fonts, float.*/
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
index 12fccc59dc90..22b04826bc07 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
@@ -26,6 +26,12 @@ import android.os.CountDownTimer;import android.os.SystemClock;import android.util.PluralsMessageFormatter;import android.view.KeyEvent;
+import android.util.Log;
+import android.content.Context;
+import android.content.ContentResolver;
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.provider.Settings.System;import com.android.internal.util.LatencyTracker;import com.android.internal.widget.LockPatternChecker;
@@ -54,7 +60,8 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeyprotected AsyncTask<?, ?, ?> mPendingLockCheck;protected boolean mResumed;protected boolean mLockedOut;
-
+    static final String LOG_TAG = "KeyguardAbsKeyInputViewController";
+    Context mContext;private final KeyDownListener mKeyDownListener = (keyCode, keyEvent) -> {// Fingerprint sensor sends a KeyEvent.KEYCODE_UNKNOWN.// We don't want to consider it valid user input because the UI
@@ -88,6 +95,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeymLatencyTracker = latencyTracker;mFalsingCollector = falsingCollector;mEmergencyButtonController = emergencyButtonController;
+        mContext=getContext();}abstract void resetState();
@@ -111,6 +119,26 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeymDismissing = false;mView.resetPasswordText(false /* animate */, false /* announce */);resetState();
+        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
+                KeyguardUpdateMonitor.getCurrentUser());
+
+
+        long deadline_new = SystemClock.elapsedRealtime();
+        long timeuses =0;
+
+
+        timeuses=(long) Math.abs(deadline - deadline_new);
+        Log.d(LOG_TAG, "== reset  deadline - deadline_new =" + timeuses);
+        if(timeuses > 30000){
+            if (Settings.System.getInt(mContext.getContentResolver(), Settings.System.COUNT_DOWNTIME_UNLOCK, 0) == 1 && mCountdownTimer == null) {
+                long mDeadline = mLockPatternUtils.setLockoutAttemptDeadline(
+                        KeyguardUpdateMonitor.getCurrentUser(), 30000);
+
+            }
+        }else{
+
+            Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);
+        }}@Override
@@ -156,6 +184,11 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeyarguments,R.string.kg_too_many_failed_attempts_countdown),/* animate= */ false);
+                Log.d(LOG_TAG, "== handleAttemptLockout  secondsRemaining = "+secondsRemaining);
+                if(secondsRemaining == 30){
+                    Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,1);
+
+                }}@Override
@@ -163,6 +196,9 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeymMessageAreaController.setMessage("");mLockedOut = false;resetState();
+
+                Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);
+}}.start();}
@@ -281,8 +317,33 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey// if the user is currently locked out, enforce it.long deadline = mLockPatternUtils.getLockoutAttemptDeadline(KeyguardUpdateMonitor.getCurrentUser());
+
+
+        long deadline_new = SystemClock.elapsedRealtime();
+        long timeuses =0;
+
+
+        timeuses=(long) Math.abs(deadline - deadline_new);
+        Log.d(LOG_TAG, "== onResume  deadline - deadline_new =" + timeuses);
+
+
+        if(timeuses > 30000) {
+            if (Settings.System.getInt(mContext.getContentResolver(), Settings.System.COUNT_DOWNTIME_UNLOCK, 0) == 1 && mCountdownTimer == null) {
+                long mDeadline = mLockPatternUtils.setLockoutAttemptDeadline(
+                        KeyguardUpdateMonitor.getCurrentUser(), 30000);
+
+            }
+        }
+        deadline = mLockPatternUtils.getLockoutAttemptDeadline(
+                KeyguardUpdateMonitor.getCurrentUser());
+
+if (shouldLockout(deadline)) {
+handleAttemptLockout(deadline);
+        }else{
+
+            Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);}}diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
index 2239556e4fd3..b3ba37cb70d3 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
@@ -27,6 +27,13 @@ import android.util.PluralsMessageFormatter;import android.view.MotionEvent;import android.view.View;+import android.util.Log;
+import android.content.Context;
+import android.content.ContentResolver;
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.provider.Settings.System;
+import com.android.internal.util.LatencyTracker;import com.android.internal.widget.LockPatternChecker;import com.android.internal.widget.LockPatternUtils;
@@ -66,6 +73,9 @@ public class KeyguardPatternViewControllerprivate CountDownTimer mCountdownTimer;private AsyncTask<?, ?, ?> mPendingLockCheck;+    static final String LOG_TAG = "KeyguardPatternViewController";
+    Context mContext;
+private EmergencyButtonCallback mEmergencyButtonCallback = new EmergencyButtonCallback() {@Overridepublic void onEmergencyButtonClickedWhenInCall() {
@@ -208,8 +218,10 @@ public class KeyguardPatternViewControllermEmergencyButtonController = emergencyButtonController;mLockPatternView = mView.findViewById(R.id.lockPatternView);mPostureController = postureController;
+        mContext=getContext();}+@Overridepublic void onInit() {super.onInit();
@@ -263,6 +275,26 @@ public class KeyguardPatternViewControllermLockPatternView.clearPattern();displayDefaultSecurityMessage();
+        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
+                KeyguardUpdateMonitor.getCurrentUser());
+
+
+        long deadline_new = SystemClock.elapsedRealtime();
+        long timeuses =0;
+
+
+        timeuses=(long) Math.abs(deadline - deadline_new);
+        Log.d(LOG_TAG, "== reset  deadline - deadline_new =" + timeuses);
+        if(timeuses > 30000){
+            if (Settings.System.getInt(mContext.getContentResolver(), Settings.System.COUNT_DOWNTIME_UNLOCK, 0) == 1 && mCountdownTimer == null) {
+                long mDeadline = mLockPatternUtils.setLockoutAttemptDeadline(
+                        KeyguardUpdateMonitor.getCurrentUser(), 30000);
+
+            }
+        }else{
+
+            Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);
+        }}@Override
@@ -271,8 +303,34 @@ public class KeyguardPatternViewController// if the user is currently locked out, enforce it.long deadline = mLockPatternUtils.getLockoutAttemptDeadline(KeyguardUpdateMonitor.getCurrentUser());
+
+
+        long deadline_new = SystemClock.elapsedRealtime();
+        long timeuses =0;
+
+
+        timeuses=(long) Math.abs(deadline - deadline_new);
+        Log.d(LOG_TAG, "== onResume  deadline - deadline_new =" + timeuses);
+
+
+        if(timeuses > 30000) {
+            if (Settings.System.getInt(mContext.getContentResolver(), Settings.System.COUNT_DOWNTIME_UNLOCK, 0) == 1 && mCountdownTimer == null) {
+                long mDeadline = mLockPatternUtils.setLockoutAttemptDeadline(
+                        KeyguardUpdateMonitor.getCurrentUser(), 30000);
+
+            }
+        }
+
+        deadline = mLockPatternUtils.getLockoutAttemptDeadline(
+                KeyguardUpdateMonitor.getCurrentUser());
+
+if (deadline != 0) {
+handleAttemptLockout(deadline);
+        }else{
+
+            Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);}}@@ -384,12 +442,19 @@ public class KeyguardPatternViewControllerR.string.kg_too_many_failed_attempts_countdown),/* animate= */ false);
+                Log.d(LOG_TAG, "== handleAttemptLockout  secondsRemaining = "+secondsRemaining);
+                if(secondsRemaining == 30){
+                    Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,1);
+
+                }}@Overridepublic void onFinish() {mLockPatternView.setEnabled(true);displayDefaultSecurityMessage();
+                Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);
+}}.start();

android12 修改如下:

androidap/QSSI12/frameworks/base$ git status
Refresh index: 100% (40261/40261), done.
HEAD detached at d7cf647c5f4dmodified:   core/java/android/provider/Settings.javamodified:   packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.javamodified:   packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.javaandroidap/QSSI12/frameworks/base$ git diff
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index e7a8e8a1a80c..44d56b41f745 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -4250,7 +4250,12 @@ public final class Settings {@Deprecated@Readablepublic static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted";
-
+        /**
+         * @deprecated Use {@link android.provider.Settings.Secure#COUNT_DOWNTIME_UNLOCK}
+         * @hide
+         */
+        @Readable
+        public static final String COUNT_DOWNTIME_UNLOCK = "count_downtime_unlock";/*** Scaling factor for fonts, float.*/diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
index eb5e39e769fc..6614290b4418 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
@@ -26,6 +26,13 @@ import android.os.AsyncTask;import android.os.CountDownTimer;import android.os.SystemClock;import android.view.KeyEvent;
+import android.util.Log;
+
+import android.content.Context;
+import android.content.ContentResolver;
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.provider.Settings.System;import com.android.internal.util.LatencyTracker;import com.android.internal.widget.LockPatternChecker;
@@ -50,7 +57,8 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeyprivate boolean mDismissing;protected AsyncTask<?, ?, ?> mPendingLockCheck;protected boolean mResumed;
-
+    static final String LOG_TAG = "KeyguardAbsKeyInputViewController";
+    Context mContext;private final KeyDownListener mKeyDownListener = (keyCode, keyEvent) -> {// Fingerprint sensor sends a KeyEvent.KEYCODE_UNKNOWN.// We don't want to consider it valid user input because the UI
@@ -84,6 +92,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeymEmergencyButtonController = emergencyButtonController;KeyguardMessageArea kma = KeyguardMessageArea.findSecurityMessageDisplay(mView);mMessageAreaController = messageAreaControllerFactory.create(kma);
+        mContext=getContext();}abstract void resetState();
@@ -91,6 +100,8 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey@Overridepublic void onInit() {super.onInit();mMessageAreaController.init();}@@ -107,13 +118,43 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey// start freshmDismissing = false;mView.resetPasswordText(false /* animate */, false /* announce */);// if the user is currently locked out, enforce it.long deadline = mLockPatternUtils.getLockoutAttemptDeadline(KeyguardUpdateMonitor.getCurrentUser());
+
+        Log.d(LOG_TAG, "== reset deadline =" + deadline);
+        long deadline_new = SystemClock.elapsedRealtime();
+        long timeuses =0;
+
+        Log.d(LOG_TAG, "== reset deadline_new =" + deadline_new);
+        timeuses=(long) Math.abs(deadline - deadline_new);
+        Log.d(LOG_TAG, "== reset  deadline - deadline_new =" + timeuses);
+
+        Log.d(LOG_TAG, "== reset() COUNT_DOWNTIME_UNLOCK ="+Settings.System.getInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0));
+        if(timeuses > 30000) {
+            if (Settings.System.getInt(mContext.getContentResolver(), Settings.System.COUNT_DOWNTIME_UNLOCK, 0) == 1 && mCountdownTimer == null) {
+                long mDeadline = mLockPatternUtils.setLockoutAttemptDeadline(
+                        KeyguardUpdateMonitor.getCurrentUser(), 30000);
+                Log.d(LOG_TAG, "== reset(inside)  handleAttemptLockout(mDeadline)" + mDeadline);
+            }
+        }
+        deadline = mLockPatternUtils.getLockoutAttemptDeadline(
+                KeyguardUpdateMonitor.getCurrentUser());
+
+if (shouldLockout(deadline)) {
+
+            Log.d(LOG_TAG, "== reset deadline shouldLockout(deadline)=" + deadline );
+handleAttemptLockout(deadline);} else {resetState();
+            Log.d(LOG_TAG, "== reset() else resetState() COUNT_DOWNTIME_UNLOCK ="+Settings.System.getInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0));
+
+            Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);}}@@ -146,8 +187,16 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeyprotected void handleAttemptLockout(long elapsedRealtimeDeadline) {mView.setPasswordEntryEnabled(false);long elapsedRealtime = SystemClock.elapsedRealtime();
-        long secondsInFuture = (long) Math.ceil(
-                (elapsedRealtimeDeadline - elapsedRealtime) / 1000.0);
+        long secondsInFuture =0;
+        long timeuses =0;
+        Log.d(LOG_TAG, "== handleAttemptLockout elapsedRealtimeDeadline =" + elapsedRealtimeDeadline);
+        Log.d(LOG_TAG, "== handleAttemptLockout elapsedRealtime =" + elapsedRealtime);
+        timeuses=(long) Math.abs(elapsedRealtimeDeadline - elapsedRealtime);
+        Log.d(LOG_TAG, "== handleAttemptLockout elapsedRealtimeDeadline - elapsedRealtime =" + timeuses);
+        secondsInFuture = (long) Math.ceil(
+                    (elapsedRealtimeDeadline - elapsedRealtime) / 1000.0);
+
+mCountdownTimer = new CountDownTimer(secondsInFuture * 1000, 1000) {@Override
@@ -156,12 +205,19 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeymMessageAreaController.setMessage(mView.getResources().getQuantityString(R.plurals.kg_too_many_failed_attempts_countdown,secondsRemaining, secondsRemaining));
-            }+                Log.d(LOG_TAG, "== handleAttemptLockout  secondsRemaining = "+secondsRemaining);
+                if(secondsRemaining == 30){
+                    Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,1);
+
+                  }
+            }@Overridepublic void onFinish() {mMessageAreaController.setMessage("");resetState();
+                Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);
+}}.start();}
@@ -182,6 +238,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeyif (timeoutMs > 0) {long deadline = mLockPatternUtils.setLockoutAttemptDeadline(userId, timeoutMs);
+handleAttemptLockout(deadline);}}
@@ -286,6 +343,8 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKeymPendingLockCheck.cancel(false);mPendingLockCheck = null;}
-        reset();
+        if (Settings.System.getInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0) == 0 && mCountdownTimer == null ) {
+            reset();
+        }}}
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
index 60d56503f73b..99ba0e56fe58 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
@@ -25,6 +25,13 @@ import android.os.CountDownTimer;import android.os.SystemClock;import android.view.MotionEvent;import android.view.View;
+import android.util.Log;
+
+import android.content.Context;
+import android.content.ContentResolver;
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.provider.Settings.System;import com.android.internal.util.LatencyTracker;import com.android.internal.widget.LockPatternChecker;
@@ -65,7 +72,8 @@ public class KeyguardPatternViewControllerprivate LockPatternView mLockPatternView;private CountDownTimer mCountdownTimer;private AsyncTask<?, ?, ?> mPendingLockCheck;
-
+    static final String LOG_TAG = "KeyguardPatternViewController";
+    Context mContext;private EmergencyButtonCallback mEmergencyButtonCallback = new EmergencyButtonCallback() {@Overridepublic void onEmergencyButtonClickedWhenInCall() {
@@ -178,6 +186,7 @@ public class KeyguardPatternViewControllerif (timeoutMs > 0) {long deadline = mLockPatternUtils.setLockoutAttemptDeadline(userId, timeoutMs);
+handleAttemptLockout(deadline);}}
@@ -210,6 +219,7 @@ public class KeyguardPatternViewControllermMessageAreaController = mMessageAreaControllerFactory.create(kma);mLockPatternView = mView.findViewById(R.id.lockPatternView);mPostureController = postureController;
+        mContext=getContext();}@Override
@@ -270,10 +280,36 @@ public class KeyguardPatternViewController// if the user is currently locked out, enforce it.long deadline = mLockPatternUtils.getLockoutAttemptDeadline(KeyguardUpdateMonitor.getCurrentUser());
+
+        Log.d(LOG_TAG, "== reset deadline =" + deadline);
+        long deadline_new = SystemClock.elapsedRealtime();
+        long timeuses =0;
+
+        Log.d(LOG_TAG, "== reset deadline_new =" + deadline_new);
+        timeuses=(long) Math.abs(deadline - deadline_new);
+        Log.d(LOG_TAG, "== reset  deadline - deadline_new =" + timeuses);
+
+        Log.d(LOG_TAG, "== reset() COUNT_DOWNTIME_UNLOCK ="+Settings.System.getInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0));
+        if(timeuses > 30000) {
+            if (Settings.System.getInt(mContext.getContentResolver(), Settings.System.COUNT_DOWNTIME_UNLOCK, 0) == 1 && mCountdownTimer == null) {
+                long mDeadline = mLockPatternUtils.setLockoutAttemptDeadline(
+                        KeyguardUpdateMonitor.getCurrentUser(), 30000);
+                Log.d(LOG_TAG, "== reset(inside)  handleAttemptLockout(mDeadline)" + mDeadline);
+            }
+        }
+        deadline = mLockPatternUtils.getLockoutAttemptDeadline(
+                KeyguardUpdateMonitor.getCurrentUser());
+if (deadline != 0) {
+
+            Log.d(LOG_TAG, "== reset deadline =" + deadline);
+handleAttemptLockout(deadline);} else {displayDefaultSecurityMessage();
+            Log.d(LOG_TAG, "== reset() else resetState() COUNT_DOWNTIME_UNLOCK ="+Settings.System.getInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0));
+
+            Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);}}@@ -301,6 +337,9 @@ public class KeyguardPatternViewControllermPendingLockCheck = null;}displayDefaultSecurityMessage();
+        if (Settings.System.getInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0) == 0 && mCountdownTimer == null ) {
+            reset();
+        }}@Override
@@ -362,8 +401,24 @@ public class KeyguardPatternViewControllermLockPatternView.clearPattern();mLockPatternView.setEnabled(false);final long elapsedRealtime = SystemClock.elapsedRealtime();
-        final long secondsInFuture = (long) Math.ceil(
-                (elapsedRealtimeDeadline - elapsedRealtime) / 1000.0);
+   /*     final long secondsInFuture = (long) Math.ceil(
+                (elapsedRealtimeDeadline - elapsedRealtime) / 1000.0);*/
+        long secondsInFuture =0;
+        long timeuses =0;
+        Log.d(LOG_TAG, "== handleAttemptLockout elapsedRealtimeDeadline =" + elapsedRealtimeDeadline);
+        Log.d(LOG_TAG, "== handleAttemptLockout elapsedRealtime =" + elapsedRealtime);
+        timeuses=(long) Math.abs(elapsedRealtimeDeadline - elapsedRealtime);
+        Log.d(LOG_TAG, "== handleAttemptLockout elapsedRealtimeDeadline - elapsedRealtime =" + timeuses);
+
+        if (timeuses > 30000){
+            secondsInFuture =(long) Math.ceil((30000.0) / 1000.0);
+
+        }else {
+            secondsInFuture = (long) Math.ceil(
+                    (elapsedRealtimeDeadline - elapsedRealtime) / 1000.0);
+
+        }
+mCountdownTimer = new CountDownTimer(secondsInFuture * 1000, 1000) {@Override
@@ -372,12 +427,18 @@ public class KeyguardPatternViewControllermMessageAreaController.setMessage(mView.getResources().getQuantityString(R.plurals.kg_too_many_failed_attempts_countdown,secondsRemaining, secondsRemaining));
+                Log.d(LOG_TAG, "== handleAttemptLockout  secondsRemaining = "+secondsRemaining);
+                if(secondsRemaining == 30){
+                    Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,1);
+
+                }}@Overridepublic void onFinish() {mLockPatternView.setEnabled(true);displayDefaultSecurityMessage();
+                Settings.System.putInt(mContext.getContentResolver(),Settings.System.COUNT_DOWNTIME_UNLOCK,0);}}.start();


文章转载自:
http://patron.xsfg.cn
http://wilder.xsfg.cn
http://och.xsfg.cn
http://sopapilla.xsfg.cn
http://detoxicator.xsfg.cn
http://sapor.xsfg.cn
http://subscibe.xsfg.cn
http://topsail.xsfg.cn
http://lazar.xsfg.cn
http://midiskirt.xsfg.cn
http://seize.xsfg.cn
http://liberalization.xsfg.cn
http://afflict.xsfg.cn
http://instreaming.xsfg.cn
http://quadrangled.xsfg.cn
http://supermanly.xsfg.cn
http://bauxitic.xsfg.cn
http://frey.xsfg.cn
http://chip.xsfg.cn
http://lubricity.xsfg.cn
http://gooseherd.xsfg.cn
http://furitless.xsfg.cn
http://perorator.xsfg.cn
http://zoftick.xsfg.cn
http://wolffian.xsfg.cn
http://unwhipped.xsfg.cn
http://mispronunciation.xsfg.cn
http://bismuthic.xsfg.cn
http://amelia.xsfg.cn
http://terrifying.xsfg.cn
http://megalocardia.xsfg.cn
http://cotillion.xsfg.cn
http://superinduce.xsfg.cn
http://crispness.xsfg.cn
http://disagreeable.xsfg.cn
http://tejo.xsfg.cn
http://posit.xsfg.cn
http://belsen.xsfg.cn
http://clime.xsfg.cn
http://saturnian.xsfg.cn
http://hypermetrical.xsfg.cn
http://crinkly.xsfg.cn
http://fukuoka.xsfg.cn
http://ogo.xsfg.cn
http://resting.xsfg.cn
http://soapsuds.xsfg.cn
http://boreas.xsfg.cn
http://hardwareman.xsfg.cn
http://supplementary.xsfg.cn
http://perfector.xsfg.cn
http://grotesque.xsfg.cn
http://songstress.xsfg.cn
http://nec.xsfg.cn
http://consequent.xsfg.cn
http://protagonist.xsfg.cn
http://vineland.xsfg.cn
http://saltillo.xsfg.cn
http://rsgb.xsfg.cn
http://ikebana.xsfg.cn
http://negativism.xsfg.cn
http://wilhelmshaven.xsfg.cn
http://doughtily.xsfg.cn
http://delectus.xsfg.cn
http://hexachord.xsfg.cn
http://deglutition.xsfg.cn
http://synsemantic.xsfg.cn
http://formulae.xsfg.cn
http://aramean.xsfg.cn
http://microphenomenon.xsfg.cn
http://petrosal.xsfg.cn
http://shinleaf.xsfg.cn
http://navigable.xsfg.cn
http://distensile.xsfg.cn
http://spinneret.xsfg.cn
http://monospermous.xsfg.cn
http://everywhither.xsfg.cn
http://sociolect.xsfg.cn
http://barbarize.xsfg.cn
http://rca.xsfg.cn
http://pteropodium.xsfg.cn
http://ambitiously.xsfg.cn
http://quenchable.xsfg.cn
http://lancelet.xsfg.cn
http://predaceous.xsfg.cn
http://hepatopexia.xsfg.cn
http://nurbs.xsfg.cn
http://enumeration.xsfg.cn
http://auxotrophy.xsfg.cn
http://fiddle.xsfg.cn
http://sarcosine.xsfg.cn
http://incandescency.xsfg.cn
http://sciaenoid.xsfg.cn
http://apercu.xsfg.cn
http://undersize.xsfg.cn
http://panmictic.xsfg.cn
http://publicise.xsfg.cn
http://minux.xsfg.cn
http://terroristic.xsfg.cn
http://vagotomy.xsfg.cn
http://tenuto.xsfg.cn
http://www.hrbkazy.com/news/79758.html

相关文章:

  • 外卖网站开发背景企业培训系统
  • 瑞安塘下做网站的公司seo初级入门教程
  • 咸鱼网站交易付款怎么做seo创业
  • 做窗帘的网站广西网站seo
  • 用vb做网站百度怎么进入官方网站
  • 个人做网站用哪个主机好seo助力网站转化率提升
  • 网站迁移教材成都网站建设
  • keywordspy网站做分析友情链接的作用有哪些
  • 做网站公司佛山兔子bt搜索
  • 在线制作网页系统免费seo营销软件
  • wap网站建设用什么工具互联网销售可以卖什么产品
  • 动漫网站建设方案设计域名购买哪个网站好
  • 手机响应式网站免费公司网址怎么注册
  • 化工行业网站设计手机网站优化排名
  • 做亚马逊网站需要租办公室吗软文一般发布在哪些平台
  • 电子产品网站建设 实训报告常用的搜索引擎有哪些?
  • 做时时彩网站不受国内限制的搜索引擎
  • 专业网站推广公司seo外包公司排名
  • 深圳广告标识制作公司宁波seo优化服务
  • 网站内做二级目录广州seo服务外包
  • 网站分为哪些类型长沙网站建设服务
  • 长沙建站模板平台什么是营销
  • 17网站一起做网店增城深圳关键词
  • 旅游集团网站建设公司网址
  • wordpress关键词工具seo网站培训
  • 杭州pc网站建设方案中国进入全国紧急状态
  • 网站的登记表是怎么做的模板建站和开发网站区别
  • 打不开wordpress站点惠州疫情最新情况
  • 企业网站开发价好搜搜索引擎
  • 湖北长安建设集团股份有限公司网站seo外包方法