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

Commit 0401a27e authored by beanstown106's avatar beanstown106 Committed by Bruno Martins
Browse files

SystemUI: Allow to enable Lockscreen Media Art [1/3]

Change-Id: Id93e115649df5d6dc680101a8c852644b217c28a
parent bea3d33f
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -68,6 +68,9 @@ import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.DeviceConfigProxy;
import com.android.systemui.util.Utils;
import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.tuner.TunerService;

import lineageos.providers.LineageSettings;

import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -84,10 +87,13 @@ import dagger.Lazy;
 * Handles tasks and state related to media notifications. For example, there is a 'current' media
 * notification, which this class keeps track of.
 */
public class NotificationMediaManager implements Dumpable {
public class NotificationMediaManager implements Dumpable, TunerService.Tunable {
    private static final String TAG = "NotificationMediaManager";
    public static final boolean DEBUG_MEDIA = false;

    private static final String LOCKSCREEN_MEDIA_METADATA =
            "lineagesecure:" + LineageSettings.Secure.LOCKSCREEN_MEDIA_METADATA;

    private final StatusBarStateController mStatusBarStateController
            = Dependency.get(StatusBarStateController.class);
    private final SysuiColorExtractor mColorExtractor = Dependency.get(SysuiColorExtractor.class);
@@ -135,6 +141,8 @@ public class NotificationMediaManager implements Dumpable {
    private ImageView mBackdropBack;

    private boolean mShowCompactMediaSeekbar;
    private boolean mShowMediaMetadata;

    private final DeviceConfig.OnPropertiesChangedListener mPropertiesChangedListener =
            new DeviceConfig.OnPropertiesChangedListener() {
        @Override
@@ -246,6 +254,17 @@ public class NotificationMediaManager implements Dumpable {
        deviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
                mContext.getMainExecutor(),
                mPropertiesChangedListener);

        final TunerService tunerService = Dependency.get(TunerService.class);
        tunerService.addTunable(this, LOCKSCREEN_MEDIA_METADATA);
    }

    @Override
    public void onTuningChanged(String key, String newValue) {
        if (LOCKSCREEN_MEDIA_METADATA.equals(key)) {
            mShowMediaMetadata = TunerService.parseIntegerSwitch(newValue, false);
            dispatchUpdateMediaMetaData(false /* changed */, true /* allowAnimation */);
        }
    }

    /**
@@ -519,7 +538,7 @@ public class NotificationMediaManager implements Dumpable {
            }
            mProcessArtworkTasks.clear();
        }
        if (artworkBitmap != null && !Utils.useQsMediaPlayer(mContext)) {
        if (artworkBitmap != null) {
            mProcessArtworkTasks.add(new ProcessArtworkTask(this, metaDataChanged,
                    allowEnterAnimation).execute(artworkBitmap));
        } else {
@@ -532,7 +551,7 @@ public class NotificationMediaManager implements Dumpable {
    private void finishUpdateMediaMetaData(boolean metaDataChanged, boolean allowEnterAnimation,
            @Nullable Bitmap bmp) {
        Drawable artworkDrawable = null;
        if (bmp != null) {
        if (bmp != null && (mShowMediaMetadata || !ENABLE_LOCKSCREEN_WALLPAPER)) {
            artworkDrawable = new BitmapDrawable(mBackdropBack.getResources(), bmp);
        }
        boolean hasMediaArtwork = artworkDrawable != null;