diff --git a/api/current.txt b/api/current.txt index 259b3f6a6e007..319be13283b2d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -34781,7 +34781,7 @@ package android.service.quicksettings { method public void onClick(); method public void onStartListening(); method public void onStopListening(); - method public int onTileAdded(); + method public void onTileAdded(); method public void onTileRemoved(); method public static final void requestListeningState(android.content.Context, android.content.ComponentName); method public final void showDialog(android.app.Dialog); @@ -34789,8 +34789,7 @@ package android.service.quicksettings { method public final void unlockAndRun(java.lang.Runnable); field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE"; field public static final java.lang.String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES"; - field public static final int TILE_MODE_ACTIVE = 2; // 0x2 - field public static final int TILE_MODE_PASSIVE = 1; // 0x1 + field public static final java.lang.String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE"; } } diff --git a/api/system-current.txt b/api/system-current.txt index db27d8ee2673b..43d976a96044f 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -37316,7 +37316,7 @@ package android.service.quicksettings { method public void onClick(); method public void onStartListening(); method public void onStopListening(); - method public int onTileAdded(); + method public void onTileAdded(); method public void onTileRemoved(); method public static final void requestListeningState(android.content.Context, android.content.ComponentName); method public final void setStatusIcon(android.graphics.drawable.Icon, java.lang.String); @@ -37325,8 +37325,7 @@ package android.service.quicksettings { method public final void unlockAndRun(java.lang.Runnable); field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE"; field public static final java.lang.String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES"; - field public static final int TILE_MODE_ACTIVE = 2; // 0x2 - field public static final int TILE_MODE_PASSIVE = 1; // 0x1 + field public static final java.lang.String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE"; } } diff --git a/api/test-current.txt b/api/test-current.txt index bf29b407cc414..ddffa55a778ee 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -34853,7 +34853,7 @@ package android.service.quicksettings { method public void onClick(); method public void onStartListening(); method public void onStopListening(); - method public int onTileAdded(); + method public void onTileAdded(); method public void onTileRemoved(); method public static final void requestListeningState(android.content.Context, android.content.ComponentName); method public final void showDialog(android.app.Dialog); @@ -34861,8 +34861,7 @@ package android.service.quicksettings { method public final void unlockAndRun(java.lang.Runnable); field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE"; field public static final java.lang.String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES"; - field public static final int TILE_MODE_ACTIVE = 2; // 0x2 - field public static final int TILE_MODE_PASSIVE = 1; // 0x1 + field public static final java.lang.String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE"; } } diff --git a/core/java/android/service/quicksettings/IQSService.aidl b/core/java/android/service/quicksettings/IQSService.aidl index 5434e2ef5e2f6..747f18531d3b9 100644 --- a/core/java/android/service/quicksettings/IQSService.aidl +++ b/core/java/android/service/quicksettings/IQSService.aidl @@ -28,7 +28,6 @@ interface IQSService { String contentDescription); void onShowDialog(in Tile tile); void onStartActivity(in Tile tile); - void setTileMode(in ComponentName component, int mode); boolean isLocked(); boolean isSecure(); void startUnlockAndRun(in Tile tile); diff --git a/core/java/android/service/quicksettings/TileService.java b/core/java/android/service/quicksettings/TileService.java index 553d539eafeea..4e9a0751f2e38 100644 --- a/core/java/android/service/quicksettings/TileService.java +++ b/core/java/android/service/quicksettings/TileService.java @@ -89,28 +89,24 @@ public class TileService extends Service { public static final String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE"; /** - * The tile mode hasn't been set yet. - * @hide - */ - public static final int TILE_MODE_UNSET = 0; - - /** - * Constant to be returned by {@link #onTileAdded}. - *
- * Passive mode is the default mode for tiles. The System will tell the tile - * when it is most important to update by putting it in the listening state. - */ - public static final int TILE_MODE_PASSIVE = 1; - - /** - * Constant to be returned by {@link #onTileAdded}. + * Meta-data for tile definition to set a tile into active mode. *
* Active mode is for tiles which already listen and keep track of their state in their * own process. These tiles may request to send an update to the System while their process * is alive using {@link #requestListeningState}. The System will only bind these tiles * on its own when a click needs to occur. + * + * To make a TileService an active tile, set this meta-data to true on the TileService's + * manifest declaration. + *
+ * {@literal
+ *
+ * }
+ *
*/
- public static final int TILE_MODE_ACTIVE = 2;
+ public static final String META_DATA_ACTIVE_TILE
+ = "android.service.quicksettings.ACTIVE_TILE";
/**
* Used to notify SysUI that Listening has be requested.
@@ -147,12 +143,8 @@ public class TileService extends Service {
* Note that this is not guaranteed to be called between {@link #onCreate()}
* and {@link #onStartListening()}, it will only be called when the tile is added
* and not on subsequent binds.
- *
- * @see #TILE_MODE_PASSIVE
- * @see #TILE_MODE_ACTIVE
*/
- public int onTileAdded() {
- return TILE_MODE_PASSIVE;
+ public void onTileAdded() {
}
/**
@@ -386,15 +378,7 @@ public class TileService extends Service {
}
break;
case MSG_TILE_ADDED:
- int mode = TileService.this.onTileAdded();
- if (mService == null) {
- return;
- }
- try {
- mService.setTileMode(new ComponentName(TileService.this,
- TileService.this.getClass()), mode);
- } catch (RemoteException e) {
- }
+ TileService.this.onTileAdded();
break;
case MSG_TILE_REMOVED:
if (mListening) {
@@ -431,8 +415,8 @@ public class TileService extends Service {
/**
* Requests that a tile be put in the listening state so it can send an update.
*
- * This method is only applicable to tiles that return {@link #TILE_MODE_ACTIVE} from
- * {@link #onTileAdded()}, and will do nothing otherwise.
+ * This method is only applicable to tiles that have {@link #META_DATA_ACTIVE_TILE} defined
+ * as true on their TileService Manifest declaration, and will do nothing otherwise.
*/
public static final void requestListeningState(Context context, ComponentName component) {
Intent intent = new Intent(ACTION_REQUEST_LISTENING);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
index 6114573f627e2..6b20681a7c66c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
@@ -138,7 +138,7 @@ public class CustomTile extends QSTile