Loading packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +7 −1 Original line number Diff line number Diff line Loading @@ -329,16 +329,19 @@ public class QSPanel extends FrameLayout implements Tunable { drawTile(r, state); } } @Override public void onShowDetail(boolean show) { QSPanel.this.showDetail(show, r); } @Override public void onToggleStateChanged(boolean state) { if (mDetailRecord == r) { fireToggleStateChanged(state); } } @Override public void onScanStateChanged(boolean state) { r.scanState = state; Loading @@ -352,7 +355,7 @@ public class QSPanel extends FrameLayout implements Tunable { announceForAccessibility(announcement); } }; r.tile.setCallback(callback); r.tile.addCallback(callback); final View.OnClickListener click = new View.OnClickListener() { @Override public void onClick(View v) { Loading Loading @@ -415,6 +418,9 @@ public class QSPanel extends FrameLayout implements Tunable { } protected void handleShowDetail(Record r, boolean show) { if (show && !mExpanded) { mHost.animateExpandQS(); } if (r instanceof TileRecord) { handleShowDetailTile((TileRecord) r, show); } else { Loading packages/SystemUI/src/com/android/systemui/qs/QSTile.java +23 −19 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.ZenModeController; import java.util.ArrayList; import java.util.Collection; import java.util.Objects; Loading @@ -62,7 +63,7 @@ public abstract class QSTile<TState extends State> implements Listenable { protected final H mHandler; protected final Handler mUiHandler = new Handler(Looper.getMainLooper()); private Callback mCallback; private final ArrayList<Callback> mCallbacks = new ArrayList<>(); protected TState mState = newTileState(); private TState mTmpState = newTileState(); private boolean mAnnounceNextStateChange; Loading Loading @@ -119,8 +120,8 @@ public abstract class QSTile<TState extends State> implements Listenable { // safe to call from any thread public void setCallback(Callback callback) { mHandler.obtainMessage(H.SET_CALLBACK, callback).sendToTarget(); public void addCallback(Callback callback) { mHandler.obtainMessage(H.ADD_CALLBACK, callback).sendToTarget(); } public void click() { Loading Loading @@ -177,8 +178,8 @@ public abstract class QSTile<TState extends State> implements Listenable { // call only on tile worker looper private void handleSetCallback(Callback callback) { mCallback = callback; private void handleAddCallback(Callback callback) { mCallbacks.add(callback); handleRefreshState(null); } Loading Loading @@ -206,12 +207,14 @@ public abstract class QSTile<TState extends State> implements Listenable { private void handleStateChanged() { boolean delayAnnouncement = shouldAnnouncementBeDelayed(); if (mCallback != null) { mCallback.onStateChanged(mState); if (mCallbacks.size() != 0) { for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onStateChanged(mState); } if (mAnnounceNextStateChange && !delayAnnouncement) { String announcement = composeChangeAnnouncement(); if (announcement != null) { mCallback.onAnnouncementRequested(announcement); mCallbacks.get(0).onAnnouncementRequested(announcement); } } } Loading @@ -227,20 +230,20 @@ public abstract class QSTile<TState extends State> implements Listenable { } private void handleShowDetail(boolean show) { if (mCallback != null) { mCallback.onShowDetail(show); for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onShowDetail(show); } } private void handleToggleStateChanged(boolean state) { if (mCallback != null) { mCallback.onToggleStateChanged(state); for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onToggleStateChanged(state); } } private void handleScanStateChanged(boolean state) { if (mCallback != null) { mCallback.onScanStateChanged(state); for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onScanStateChanged(state); } } Loading @@ -250,11 +253,11 @@ public abstract class QSTile<TState extends State> implements Listenable { protected void handleDestroy() { setListening(false); mCallback = null; mCallbacks.clear(); } protected final class H extends Handler { private static final int SET_CALLBACK = 1; private static final int ADD_CALLBACK = 1; private static final int CLICK = 2; private static final int SECONDARY_CLICK = 3; private static final int LONG_CLICK = 4; Loading @@ -274,9 +277,9 @@ public abstract class QSTile<TState extends State> implements Listenable { public void handleMessage(Message msg) { String name = null; try { if (msg.what == SET_CALLBACK) { name = "handleSetCallback"; handleSetCallback((QSTile.Callback)msg.obj); if (msg.what == ADD_CALLBACK) { name = "handleAddCallback"; handleAddCallback((QSTile.Callback)msg.obj); } else if (msg.what == CLICK) { name = "handleClick"; mAnnounceNextStateChange = true; Loading Loading @@ -333,6 +336,7 @@ public abstract class QSTile<TState extends State> implements Listenable { void startRunnableDismissingKeyguard(Runnable runnable); void warn(String message, Throwable t); void collapsePanels(); void animateExpandQS(); void openPanels(); Looper getLooper(); Context getContext(); Loading packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +2 −8 Original line number Diff line number Diff line Loading @@ -60,14 +60,8 @@ public class QuickQSPanel extends QSPanel { } @Override protected void handleShowDetail(QSPanel.Record r, boolean show) { if (show) { mHeader.performClick(); mFullPanel.showDetail(show, r); } else { // Not sure how we would end up here... super.handleShowDetail(r, show); } protected void showDetail(boolean show, Record r) { // Do nothing, will be handled by the QSPanel. } @Override Loading packages/SystemUI/src/com/android/systemui/qs/customize/CustomQSPanel.java +5 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,11 @@ public class CustomQSPanel extends QSPanel { TunerService.get(mContext).addTunable(this, QSTileHost.TILES_SETTING); } @Override protected void showDetail(boolean show, Record r) { // No detail here. } @Override protected void onDetachedFromWindow() { // Don't allow the super to unregister the tunable. Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java +11 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.Process; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.View; import com.android.systemui.R; import com.android.systemui.qs.QSTile; import com.android.systemui.qs.external.CustomTile; Loading Loading @@ -99,6 +100,7 @@ public final class QSTileHost implements QSTile.Host, Tunable { private final TileServices mServices; private final List<Callback> mCallbacks = new ArrayList<>(); private View mHeader; public QSTileHost(Context context, PhoneStatusBar statusBar, BluetoothController bluetooth, LocationController location, Loading Loading @@ -135,6 +137,10 @@ public final class QSTileHost implements QSTile.Host, Tunable { TunerService.get(mContext).addTunable(this, TILES_SETTING); } public void setHeaderView(View view) { mHeader = view; } public PhoneStatusBar getPhoneStatusBar() { return mStatusBar; } Loading Loading @@ -173,6 +179,11 @@ public final class QSTileHost implements QSTile.Host, Tunable { // already logged } public void animateExpandQS() { // TODO: Better path to animated panel expansion. mHeader.performClick(); } @Override public void collapsePanels() { mStatusBar.postAnimateCollapsePanels(); Loading Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +7 −1 Original line number Diff line number Diff line Loading @@ -329,16 +329,19 @@ public class QSPanel extends FrameLayout implements Tunable { drawTile(r, state); } } @Override public void onShowDetail(boolean show) { QSPanel.this.showDetail(show, r); } @Override public void onToggleStateChanged(boolean state) { if (mDetailRecord == r) { fireToggleStateChanged(state); } } @Override public void onScanStateChanged(boolean state) { r.scanState = state; Loading @@ -352,7 +355,7 @@ public class QSPanel extends FrameLayout implements Tunable { announceForAccessibility(announcement); } }; r.tile.setCallback(callback); r.tile.addCallback(callback); final View.OnClickListener click = new View.OnClickListener() { @Override public void onClick(View v) { Loading Loading @@ -415,6 +418,9 @@ public class QSPanel extends FrameLayout implements Tunable { } protected void handleShowDetail(Record r, boolean show) { if (show && !mExpanded) { mHost.animateExpandQS(); } if (r instanceof TileRecord) { handleShowDetailTile((TileRecord) r, show); } else { Loading
packages/SystemUI/src/com/android/systemui/qs/QSTile.java +23 −19 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.ZenModeController; import java.util.ArrayList; import java.util.Collection; import java.util.Objects; Loading @@ -62,7 +63,7 @@ public abstract class QSTile<TState extends State> implements Listenable { protected final H mHandler; protected final Handler mUiHandler = new Handler(Looper.getMainLooper()); private Callback mCallback; private final ArrayList<Callback> mCallbacks = new ArrayList<>(); protected TState mState = newTileState(); private TState mTmpState = newTileState(); private boolean mAnnounceNextStateChange; Loading Loading @@ -119,8 +120,8 @@ public abstract class QSTile<TState extends State> implements Listenable { // safe to call from any thread public void setCallback(Callback callback) { mHandler.obtainMessage(H.SET_CALLBACK, callback).sendToTarget(); public void addCallback(Callback callback) { mHandler.obtainMessage(H.ADD_CALLBACK, callback).sendToTarget(); } public void click() { Loading Loading @@ -177,8 +178,8 @@ public abstract class QSTile<TState extends State> implements Listenable { // call only on tile worker looper private void handleSetCallback(Callback callback) { mCallback = callback; private void handleAddCallback(Callback callback) { mCallbacks.add(callback); handleRefreshState(null); } Loading Loading @@ -206,12 +207,14 @@ public abstract class QSTile<TState extends State> implements Listenable { private void handleStateChanged() { boolean delayAnnouncement = shouldAnnouncementBeDelayed(); if (mCallback != null) { mCallback.onStateChanged(mState); if (mCallbacks.size() != 0) { for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onStateChanged(mState); } if (mAnnounceNextStateChange && !delayAnnouncement) { String announcement = composeChangeAnnouncement(); if (announcement != null) { mCallback.onAnnouncementRequested(announcement); mCallbacks.get(0).onAnnouncementRequested(announcement); } } } Loading @@ -227,20 +230,20 @@ public abstract class QSTile<TState extends State> implements Listenable { } private void handleShowDetail(boolean show) { if (mCallback != null) { mCallback.onShowDetail(show); for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onShowDetail(show); } } private void handleToggleStateChanged(boolean state) { if (mCallback != null) { mCallback.onToggleStateChanged(state); for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onToggleStateChanged(state); } } private void handleScanStateChanged(boolean state) { if (mCallback != null) { mCallback.onScanStateChanged(state); for (int i = 0; i < mCallbacks.size(); i++) { mCallbacks.get(i).onScanStateChanged(state); } } Loading @@ -250,11 +253,11 @@ public abstract class QSTile<TState extends State> implements Listenable { protected void handleDestroy() { setListening(false); mCallback = null; mCallbacks.clear(); } protected final class H extends Handler { private static final int SET_CALLBACK = 1; private static final int ADD_CALLBACK = 1; private static final int CLICK = 2; private static final int SECONDARY_CLICK = 3; private static final int LONG_CLICK = 4; Loading @@ -274,9 +277,9 @@ public abstract class QSTile<TState extends State> implements Listenable { public void handleMessage(Message msg) { String name = null; try { if (msg.what == SET_CALLBACK) { name = "handleSetCallback"; handleSetCallback((QSTile.Callback)msg.obj); if (msg.what == ADD_CALLBACK) { name = "handleAddCallback"; handleAddCallback((QSTile.Callback)msg.obj); } else if (msg.what == CLICK) { name = "handleClick"; mAnnounceNextStateChange = true; Loading Loading @@ -333,6 +336,7 @@ public abstract class QSTile<TState extends State> implements Listenable { void startRunnableDismissingKeyguard(Runnable runnable); void warn(String message, Throwable t); void collapsePanels(); void animateExpandQS(); void openPanels(); Looper getLooper(); Context getContext(); Loading
packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +2 −8 Original line number Diff line number Diff line Loading @@ -60,14 +60,8 @@ public class QuickQSPanel extends QSPanel { } @Override protected void handleShowDetail(QSPanel.Record r, boolean show) { if (show) { mHeader.performClick(); mFullPanel.showDetail(show, r); } else { // Not sure how we would end up here... super.handleShowDetail(r, show); } protected void showDetail(boolean show, Record r) { // Do nothing, will be handled by the QSPanel. } @Override Loading
packages/SystemUI/src/com/android/systemui/qs/customize/CustomQSPanel.java +5 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,11 @@ public class CustomQSPanel extends QSPanel { TunerService.get(mContext).addTunable(this, QSTileHost.TILES_SETTING); } @Override protected void showDetail(boolean show, Record r) { // No detail here. } @Override protected void onDetachedFromWindow() { // Don't allow the super to unregister the tunable. Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java +11 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.Process; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.View; import com.android.systemui.R; import com.android.systemui.qs.QSTile; import com.android.systemui.qs.external.CustomTile; Loading Loading @@ -99,6 +100,7 @@ public final class QSTileHost implements QSTile.Host, Tunable { private final TileServices mServices; private final List<Callback> mCallbacks = new ArrayList<>(); private View mHeader; public QSTileHost(Context context, PhoneStatusBar statusBar, BluetoothController bluetooth, LocationController location, Loading Loading @@ -135,6 +137,10 @@ public final class QSTileHost implements QSTile.Host, Tunable { TunerService.get(mContext).addTunable(this, TILES_SETTING); } public void setHeaderView(View view) { mHeader = view; } public PhoneStatusBar getPhoneStatusBar() { return mStatusBar; } Loading Loading @@ -173,6 +179,11 @@ public final class QSTileHost implements QSTile.Host, Tunable { // already logged } public void animateExpandQS() { // TODO: Better path to animated panel expansion. mHeader.performClick(); } @Override public void collapsePanels() { mStatusBar.postAnimateCollapsePanels(); Loading