am d11ad51d: Merge "add logging to quick settings tiles" into mnc-dev
* commit 'd11ad51d119aaa826d988fbc7f6c626afff00983': add logging to quick settings tiles
This commit is contained in:
@@ -18,6 +18,7 @@ package com.android.internal.logging;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Log all the things.
|
||||
@@ -33,6 +34,10 @@ public class MetricsLogger implements MetricsConstants {
|
||||
public static final int ACTION_BAN_APP_NOTES = 146;
|
||||
public static final int NOTIFICATION_ZEN_MODE_EVENT_RULE = 147;
|
||||
public static final int ACTION_DISMISS_ALL_NOTES = 148;
|
||||
public static final int QS_DND_DETAILS = 149;
|
||||
public static final int QS_BLUETOOTH_DETAILS = 150;
|
||||
public static final int QS_CAST_DETAILS = 151;
|
||||
public static final int QS_WIFI_DETAILS = 152;
|
||||
|
||||
public static void visible(Context context, int category) throws IllegalArgumentException {
|
||||
if (Build.IS_DEBUGGABLE && category == VIEW_UNKNOWN) {
|
||||
@@ -41,13 +46,27 @@ public class MetricsLogger implements MetricsConstants {
|
||||
EventLogTags.writeSysuiViewVisibility(category, 100);
|
||||
}
|
||||
|
||||
public static void hidden(Context context, int category) {
|
||||
public static void hidden(Context context, int category) throws IllegalArgumentException {
|
||||
if (Build.IS_DEBUGGABLE && category == VIEW_UNKNOWN) {
|
||||
throw new IllegalArgumentException("Must define metric category");
|
||||
}
|
||||
EventLogTags.writeSysuiViewVisibility(category, 0);
|
||||
}
|
||||
|
||||
public static void visibility(Context context, int category, boolean visibile)
|
||||
throws IllegalArgumentException {
|
||||
if (visibile) {
|
||||
visible(context, category);
|
||||
} else {
|
||||
hidden(context, category);
|
||||
}
|
||||
}
|
||||
|
||||
public static void visibility(Context context, int category, int vis)
|
||||
throws IllegalArgumentException {
|
||||
visibility(context, category, vis == View.VISIBLE);
|
||||
}
|
||||
|
||||
public static void action(Context context, int category) {
|
||||
action(context, category, "");
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import android.view.accessibility.AccessibilityEvent;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.FontSizeUtils;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile.DetailAdapter;
|
||||
@@ -182,8 +183,11 @@ public class QSPanel extends ViewGroup {
|
||||
public void setExpanded(boolean expanded) {
|
||||
if (mExpanded == expanded) return;
|
||||
mExpanded = expanded;
|
||||
MetricsLogger.visibility(mContext, MetricsLogger.QS_PANEL, mExpanded);
|
||||
if (!mExpanded) {
|
||||
closeDetail();
|
||||
} else {
|
||||
logTiles();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -365,9 +369,11 @@ public class QSPanel extends ViewGroup {
|
||||
mDetailContent.removeAllViews();
|
||||
mDetail.bringToFront();
|
||||
mDetailContent.addView(r.detailView);
|
||||
MetricsLogger.visible(mContext, detailAdapter.getMetricsCategory());
|
||||
setDetailRecord(r);
|
||||
listener = mHideGridContentWhenDone;
|
||||
} else {
|
||||
MetricsLogger.hidden(mContext, mDetailRecord.detailAdapter.getMetricsCategory());
|
||||
mClosingDetail = true;
|
||||
setGridContentVisibility(true);
|
||||
listener = mTeardownDetailWhenDone;
|
||||
@@ -387,9 +393,21 @@ public class QSPanel extends ViewGroup {
|
||||
}
|
||||
}
|
||||
mBrightnessView.setVisibility(newVis);
|
||||
if (mGridContentVisible != visible) {
|
||||
MetricsLogger.visibility(mContext, MetricsLogger.QS_PANEL, newVis);
|
||||
}
|
||||
mGridContentVisible = visible;
|
||||
}
|
||||
|
||||
private void logTiles() {
|
||||
for (int i = 0; i < mRecords.size(); i++) {
|
||||
TileRecord tileRecord = mRecords.get(i);
|
||||
if (tileRecord.tile.getState().visible) {
|
||||
MetricsLogger.visible(mContext, tileRecord.tile.getMetricsCategory());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
final int width = MeasureSpec.getSize(widthMeasureSpec);
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.util.SparseArray;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.qs.QSTile.State;
|
||||
import com.android.systemui.statusbar.policy.BluetoothController;
|
||||
import com.android.systemui.statusbar.policy.CastController;
|
||||
@@ -66,9 +67,17 @@ public abstract class QSTile<TState extends State> implements Listenable {
|
||||
private boolean mAnnounceNextStateChange;
|
||||
|
||||
abstract protected TState newTileState();
|
||||
abstract protected void handleClick();
|
||||
abstract protected void handleUpdateState(TState state, Object arg);
|
||||
|
||||
/**
|
||||
* Declare the category of this tile.
|
||||
*
|
||||
* Categories are defined in {@link com.android.internal.logging.MetricsLogger}
|
||||
* or if there is no relevant existing category you may define one in
|
||||
* {@link com.android.systemui.qs.QSTile}.
|
||||
*/
|
||||
abstract public int getMetricsCategory();
|
||||
|
||||
protected QSTile(Host host) {
|
||||
mHost = host;
|
||||
mContext = host.getContext();
|
||||
@@ -97,6 +106,7 @@ public abstract class QSTile<TState extends State> implements Listenable {
|
||||
View createDetailView(Context context, View convertView, ViewGroup parent);
|
||||
Intent getSettingsIntent();
|
||||
void setToggleState(boolean state);
|
||||
int getMetricsCategory();
|
||||
}
|
||||
|
||||
// safe to call from any thread
|
||||
@@ -160,6 +170,10 @@ public abstract class QSTile<TState extends State> implements Listenable {
|
||||
handleRefreshState(null);
|
||||
}
|
||||
|
||||
protected void handleClick() {
|
||||
MetricsLogger.action(mContext, getMetricsCategory(), getMetricsPackage());
|
||||
};
|
||||
|
||||
protected void handleSecondaryClick() {
|
||||
// optional
|
||||
}
|
||||
@@ -168,6 +182,10 @@ public abstract class QSTile<TState extends State> implements Listenable {
|
||||
// optional
|
||||
}
|
||||
|
||||
protected String getMetricsPackage() {
|
||||
return "";
|
||||
}
|
||||
|
||||
protected void handleRefreshState(Object arg) {
|
||||
handleUpdateState(mTmpState, arg);
|
||||
final boolean changed = mTmpState.copyTo(mState);
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.content.IntentFilter;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.provider.Settings.Global;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.GlobalSetting;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
@@ -55,6 +56,7 @@ public class AirplaneModeTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
public void handleClick() {
|
||||
super.handleClick();
|
||||
setEnabled(!mState.value);
|
||||
mEnable.setAllowAnimation(true);
|
||||
mDisable.setAllowAnimation(true);
|
||||
@@ -84,6 +86,11 @@ public class AirplaneModeTile extends QSTile<QSTile.BooleanState> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_AIRPLANEMODE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
|
||||
@@ -25,6 +25,7 @@ import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSDetailItems;
|
||||
@@ -74,6 +75,7 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
final boolean isEnabled = (Boolean)mState.value;
|
||||
mController.setBluetoothEnabled(!isEnabled);
|
||||
}
|
||||
@@ -131,6 +133,11 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> {
|
||||
state.dualLabelContentDescription = bluetoothName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_BLUETOOTH;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
@@ -181,6 +188,11 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> {
|
||||
showDetail(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_BLUETOOTH_DETAILS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createDetailView(Context context, View convertView, ViewGroup parent) {
|
||||
mItems = QSDetailItems.convertOrInflate(context, convertView, parent);
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.view.View;
|
||||
import android.view.View.OnAttachStateChangeListener;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSDetailItems;
|
||||
import com.android.systemui.qs.QSDetailItems.Item;
|
||||
@@ -85,6 +86,7 @@ public class CastTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
showDetail(true);
|
||||
}
|
||||
|
||||
@@ -112,6 +114,11 @@ public class CastTile extends QSTile<QSTile.BooleanState> {
|
||||
mDetailAdapter.updateItems(devices);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_CAST;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (!mState.value) {
|
||||
@@ -163,6 +170,11 @@ public class CastTile extends QSTile<QSTile.BooleanState> {
|
||||
// noop
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_CAST_DETAILS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createDetailView(Context context, View convertView, ViewGroup parent) {
|
||||
mItems = QSDetailItems.convertOrInflate(context, convertView, parent);
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
import com.android.systemui.qs.QSTileView;
|
||||
@@ -75,6 +76,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
if (mDataController.isMobileDataSupported()) {
|
||||
showDetail(true);
|
||||
} else {
|
||||
@@ -118,6 +120,11 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
|
||||
state.label);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_CELLULAR;
|
||||
}
|
||||
|
||||
// Remove the period from the network name
|
||||
public static String removeTrailingPeriod(String string) {
|
||||
if (string == null) return null;
|
||||
@@ -226,6 +233,11 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
|
||||
mDataController.setMobileDataEnabled(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_DATAUSAGEDETAIL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createDetailView(Context context, View convertView, ViewGroup parent) {
|
||||
final DataUsageDetailView v = (DataUsageDetailView) (convertView != null
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs.tiles;
|
||||
|
||||
import android.provider.Settings.Secure;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
@@ -86,6 +87,7 @@ public class ColorInversionTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
mSetting.setValue(mState.value ? 0 : 1);
|
||||
mEnable.setAllowAnimation(true);
|
||||
mDisable.setAllowAnimation(true);
|
||||
@@ -114,6 +116,11 @@ public class ColorInversionTile extends QSTile<QSTile.BooleanState> {
|
||||
state.icon = enabled ? mEnable : mDisable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_COLORINVERSION;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.view.View;
|
||||
import android.view.View.OnAttachStateChangeListener;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
@@ -88,6 +89,7 @@ public class DndTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
public void handleClick() {
|
||||
super.handleClick();
|
||||
if (mState.value) {
|
||||
mController.setZen(Global.ZEN_MODE_OFF, null, TAG);
|
||||
} else {
|
||||
@@ -134,6 +136,11 @@ public class DndTile extends QSTile<QSTile.BooleanState> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_DND;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
@@ -208,6 +215,11 @@ public class DndTile extends QSTile<QSTile.BooleanState> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_DND_DETAILS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createDetailView(Context context, View convertView, ViewGroup parent) {
|
||||
final ZenModePanel zmp = convertView != null ? (ZenModePanel) convertView
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs.tiles;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
import com.android.systemui.statusbar.policy.FlashlightController;
|
||||
@@ -59,6 +60,7 @@ public class FlashlightTile extends QSTile<QSTile.BooleanState> implements
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
if (ActivityManager.isUserAMonkey()) {
|
||||
return;
|
||||
}
|
||||
@@ -83,6 +85,11 @@ public class FlashlightTile extends QSTile<QSTile.BooleanState> implements
|
||||
state.contentDescription = mContext.getString(onOrOffId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_FLASHLIGHT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.UsageTracker;
|
||||
@@ -68,6 +69,7 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
final boolean isEnabled = (Boolean) mState.value;
|
||||
mController.setHotspotEnabled(!isEnabled);
|
||||
mEnable.setAllowAnimation(true);
|
||||
@@ -96,6 +98,11 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {
|
||||
state.icon = state.visible && state.value ? mEnable : mDisable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_HOTSPOT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.os.UserHandle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -42,6 +43,7 @@ public class IntentTile extends QSTile<QSTile.State> {
|
||||
private PendingIntent mOnLongClick;
|
||||
private String mOnLongClickUri;
|
||||
private int mCurrentUserId;
|
||||
private String mIntentPackage;
|
||||
|
||||
private IntentTile(Host host, String action) {
|
||||
super(host);
|
||||
@@ -82,6 +84,7 @@ public class IntentTile extends QSTile<QSTile.State> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
sendIntent("click", mOnClick, mOnClickUri);
|
||||
}
|
||||
|
||||
@@ -133,6 +136,17 @@ public class IntentTile extends QSTile<QSTile.State> {
|
||||
mOnClickUri = intent.getStringExtra("onClickUri");
|
||||
mOnLongClick = intent.getParcelableExtra("onLongClick");
|
||||
mOnLongClickUri = intent.getStringExtra("onLongClickUri");
|
||||
mIntentPackage = intent.getStringExtra("package");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_INTENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getMetricsPackage() {
|
||||
return mIntentPackage == null ? "" : mIntentPackage;
|
||||
}
|
||||
|
||||
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.systemui.qs.tiles;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
import com.android.systemui.statusbar.policy.KeyguardMonitor;
|
||||
@@ -58,6 +59,7 @@ public class LocationTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
final boolean wasEnabled = (Boolean) mState.value;
|
||||
mController.setLocationEnabled(!wasEnabled);
|
||||
mEnable.setAllowAnimation(true);
|
||||
@@ -86,6 +88,11 @@ public class LocationTile extends QSTile<QSTile.BooleanState> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_LOCATION;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String composeChangeAnnouncement() {
|
||||
if (mState.value) {
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs.tiles;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSTile;
|
||||
import com.android.systemui.statusbar.policy.RotationLockController;
|
||||
@@ -58,6 +59,7 @@ public class RotationLockTile extends QSTile<QSTile.BooleanState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
if (mController == null) return;
|
||||
final boolean newState = !mState.value;
|
||||
mController.setRotationLocked(newState);
|
||||
@@ -92,6 +94,11 @@ public class RotationLockTile extends QSTile<QSTile.BooleanState> {
|
||||
R.string.accessibility_rotation_lock_off);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_ROTATIONLOCK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the correct accessibility string based on the state
|
||||
*
|
||||
|
||||
@@ -26,6 +26,7 @@ import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSDetailItems;
|
||||
@@ -93,6 +94,7 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
super.handleClick();
|
||||
mState.copyTo(mStateBeforeClick);
|
||||
mController.setWifiEnabled(!mState.enabled);
|
||||
}
|
||||
@@ -158,6 +160,11 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
|
||||
state.dualLabelContentDescription = wifiName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_WIFI;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean shouldAnnouncementBeDelayed() {
|
||||
return mStateBeforeClick.enabled == mState.enabled;
|
||||
@@ -273,6 +280,11 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
|
||||
showDetail(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_WIFI_DETAILS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createDetailView(Context context, View convertView, ViewGroup parent) {
|
||||
if (DEBUG) Log.d(TAG, "createDetailView convertView=" + (convertView != null));
|
||||
|
||||
@@ -43,6 +43,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseAdapter;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.util.UserIcons;
|
||||
import com.android.systemui.BitmapHelper;
|
||||
import com.android.systemui.GuestResumeSessionReceiver;
|
||||
@@ -548,6 +549,11 @@ public class UserSwitcherController {
|
||||
@Override
|
||||
public void setToggleState(boolean state) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsLogger.QS_USERDETAIL;
|
||||
}
|
||||
};
|
||||
|
||||
private final KeyguardMonitor.Callback mCallback = new KeyguardMonitor.Callback() {
|
||||
|
||||
Reference in New Issue
Block a user