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

Commit cc2b05b6 authored by Danesh M's avatar Danesh M Committed by Gerrit Code Review
Browse files

Merge "Keyguard: fix statusbar lags when default widget shown." into cm-11.0

parents 22a7c840 aa2a9d6b
Loading
Loading
Loading
Loading
+33 −8
Original line number Diff line number Diff line
@@ -16,8 +16,14 @@

package com.android.keyguard;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.os.Handler;
import android.provider.Settings;
import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.AttributeSet;
@@ -49,14 +55,6 @@ public class KeyguardStatusView extends GridLayout {
            refresh();
        }

        @Override
        void onKeyguardVisibilityChanged(boolean showing) {
            if (showing) {
                if (DEBUG) Slog.v(TAG, "refresh statusview showing:" + showing);
                refresh();
            }
        };

        @Override
        public void onScreenTurnedOn() {
            setEnableMarquee(true);
@@ -68,6 +66,20 @@ public class KeyguardStatusView extends GridLayout {
        };
    };

    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            refresh();
        }
    };

    private ContentObserver mContentObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            refresh();
        }
    };

    public KeyguardStatusView(Context context) {
        this(context, null, 0);
    }
@@ -137,12 +149,25 @@ public class KeyguardStatusView extends GridLayout {
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mInfoCallback);

        IntentFilter f = new IntentFilter();
        f.addAction(Intent.ACTION_LOCALE_CHANGED);
        mContext.registerReceiver(mBroadcastReceiver, f);

        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.TIME_12_24), false, mContentObserver);
        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.NEXT_ALARM_FORMATTED),
                false, mContentObserver);
    }

    @Override
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        KeyguardUpdateMonitor.getInstance(mContext).removeCallback(mInfoCallback);

        mContext.unregisterReceiver(mBroadcastReceiver);
        mContext.getContentResolver().unregisterContentObserver(mContentObserver);
    }

    public int getAppWidgetId() {