Merge "Fix 3342063: Correctly update StatusView when battery changes." into honeycomb

This commit is contained in:
Jim Miller
2011-01-16 17:51:04 -08:00
committed by Android (Google) Code Review
3 changed files with 32 additions and 15 deletions

View File

@@ -311,8 +311,8 @@ class LockScreen extends LinearLayout implements KeyguardScreen,
setFocusableInTouchMode(true);
setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
updateMonitor.registerInfoCallback(this);
updateMonitor.registerSimStateCallback(this);
mUpdateMonitor.registerInfoCallback(this);
mUpdateMonitor.registerSimStateCallback(this);
mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
mSilentMode = isSilentMode();
@@ -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;

View File

@@ -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...

View File

@@ -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()));