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

Commit ce37355c authored by Roman Birg's avatar Roman Birg Committed by Gerrit Code Review
Browse files

SystemUI: enable equalizer for Wifi display



While the EQ doesn't work while using the Chromecast, using Wireless
display (miracast) still allows for control of the EQ since it's
streaming from the device.

Change-Id: I7322429b39438e66c013456b6f8a3242e333d93a
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent 4c8a0d0a
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


package com.android.systemui.quicksettings;
package com.android.systemui.quicksettings;


import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.graphics.Canvas;
import android.graphics.Canvas;
@@ -26,6 +27,8 @@ import android.media.MediaRouter;
import android.media.RemoteControlClient;
import android.media.RemoteControlClient;
import android.media.RemoteController;
import android.media.RemoteController;
import android.media.audiofx.AudioEffect;
import android.media.audiofx.AudioEffect;
import android.net.NetworkInfo;
import android.net.wifi.p2p.WifiP2pManager;
import android.view.View;
import android.view.View;


import com.android.systemui.R;
import com.android.systemui.R;
@@ -42,6 +45,7 @@ public class EqualizerTile extends QuickSettingsTile {
    private AudioManager mAudioManager;
    private AudioManager mAudioManager;
    private RemoteController mRemoteController;
    private RemoteController mRemoteController;
    private QuickTileVisualizer mVisualizer;
    private QuickTileVisualizer mVisualizer;
    private boolean mWifiDisplayActive;


    private RemoteController.OnClientUpdateListener mRCClientUpdateListener =
    private RemoteController.OnClientUpdateListener mRCClientUpdateListener =
            new RemoteController.OnClientUpdateListener() {
            new RemoteController.OnClientUpdateListener() {
@@ -141,6 +145,17 @@ public class EqualizerTile extends QuickSettingsTile {
                        AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL));
                        AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL));
            }
            }
        };
        };
        qsc.registerAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION, this);
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(intent.getAction())) {
            NetworkInfo networkInfo = (NetworkInfo) intent
                    .getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO);
            mWifiDisplayActive = networkInfo.isConnected();
            updateResources();
        }
    }
    }


    @Override
    @Override
@@ -213,6 +228,9 @@ public class EqualizerTile extends QuickSettingsTile {
    private boolean isMusicPlaying() {
    private boolean isMusicPlaying() {
        switch (mCurrentPlayState) {
        switch (mCurrentPlayState) {
            case RemoteControlClient.PLAYSTATE_PLAYING:
            case RemoteControlClient.PLAYSTATE_PLAYING:
                if (mWifiDisplayActive) {
                    return true;
                }
                // Check if Chromecast is active
                // Check if Chromecast is active
                MediaRouter mediaRouter = (MediaRouter)
                MediaRouter mediaRouter = (MediaRouter)
                        mContext.getSystemService(Context.MEDIA_ROUTER_SERVICE);
                        mContext.getSystemService(Context.MEDIA_ROUTER_SERVICE);