Working towards a better QS
Some work (mostly on the new QS only) to make things more like they
will be.
- Remove Quick Tiles
- Remove Dual Tiles
- All tiles are the same, with slightly different UI in the header
- QS tiles in the header match the beginning of QS
- handleClick is a click from QS, handleSecondaryClick is a click
from the header, but defaults to normal behavior.
- Opening a detail panel from the header opens QS and the detail
selected
- Fix onStartListening bug in CustomTile
- UI updates towards how QS will look
Change-Id: Id820586ccdaa258a5bcb72cadbeb14941fc5f935
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index bb2b8fc..cf1ffe3 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -298,7 +298,7 @@
showDetail(show, r);
}
- private void showDetail(boolean show, Record r) {
+ protected void showDetail(boolean show, Record r) {
mHandler.obtainMessage(H.SHOW_DETAIL, show ? 1 : 0, 0, r).sendToTarget();
}
@@ -330,10 +330,14 @@
r.tileView.onStateChanged(state);
}
+ protected QSTileBaseView createTileView(QSTile<?> tile) {
+ return new QSTileView(mContext, tile.createTileView(mContext));
+ }
+
protected void addTile(final QSTile<?> tile) {
final TileRecord r = new TileRecord();
r.tile = tile;
- r.tileView = tile.createTileView(mContext);
+ r.tileView = createTileView(tile);
r.tileView.setVisibility(View.GONE);
final QSTile.Callback callback = new QSTile.Callback() {
@Override
@@ -369,13 +373,7 @@
final View.OnClickListener click = new View.OnClickListener() {
@Override
public void onClick(View v) {
- r.tile.click();
- }
- };
- final View.OnClickListener clickSecondary = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- r.tile.secondaryClick();
+ onTileClick(r.tile);
}
};
final View.OnLongClickListener longClick = new View.OnLongClickListener() {
@@ -396,7 +394,7 @@
return true;
}
};
- r.tileView.init(click, clickSecondary, longClick);
+ r.tileView.init(click, longClick);
r.tile.setListening(mListening);
callback.onStateChanged(r.tile.getState());
r.tile.refreshState();
@@ -407,6 +405,10 @@
}
}
+ protected void onTileClick(QSTile<?> tile) {
+ tile.click();
+ }
+
public boolean isShowingDetail() {
return mDetailRecord != null
|| (mCustomizePanel != null && mCustomizePanel.isCustomizing());
@@ -429,7 +431,7 @@
return mQsContainer.getMeasuredHeight();
}
- private void handleShowDetail(Record r, boolean show) {
+ protected void handleShowDetail(Record r, boolean show) {
if (r instanceof TileRecord) {
handleShowDetailTile((TileRecord) r, show);
} else {
@@ -560,7 +562,7 @@
}
}
- private static class Record {
+ protected static class Record {
View detailView;
DetailAdapter detailAdapter;
int x;