Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 057d9f16 authored by Jim Miller's avatar Jim Miller Committed by Android (Google) Code Review
Browse files

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

parents 7f13a850 fc5001a5
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;
+5 −2
Original line number Diff line number Diff line
@@ -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...
+22 −11
Original line number Diff line number Diff line
@@ -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);
            // 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()));