Loading packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java +26 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.qs; import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_QS_DATE; import android.app.ActivityManager; Loading @@ -37,7 +39,6 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; Loading @@ -51,10 +52,11 @@ import com.android.systemui.FontSizeUtils; import com.android.systemui.R; import com.android.systemui.R.dimen; import com.android.systemui.R.id; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.TouchAnimator.Builder; import com.android.systemui.qs.TouchAnimator.Listener; import com.android.systemui.qs.TouchAnimator.ListenerAdapter; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.phone.ExpandableIndicator; import com.android.systemui.statusbar.phone.MultiUserSwitch; import com.android.systemui.statusbar.phone.SettingsButton; Loading @@ -70,7 +72,7 @@ import com.android.systemui.tuner.TunerService; public class QSFooterImpl extends FrameLayout implements QSFooter, NextAlarmChangeCallback, OnClickListener, OnUserInfoChangedListener, EmergencyListener, SignalCallback { SignalCallback, CommandQueue.Callbacks { private static final float EXPAND_INDICATOR_THRESHOLD = .93f; private ActivityStarter mActivityStarter; Loading @@ -83,6 +85,7 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, private View mAlarmStatusCollapsed; private View mDate; private boolean mQsDisabled; private QSPanel mQsPanel; private boolean mExpanded; Loading Loading @@ -277,10 +280,17 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, mExpandIndicator.setExpanded(headerExpansionFraction > EXPAND_INDICATOR_THRESHOLD); } @Override public void onAttachedToWindow() { super.onAttachedToWindow(); SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).addCallbacks(this); } @Override @VisibleForTesting public void onDetachedFromWindow() { setListening(false); SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).removeCallbacks(this); super.onDetachedFromWindow(); } Loading @@ -302,6 +312,14 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, return findViewById(R.id.expand_indicator); } @Override public void disable(int state1, int state2, boolean animate) { final boolean disabled = (state2 & DISABLE2_QUICK_SETTINGS) != 0; if (disabled == mQsDisabled) return; mQsDisabled = disabled; updateEverything(); } public void updateEverything() { post(() -> { updateVisibilities(); Loading @@ -311,8 +329,13 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, private void updateVisibilities() { updateAlarmVisibilities(); mSettingsContainer.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE); mSettingsContainer.findViewById(R.id.tuner_icon).setVisibility( TunerService.isTunerEnabled(mContext) ? View.VISIBLE : View.INVISIBLE); mExpandIndicator.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE); final boolean isDemo = UserManager.isDeviceInDemoMode(mContext); mMultiUserSwitch.setVisibility(mExpanded && mMultiUserSwitch.hasMultipleUsers() && !isDemo Loading packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +26 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.widget.Space; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.plugins.qs.*; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.plugins.qs.QSTileView; Loading @@ -43,6 +43,7 @@ public class QuickQSPanel extends QSPanel { public static final String NUM_QUICK_TILES = "sysui_qqs_count"; private boolean mDisabledByPolicy; private int mMaxTiles; protected QSPanel mFullPanel; Loading Loading @@ -151,6 +152,30 @@ public class QuickQSPanel extends QSPanel { return Dependency.get(TunerService.class).getValue(NUM_QUICK_TILES, 6); } void setDisabledByPolicy(boolean disabled) { if (disabled != mDisabledByPolicy) { mDisabledByPolicy = disabled; setVisibility(disabled ? View.GONE : View.VISIBLE); } } /** * Sets the visibility of this {@link QuickQSPanel}. This method has no effect when this panel * is disabled by policy through {@link #setDisabledByPolicy(boolean)}, and in this case the * visibility will always be {@link View#GONE}. This method is called externally by * {@link QSAnimator} only. */ @Override public void setVisibility(int visibility) { if (mDisabledByPolicy) { if (getVisibility() == View.GONE) { return; } visibility = View.GONE; } super.setVisibility(visibility); } private static class HeaderTileLayout extends LinearLayout implements QSTileLayout { protected final ArrayList<TileRecord> mRecords = new ArrayList<>(); Loading packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +23 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,9 @@ package com.android.systemui.qs; import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static android.app.StatusBarManager.DISABLE_NONE; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; Loading @@ -30,13 +33,14 @@ import com.android.systemui.BatteryMeterView; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.R.id; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.QSDetail.Callback; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.SignalClusterView; import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; public class QuickStatusBarHeader extends RelativeLayout { public class QuickStatusBarHeader extends RelativeLayout implements CommandQueue.Callbacks { private ActivityStarter mActivityStarter; Loading @@ -44,6 +48,7 @@ public class QuickStatusBarHeader extends RelativeLayout { private boolean mExpanded; private boolean mListening; private boolean mQsDisabled; protected QuickQSPanel mHeaderQsPanel; protected QSTileHost mHost; Loading Loading @@ -118,10 +123,26 @@ public class QuickStatusBarHeader extends RelativeLayout { public void setExpansion(float headerExpansionFraction) { } @Override public void disable(int state1, int state2, boolean animate) { final boolean disabled = (state2 & DISABLE2_QUICK_SETTINGS) != 0; if (disabled == mQsDisabled) return; mQsDisabled = disabled; mHeaderQsPanel.setDisabledByPolicy(disabled); final int rawHeight = (int) getResources().getDimension(R.dimen.status_bar_header_height); getLayoutParams().height = disabled ? (rawHeight - mHeaderQsPanel.getHeight()) : rawHeight; } @Override public void onAttachedToWindow() { SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).addCallbacks(this); } @Override @VisibleForTesting public void onDetachedFromWindow() { setListening(false); SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).removeCallbacks(this); super.onDetachedFromWindow(); } Loading Loading
packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java +26 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.qs; import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_QS_DATE; import android.app.ActivityManager; Loading @@ -37,7 +39,6 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; Loading @@ -51,10 +52,11 @@ import com.android.systemui.FontSizeUtils; import com.android.systemui.R; import com.android.systemui.R.dimen; import com.android.systemui.R.id; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.TouchAnimator.Builder; import com.android.systemui.qs.TouchAnimator.Listener; import com.android.systemui.qs.TouchAnimator.ListenerAdapter; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.phone.ExpandableIndicator; import com.android.systemui.statusbar.phone.MultiUserSwitch; import com.android.systemui.statusbar.phone.SettingsButton; Loading @@ -70,7 +72,7 @@ import com.android.systemui.tuner.TunerService; public class QSFooterImpl extends FrameLayout implements QSFooter, NextAlarmChangeCallback, OnClickListener, OnUserInfoChangedListener, EmergencyListener, SignalCallback { SignalCallback, CommandQueue.Callbacks { private static final float EXPAND_INDICATOR_THRESHOLD = .93f; private ActivityStarter mActivityStarter; Loading @@ -83,6 +85,7 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, private View mAlarmStatusCollapsed; private View mDate; private boolean mQsDisabled; private QSPanel mQsPanel; private boolean mExpanded; Loading Loading @@ -277,10 +280,17 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, mExpandIndicator.setExpanded(headerExpansionFraction > EXPAND_INDICATOR_THRESHOLD); } @Override public void onAttachedToWindow() { super.onAttachedToWindow(); SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).addCallbacks(this); } @Override @VisibleForTesting public void onDetachedFromWindow() { setListening(false); SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).removeCallbacks(this); super.onDetachedFromWindow(); } Loading @@ -302,6 +312,14 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, return findViewById(R.id.expand_indicator); } @Override public void disable(int state1, int state2, boolean animate) { final boolean disabled = (state2 & DISABLE2_QUICK_SETTINGS) != 0; if (disabled == mQsDisabled) return; mQsDisabled = disabled; updateEverything(); } public void updateEverything() { post(() -> { updateVisibilities(); Loading @@ -311,8 +329,13 @@ public class QSFooterImpl extends FrameLayout implements QSFooter, private void updateVisibilities() { updateAlarmVisibilities(); mSettingsContainer.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE); mSettingsContainer.findViewById(R.id.tuner_icon).setVisibility( TunerService.isTunerEnabled(mContext) ? View.VISIBLE : View.INVISIBLE); mExpandIndicator.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE); final boolean isDemo = UserManager.isDeviceInDemoMode(mContext); mMultiUserSwitch.setVisibility(mExpanded && mMultiUserSwitch.hasMultipleUsers() && !isDemo Loading
packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +26 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.widget.Space; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.plugins.qs.*; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.plugins.qs.QSTileView; Loading @@ -43,6 +43,7 @@ public class QuickQSPanel extends QSPanel { public static final String NUM_QUICK_TILES = "sysui_qqs_count"; private boolean mDisabledByPolicy; private int mMaxTiles; protected QSPanel mFullPanel; Loading Loading @@ -151,6 +152,30 @@ public class QuickQSPanel extends QSPanel { return Dependency.get(TunerService.class).getValue(NUM_QUICK_TILES, 6); } void setDisabledByPolicy(boolean disabled) { if (disabled != mDisabledByPolicy) { mDisabledByPolicy = disabled; setVisibility(disabled ? View.GONE : View.VISIBLE); } } /** * Sets the visibility of this {@link QuickQSPanel}. This method has no effect when this panel * is disabled by policy through {@link #setDisabledByPolicy(boolean)}, and in this case the * visibility will always be {@link View#GONE}. This method is called externally by * {@link QSAnimator} only. */ @Override public void setVisibility(int visibility) { if (mDisabledByPolicy) { if (getVisibility() == View.GONE) { return; } visibility = View.GONE; } super.setVisibility(visibility); } private static class HeaderTileLayout extends LinearLayout implements QSTileLayout { protected final ArrayList<TileRecord> mRecords = new ArrayList<>(); Loading
packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +23 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,9 @@ package com.android.systemui.qs; import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static android.app.StatusBarManager.DISABLE_NONE; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; Loading @@ -30,13 +33,14 @@ import com.android.systemui.BatteryMeterView; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.R.id; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.QSDetail.Callback; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.SignalClusterView; import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; public class QuickStatusBarHeader extends RelativeLayout { public class QuickStatusBarHeader extends RelativeLayout implements CommandQueue.Callbacks { private ActivityStarter mActivityStarter; Loading @@ -44,6 +48,7 @@ public class QuickStatusBarHeader extends RelativeLayout { private boolean mExpanded; private boolean mListening; private boolean mQsDisabled; protected QuickQSPanel mHeaderQsPanel; protected QSTileHost mHost; Loading Loading @@ -118,10 +123,26 @@ public class QuickStatusBarHeader extends RelativeLayout { public void setExpansion(float headerExpansionFraction) { } @Override public void disable(int state1, int state2, boolean animate) { final boolean disabled = (state2 & DISABLE2_QUICK_SETTINGS) != 0; if (disabled == mQsDisabled) return; mQsDisabled = disabled; mHeaderQsPanel.setDisabledByPolicy(disabled); final int rawHeight = (int) getResources().getDimension(R.dimen.status_bar_header_height); getLayoutParams().height = disabled ? (rawHeight - mHeaderQsPanel.getHeight()) : rawHeight; } @Override public void onAttachedToWindow() { SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).addCallbacks(this); } @Override @VisibleForTesting public void onDetachedFromWindow() { setListening(false); SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).removeCallbacks(this); super.onDetachedFromWindow(); } Loading