--- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
@@ -610,7 +610,14 @@ public class KeyguardViewMediator {
resetStateLocked(null);
} else if (why == WindowManagerPolicy.OFF_BECAUSE_OF_TIMEOUT
|| (why == WindowManagerPolicy.OFF_BECAUSE_OF_USER && !lockImmediately)) {
- doKeyguardLaterLocked();
+ final ContentResolver cr = mContext.getContentResolver();
+ long displayTimeout = Settings.System.getInt(cr, SCREEN_OFF_TIMEOUT,KEYGUARD_DISPLAY_TIMEOUT_DELAY_DEFAULT);
+ if(displayTimeout==600000){
+ shutdown();
+ doKeyguardLaterLocked();
+ }else{
+ doKeyguardLaterLocked();
+ }
} else if (why == WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR) {
// Do not enable the keyguard if the prox sensor forced the screen off.
} else {
@@ -646,6 +653,7 @@ public class KeyguardViewMediator {
// policy in effect. Make sure we don't go beyond policy limit.
displayTimeout = Math.max(displayTimeout, 0); // ignore negative values
timeout = Math.min(policyTimeout - displayTimeout, lockAfterTimeout);
+
} else {
timeout = lockAfterTimeout;
}
@@ -661,7 +669,8 @@ public class KeyguardViewMediator {
intent.putExtra("seq", mDelayedShowingSequence);
PendingIntent sender = PendingIntent.getBroadcast(mContext,
0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
- mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, when, sender);
+ mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, when, sender);
+
if (DEBUG) Log.d(TAG, "setting alarm to turn off keyguard, seq = "
+ mDelayedShowingSequence);
}
@@ -670,7 +679,14 @@ public class KeyguardViewMediator {
private void cancelDoKeyguardLaterLocked() {
mDelayedShowingSequence++;
}
-
+ public void shutdown(){
+ Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
+ //intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
+ //intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ mContext.startActivity(intent);
+ }
/**
* Let's us know the screen was turned on.
*/
(END)