* commit '057d9f16f793c3796751913ad2eeb12582a7626b':
Fix 3342063: Correctly update StatusView when battery changes.
This commit is contained in:
@@ -414,6 +414,9 @@ class LockScreen extends LinearLayout implements KeyguardScreen,
|
|||||||
public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn,
|
public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn,
|
||||||
int batteryLevel) {
|
int batteryLevel) {
|
||||||
if (DBG) Log.d(TAG, "onRefreshBatteryInfo(" + showBatteryInfo + ", " + pluggedIn + ")");
|
if (DBG) Log.d(TAG, "onRefreshBatteryInfo(" + showBatteryInfo + ", " + pluggedIn + ")");
|
||||||
|
|
||||||
|
mStatusView.onRefreshBatteryInfo(showBatteryInfo, pluggedIn, batteryLevel);
|
||||||
|
|
||||||
mShowingBatteryInfo = showBatteryInfo;
|
mShowingBatteryInfo = showBatteryInfo;
|
||||||
mPluggedIn = pluggedIn;
|
mPluggedIn = pluggedIn;
|
||||||
mBatteryLevel = batteryLevel;
|
mBatteryLevel = batteryLevel;
|
||||||
|
|||||||
@@ -169,6 +169,9 @@ class PatternUnlockScreen extends LinearLayoutWithDefaultTouchRecepient
|
|||||||
}
|
}
|
||||||
|
|
||||||
mStatusView = new StatusView(this, mUpdateMonitor, mLockPatternUtils);
|
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);
|
mLockPatternView = (LockPatternView) findViewById(R.id.lockPattern);
|
||||||
|
|
||||||
@@ -216,8 +219,8 @@ class PatternUnlockScreen extends LinearLayoutWithDefaultTouchRecepient
|
|||||||
// assume normal footer mode for now
|
// assume normal footer mode for now
|
||||||
updateFooter(FooterMode.Normal);
|
updateFooter(FooterMode.Normal);
|
||||||
|
|
||||||
updateMonitor.registerInfoCallback(this);
|
mUpdateMonitor.registerInfoCallback(this);
|
||||||
updateMonitor.registerSimStateCallback(this);
|
mUpdateMonitor.registerSimStateCallback(this);
|
||||||
setFocusableInTouchMode(true);
|
setFocusableInTouchMode(true);
|
||||||
|
|
||||||
// until we get an update...
|
// until we get an update...
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ import android.view.View;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
class StatusView {
|
class StatusView {
|
||||||
private static final int LOCK_ICON = R.drawable.ic_lock_idle_lock;
|
public static final int LOCK_ICON = R.drawable.ic_lock_idle_lock;
|
||||||
private static final int ALARM_ICON = R.drawable.ic_lock_idle_alarm;
|
public static final int ALARM_ICON = R.drawable.ic_lock_idle_alarm;
|
||||||
private static final int CHARGING_ICON = R.drawable.ic_lock_idle_charging;
|
public 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 BATTERY_LOW_ICON = R.drawable.ic_lock_idle_low_battery;
|
||||||
|
|
||||||
private String mDateFormatString;
|
private String mDateFormatString;
|
||||||
|
|
||||||
@@ -49,6 +49,8 @@ class StatusView {
|
|||||||
|
|
||||||
private TextView mAlarmStatus;
|
private TextView mAlarmStatus;
|
||||||
private LockPatternUtils mLockPatternUtils;
|
private LockPatternUtils mLockPatternUtils;
|
||||||
|
private int mHelpMessageId;
|
||||||
|
private int mHelpIconId;
|
||||||
|
|
||||||
private View findViewById(int id) {
|
private View findViewById(int id) {
|
||||||
return mView.findViewById(id);
|
return mView.findViewById(id);
|
||||||
@@ -148,8 +150,8 @@ class StatusView {
|
|||||||
*/
|
*/
|
||||||
void updateStatusLines(boolean showStatusLines) {
|
void updateStatusLines(boolean showStatusLines) {
|
||||||
if (!showStatusLines) {
|
if (!showStatusLines) {
|
||||||
mStatus1.setVisibility(showStatusLines ? View.VISIBLE : View.GONE);
|
mStatus1.setVisibility(showStatusLines ? View.VISIBLE : View.INVISIBLE);
|
||||||
mAlarmStatus.setVisibility(showStatusLines ? View.VISIBLE : View.GONE);
|
mAlarmStatus.setVisibility(showStatusLines ? View.VISIBLE : View.INVISIBLE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,7 +173,7 @@ class StatusView {
|
|||||||
mAlarmStatus.setText(nextAlarm);
|
mAlarmStatus.setText(nextAlarm);
|
||||||
mAlarmStatus.setVisibility(View.VISIBLE);
|
mAlarmStatus.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
mAlarmStatus.setVisibility(View.GONE);
|
mAlarmStatus.setVisibility(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update Status1
|
// Update Status1
|
||||||
@@ -199,13 +201,22 @@ class StatusView {
|
|||||||
}
|
}
|
||||||
mStatus1.setVisibility(View.VISIBLE);
|
mStatus1.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
// nothing specific to show; show general instructions
|
// nothing specific to show; show help message and icon, if provided
|
||||||
mStatus1.setText(R.string.lockscreen_pattern_instructions);
|
if (mHelpMessageId != 0) {
|
||||||
mStatus1.setCompoundDrawablesWithIntrinsicBounds(LOCK_ICON, 0,0, 0);
|
mStatus1.setText(mHelpMessageId);
|
||||||
mStatus1.setVisibility(View.VISIBLE);
|
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() {
|
void refreshTimeAndDateDisplay() {
|
||||||
if (mHasDate) {
|
if (mHasDate) {
|
||||||
mDate.setText(DateFormat.format(mDateFormatString, new Date()));
|
mDate.setText(DateFormat.format(mDateFormatString, new Date()));
|
||||||
|
|||||||
Reference in New Issue
Block a user