Update QS header to spec
- Move brightness slider down.
- Make clock bigger when expanded.
- Show date in collapsed state.
- Change size of avatar depending on collapsed/expanded.
Bug: 15865202
Bug: 15381387
Change-Id: I7894edae495b5a2d12b4fe4637a9aa3fd2e58963
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 9c1dc8e..36cd388 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -28,9 +28,12 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ImageView;
import com.android.systemui.R;
import com.android.systemui.qs.QSTile.DetailAdapter;
+import com.android.systemui.settings.BrightnessController;
+import com.android.systemui.settings.ToggleSlider;
import java.util.ArrayList;
@@ -44,6 +47,7 @@
private final ViewGroup mDetailContent;
private final View mDetailSettingsButton;
private final View mDetailDoneButton;
+ private final View mBrightnessView;
private final CircularClipper mClipper;
private final H mHandler = new H();
@@ -59,6 +63,7 @@
private TileRecord mDetailRecord;
private Callback mCallback;
+ private BrightnessController mBrightnessController;
public QSPanel(Context context) {
this(context, null);
@@ -74,9 +79,16 @@
mDetailDoneButton = mDetail.findViewById(android.R.id.button1);
mDetail.setVisibility(GONE);
mDetail.setClickable(true);
+ mBrightnessView = LayoutInflater.from(context).inflate(
+ R.layout.quick_settings_brightness_dialog, this, false);
addView(mDetail);
+ addView(mBrightnessView);
mClipper = new CircularClipper(mDetail);
updateResources();
+
+ mBrightnessController = new BrightnessController(getContext(),
+ (ImageView) findViewById(R.id.brightness_icon),
+ (ToggleSlider) findViewById(R.id.brightness_slider));
}
public void setCallback(Callback callback) {
@@ -115,6 +127,11 @@
r.tile.refreshState();
}
}
+ if (listening) {
+ mBrightnessController.registerCallbacks();
+ } else {
+ mBrightnessController.unregisterCallbacks();
+ }
}
private void showDetail(boolean show, TileRecord r) {
@@ -211,6 +228,7 @@
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int width = MeasureSpec.getSize(widthMeasureSpec);
+ mBrightnessView.measure(exactly(width), MeasureSpec.UNSPECIFIED);
int r = -1;
int c = -1;
int rows = 0;
@@ -238,7 +256,7 @@
final int ch = record.row == 0 ? mLargeCellHeight : mCellHeight;
record.tileView.measure(exactly(cw), exactly(ch));
}
- int h = rows == 0 ? 0 : (getRowTop(rows) + mPanelPaddingBottom);
+ int h = rows == 0 ? mBrightnessView.getHeight() : (getRowTop(rows) + mPanelPaddingBottom);
mDetail.measure(exactly(width), exactly(h));
setMeasuredDimension(width, h);
}
@@ -250,6 +268,8 @@
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
final int w = getWidth();
+ mBrightnessView.layout(0, 0,
+ mBrightnessView.getMeasuredWidth(), mBrightnessView.getMeasuredHeight());
for (TileRecord record : mRecords) {
if (record.tileView.getVisibility() == GONE) continue;
final int cols = getColumnCount(record.row);
@@ -266,8 +286,9 @@
}
private int getRowTop(int row) {
- if (row <= 0) return 0;
- return mLargeCellHeight - mDualTileUnderlap + (row - 1) * mCellHeight;
+ if (row <= 0) return mBrightnessView.getHeight();
+ return mBrightnessView.getHeight()
+ + mLargeCellHeight - mDualTileUnderlap + (row - 1) * mCellHeight;
}
private int getColumnCount(int row) {