Merge "Prototype flag for moving controls"

This commit is contained in:
Fabian Kozynski
2019-10-14 12:36:44 +00:00
committed by Android (Google) Code Review
2 changed files with 43 additions and 11 deletions

View File

@@ -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) {

View File

@@ -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);
mNPVPluginManager = new NPVPluginManager(mPluginFrame, mPluginManager);
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();
mNPVPluginManager.setYOffset(mQsMinExpansionHeight);
mQsMinExpansionHeight += mNPVPluginManager.getHeight();
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();
mNPVPluginManager.changeVisibility((mBarState != StatusBarState.KEYGUARD)
? View.VISIBLE
: View.INVISIBLE);
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();
mNPVPluginManager.setExpansion(qsExpansionFraction, getHeaderTranslation(), heightDiff);
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