diff --git a/policy/src/com/android/internal/policy/impl/LockScreen.java b/policy/src/com/android/internal/policy/impl/LockScreen.java index b55d3b94615b7..2bc57b53f54c0 100644 --- a/policy/src/com/android/internal/policy/impl/LockScreen.java +++ b/policy/src/com/android/internal/policy/impl/LockScreen.java @@ -414,6 +414,9 @@ class LockScreen extends LinearLayout implements KeyguardScreen, public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn, int batteryLevel) { if (DBG) Log.d(TAG, "onRefreshBatteryInfo(" + showBatteryInfo + ", " + pluggedIn + ")"); + + mStatusView.onRefreshBatteryInfo(showBatteryInfo, pluggedIn, batteryLevel); + mShowingBatteryInfo = showBatteryInfo; mPluggedIn = pluggedIn; mBatteryLevel = batteryLevel; diff --git a/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java b/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java index be4032c2beca6..6c6c2cc843d7f 100644 --- a/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java +++ b/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java @@ -169,6 +169,9 @@ class PatternUnlockScreen extends LinearLayoutWithDefaultTouchRecepient } mStatusView = new StatusView(this, mUpdateMonitor, mLockPatternUtils); + // This shows up when no other information is required on status1 + mStatusView.setHelpMessage(R.string.lockscreen_pattern_instructions, + StatusView.LOCK_ICON); mLockPatternView = (LockPatternView) findViewById(R.id.lockPattern); @@ -216,8 +219,8 @@ class PatternUnlockScreen extends LinearLayoutWithDefaultTouchRecepient // assume normal footer mode for now updateFooter(FooterMode.Normal); - updateMonitor.registerInfoCallback(this); - updateMonitor.registerSimStateCallback(this); + mUpdateMonitor.registerInfoCallback(this); + mUpdateMonitor.registerSimStateCallback(this); setFocusableInTouchMode(true); // until we get an update... diff --git a/policy/src/com/android/internal/policy/impl/StatusView.java b/policy/src/com/android/internal/policy/impl/StatusView.java index 1caf0b7240220..5d32cf48800c6 100644 --- a/policy/src/com/android/internal/policy/impl/StatusView.java +++ b/policy/src/com/android/internal/policy/impl/StatusView.java @@ -19,10 +19,10 @@ import android.view.View; import android.widget.TextView; class StatusView { - private static final int LOCK_ICON = R.drawable.ic_lock_idle_lock; - private static final int ALARM_ICON = R.drawable.ic_lock_idle_alarm; - private static final int CHARGING_ICON = R.drawable.ic_lock_idle_charging; - private static final int BATTERY_LOW_ICON = R.drawable.ic_lock_idle_low_battery; + public static final int LOCK_ICON = R.drawable.ic_lock_idle_lock; + public static final int ALARM_ICON = R.drawable.ic_lock_idle_alarm; + public static final int CHARGING_ICON = R.drawable.ic_lock_idle_charging; + public static final int BATTERY_LOW_ICON = R.drawable.ic_lock_idle_low_battery; private String mDateFormatString; @@ -49,6 +49,8 @@ class StatusView { private TextView mAlarmStatus; private LockPatternUtils mLockPatternUtils; + private int mHelpMessageId; + private int mHelpIconId; private View findViewById(int id) { return mView.findViewById(id); @@ -148,8 +150,8 @@ class StatusView { */ void updateStatusLines(boolean showStatusLines) { if (!showStatusLines) { - mStatus1.setVisibility(showStatusLines ? View.VISIBLE : View.GONE); - mAlarmStatus.setVisibility(showStatusLines ? View.VISIBLE : View.GONE); + mStatus1.setVisibility(showStatusLines ? View.VISIBLE : View.INVISIBLE); + mAlarmStatus.setVisibility(showStatusLines ? View.VISIBLE : View.INVISIBLE); return; } @@ -171,7 +173,7 @@ class StatusView { mAlarmStatus.setText(nextAlarm); mAlarmStatus.setVisibility(View.VISIBLE); } else { - mAlarmStatus.setVisibility(View.GONE); + mAlarmStatus.setVisibility(View.INVISIBLE); } // Update Status1 @@ -199,13 +201,22 @@ class StatusView { } mStatus1.setVisibility(View.VISIBLE); } else { - // nothing specific to show; show general instructions - mStatus1.setText(R.string.lockscreen_pattern_instructions); - mStatus1.setCompoundDrawablesWithIntrinsicBounds(LOCK_ICON, 0,0, 0); - mStatus1.setVisibility(View.VISIBLE); + // nothing specific to show; show help message and icon, if provided + if (mHelpMessageId != 0) { + mStatus1.setText(mHelpMessageId); + mStatus1.setCompoundDrawablesWithIntrinsicBounds(mHelpIconId, 0,0, 0); + mStatus1.setVisibility(View.VISIBLE); + } else { + mStatus1.setVisibility(View.INVISIBLE); + } } } + void setHelpMessage(int messageId, int iconId) { + mHelpMessageId = messageId; + mHelpIconId = iconId; + } + void refreshTimeAndDateDisplay() { if (mHasDate) { mDate.setText(DateFormat.format(mDateFormatString, new Date()));