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

Commit 3fea58c0 authored by Roman Birg's avatar Roman Birg Committed by Steve Kondik
Browse files

SystemUI: allow lock screen visualizer to be disabled



Change-Id: I36a81071ad0d8f898b17a5e72ebea48672e62b9c
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent dab37e92
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -6021,6 +6021,13 @@ public final class Settings {
         */
        public static final String LIVE_DISPLAY_COLOR_MATRIX = "live_display_color_matrix";

        /**
         * Whether to show the lockscreen visualizer.
         * 0 will disable it, anything else will enable it. Default is on.
         * @hide
         */
        public static final String LOCKSCREEN_VISUALIZER_ENABLED = "lockscreen_visualizer";

        /**
         * This are the settings to be backed up.
         *
+41 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone;
import android.app.ActivityManagerNative;
import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -36,9 +37,11 @@ import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.RemoteException;
import android.os.UserHandle;
import android.provider.MediaStore;
import android.provider.Settings;
import android.telecom.TelecomManager;
import android.util.AttributeSet;
import android.util.Log;
@@ -57,6 +60,7 @@ import com.android.keyguard.EmergencyButton;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.R;
import com.android.systemui.cm.UserContentObserver;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardAffordanceView;
import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -124,6 +128,8 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
    private VisualizerView mVisualizer;
    private boolean mScreenOn;
    private boolean mLinked;
    private boolean mVisualizerEnabled;
    private SettingsObserver mSettingsObserver;

    public KeyguardBottomAreaView(Context context) {
        this(context, null);
@@ -143,6 +149,8 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
        mTrustDrawable = new TrustDrawable(mContext);
        mLinearOutSlowInInterpolator =
                AnimationUtils.loadInterpolator(context, android.R.interpolator.linear_out_slow_in);
        mSettingsObserver = new SettingsObserver(new Handler());
        mSettingsObserver.observe();
    }

    private AccessibilityDelegate mAccessibilityDelegate = new AccessibilityDelegate() {
@@ -709,6 +717,9 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
    }

    public void requestVisualizer(boolean show, int delay) {
        if (!mVisualizerEnabled) {
            return;
        }
        removeCallbacks(mStartVisualizer);
        removeCallbacks(mStopVisualizer);
        if (DEBUG) Log.d(TAG, "requestVisualizer(show: " + show + ", delay: " + delay + ")");
@@ -813,4 +824,34 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
            });
        }
    };

    private class SettingsObserver extends UserContentObserver {
        SettingsObserver(Handler handler) {
            super(handler);
        }

        @Override
        protected void observe() {
            super.observe();
            ContentResolver resolver = mContext.getContentResolver();
            resolver.registerContentObserver(Settings.Secure.getUriFor(
                    Settings.Secure.LOCKSCREEN_VISUALIZER_ENABLED),
                    false, this, UserHandle.USER_ALL);
            update();
        }

        @Override
        protected void unobserve() {
            super.unobserve();
            mContext.getContentResolver().unregisterContentObserver(this);
        }

        @Override
        public void update() {
            ContentResolver resolver = mContext.getContentResolver();
            mVisualizerEnabled = Settings.Secure.getIntForUser(resolver,
                    Settings.Secure.LOCKSCREEN_VISUALIZER_ENABLED, 1, UserHandle.USER_CURRENT) != 0;

        }
    }
}