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

Commit d6513294 authored by Jorge Ruesga's avatar Jorge Ruesga Committed by Gerrit Code Review
Browse files

base: don't refresh visualizer tile once the tile is destroyed



Change-Id: Id32693e1224324b0536acd07607163cdc1b470db
Signed-off-by: default avatarJorge Ruesga <jorge@ruesga.com>
parent 902185b5
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.systemui.qs.tiles;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -27,10 +25,6 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.media.audiofx.AudioEffect;
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.media.session.MediaSessionManager;
import android.media.session.PlaybackState;
import android.os.AsyncTask;
import android.os.PowerManager;
import android.view.Gravity;
@@ -47,10 +41,6 @@ import com.pheelicks.visualizer.FFTData;
import com.pheelicks.visualizer.VisualizerView;
import com.pheelicks.visualizer.renderer.Renderer;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class VisualizerTile extends QSTile<QSTile.State> implements KeyguardMonitor.Callback {

    private static final Intent AUDIO_EFFECTS =
@@ -65,6 +55,8 @@ public class VisualizerTile extends QSTile<QSTile.State> implements KeyguardMoni

    private MediaMonitor mMediaMonitor;

    private boolean mDestroyed;

    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
@@ -184,8 +176,10 @@ public class VisualizerTile extends QSTile<QSTile.State> implements KeyguardMoni
        state.contentDescription = mContext.getString(
                R.string.accessibility_quick_settings_visualizer);

        if (!mDestroyed) {
            mUiHandler.post(mUpdateVisibilities);
        }
    }

    @Override
    public void setListening(boolean listening) {
@@ -197,6 +191,7 @@ public class VisualizerTile extends QSTile<QSTile.State> implements KeyguardMoni

    @Override
    protected void handleDestroy() {
        mDestroyed = true;
        mMediaMonitor.setListening(false);
        mMediaMonitor = null;
        super.handleDestroy();
@@ -244,7 +239,9 @@ public class VisualizerTile extends QSTile<QSTile.State> implements KeyguardMoni
    private final Runnable mUpdateVisibilities = new Runnable() {
        @Override
        public void run() {
            boolean showVz = mMediaMonitor.isAnythingPlaying() && !mKeyguardMonitor.isShowing();
            boolean showVz = mMediaMonitor != null
                    && mMediaMonitor.isAnythingPlaying()
                    && !mKeyguardMonitor.isShowing();
            mVisualizer.animate().cancel();
            mVisualizer.animate()
                    .setDuration(200)