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

Commit 14b110db authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Prototype flag for moving controls"

parents 1af701fe 2865ab02
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -28,10 +28,12 @@ import android.metrics.LogMaker;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.service.quicksettings.Tile;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;

import com.android.internal.logging.MetricsLogger;
@@ -49,6 +51,8 @@ import com.android.systemui.qs.customize.QSCustomizer;
import com.android.systemui.qs.external.CustomTile;
import com.android.systemui.settings.BrightnessController;
import com.android.systemui.settings.ToggleSliderView;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.phone.NPVPluginManager;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener;
import com.android.systemui.tuner.TunerService;
@@ -98,6 +102,10 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
    private BrightnessMirrorController mBrightnessMirrorController;
    private View mDivider;

    private FrameLayout mPluginFrame;
    private final PluginManager mPluginManager;
    private NPVPluginManager mNPVPluginManager;

    public QSPanel(Context context) {
        this(context, null);
    }
@@ -106,9 +114,13 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        this(context, attrs, null);
    }

    public QSPanel(Context context, AttributeSet attrs, DumpController dumpController) {
        this(context, attrs, dumpController, null);
    }

    @Inject
    public QSPanel(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
            DumpController dumpController) {
            DumpController dumpController, PluginManager pluginManager) {
        super(context, attrs);
        mContext = context;

@@ -136,6 +148,15 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        mBrightnessController = new BrightnessController(getContext(),
                findViewById(R.id.brightness_slider));
        mDumpController = dumpController;
        mPluginManager = pluginManager;
        if (mPluginManager != null && Settings.System.getInt(
                mContext.getContentResolver(), "npv_plugin_flag", 0) == 2) {
            mPluginFrame = (FrameLayout) LayoutInflater.from(mContext).inflate(
                    R.layout.status_bar_expanded_plugin_frame, this, false);
            addView(mPluginFrame);
            mNPVPluginManager = new NPVPluginManager(mPluginFrame, mPluginManager);
        }

    }

    protected void addDivider() {
@@ -377,6 +398,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        if (mListening) {
            refreshAllTiles();
        }
        if (mNPVPluginManager != null) mNPVPluginManager.setListening(listening);
    }

    public void setListening(boolean listening, boolean expanded) {
+20 −10
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.hardware.biometrics.BiometricSourceType;
import android.os.PowerManager;
import android.os.SystemClock;
import android.provider.DeviceConfig;
import android.provider.Settings;
import android.util.AttributeSet;
import android.util.Log;
import android.util.MathUtils;
@@ -541,7 +542,10 @@ public class NotificationPanelView extends PanelView implements
        mQsNavbarScrim = findViewById(R.id.qs_navbar_scrim);
        mLastOrientation = getResources().getConfiguration().orientation;
        mPluginFrame = findViewById(R.id.plugin_frame);
        if (Settings.System.getInt(
                mContext.getContentResolver(), "npv_plugin_flag", 0) == 1) {
            mNPVPluginManager = new NPVPluginManager(mPluginFrame, mPluginManager);
        }


        initBottomArea();
@@ -778,7 +782,7 @@ public class NotificationPanelView extends PanelView implements
            mPluginFrame.setLayoutParams(lp);
        }

        mNPVPluginManager.replaceFrameLayout(mPluginFrame);
        if (mNPVPluginManager != null) mNPVPluginManager.replaceFrameLayout(mPluginFrame);
    }

    private void initBottomArea() {
@@ -808,8 +812,10 @@ public class NotificationPanelView extends PanelView implements
        int oldMaxHeight = mQsMaxExpansionHeight;
        if (mQs != null) {
            mQsMinExpansionHeight = mKeyguardShowing ? 0 : mQs.getQsMinExpansionHeight();
            if (mNPVPluginManager != null) {
                mNPVPluginManager.setYOffset(mQsMinExpansionHeight);
                mQsMinExpansionHeight += mNPVPluginManager.getHeight();
            }
            mQsMaxExpansionHeight = mQs.getDesiredHeight();
            mNotificationStackScroller.setMaxTopPadding(
                    mQsMaxExpansionHeight + mQsNotificationTopPadding);
@@ -1915,9 +1921,11 @@ public class NotificationPanelView extends PanelView implements
                mBarState != StatusBarState.KEYGUARD && (!mQsExpanded
                        || mQsExpansionFromOverscroll));
        updateEmptyShadeView();
        if (mNPVPluginManager != null) {
            mNPVPluginManager.changeVisibility((mBarState != StatusBarState.KEYGUARD)
                    ? View.VISIBLE
                    : View.INVISIBLE);
        }
        mQsNavbarScrim.setVisibility(mBarState == StatusBarState.SHADE && mQsExpanded
                && !mStackScrollerOverscrolling && mQsScrimEnabled
                ? View.VISIBLE
@@ -1975,7 +1983,9 @@ public class NotificationPanelView extends PanelView implements
        float qsExpansionFraction = getQsExpansionFraction();
        mQs.setQsExpansion(qsExpansionFraction, getHeaderTranslation());
        int heightDiff = mQs.getDesiredHeight() - mQs.getQsMinExpansionHeight();
        if (mNPVPluginManager != null) {
            mNPVPluginManager.setExpansion(qsExpansionFraction, getHeaderTranslation(), heightDiff);
        }
        mNotificationStackScroller.setQsExpansionFraction(qsExpansionFraction);
    }

@@ -2396,7 +2406,7 @@ public class NotificationPanelView extends PanelView implements
                appearAmount = mNotificationStackScroller.calculateAppearFractionBypass();
            }
            startHeight = -mQs.getQsMinExpansionHeight();
            startHeight -= mNPVPluginManager.getHeight();
            if (mNPVPluginManager != null) startHeight -= mNPVPluginManager.getHeight();
        }
        float translation = MathUtils.lerp(startHeight, 0,
                Math.min(1.0f, appearAmount))
@@ -2540,7 +2550,7 @@ public class NotificationPanelView extends PanelView implements
        mKeyguardStatusBar.setListening(listening);
        if (mQs == null) return;
        mQs.setListening(listening);
        mNPVPluginManager.setListening(listening);
        if (mNPVPluginManager != null) mNPVPluginManager.setListening(listening);
    }

    @Override