Loading core/java/android/service/quicksettings/IQSService.aidl +8 −8 Original line number Diff line number Diff line Loading @@ -23,16 +23,16 @@ import android.service.quicksettings.Tile; * @hide */ interface IQSService { Tile getTile(in ComponentName component); void updateQsTile(in Tile tile); void updateStatusIcon(in Tile tile, in Icon icon, Tile getTile(in IBinder tile); void updateQsTile(in Tile tile, in IBinder service); void updateStatusIcon(in IBinder tile, in Icon icon, String contentDescription); void onShowDialog(in Tile tile); void onStartActivity(in Tile tile); void onShowDialog(in IBinder tile); void onStartActivity(in IBinder tile); boolean isLocked(); boolean isSecure(); void startUnlockAndRun(in Tile tile); void startUnlockAndRun(in IBinder tile); void onDialogHidden(in Tile tile); void onStartSuccessful(in Tile tile); void onDialogHidden(in IBinder tile); void onStartSuccessful(in IBinder tile); } core/java/android/service/quicksettings/Tile.java +6 −31 Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ */ package android.service.quicksettings; import android.content.ComponentName; import android.graphics.drawable.Icon; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; Loading Loading @@ -59,7 +59,7 @@ public final class Tile implements Parcelable { */ public static final int STATE_ACTIVE = 2; private ComponentName mComponentName; private IBinder mToken; private Icon mIcon; private CharSequence mLabel; private CharSequence mContentDescription; Loading @@ -78,29 +78,15 @@ public final class Tile implements Parcelable { /** * @hide */ public Tile(ComponentName componentName) { mComponentName = componentName; public Tile() { } /** * @hide */ public void setService(IQSService service) { public void setService(IQSService service, IBinder stub) { mService = service; } /** * @hide */ public ComponentName getComponentName() { return mComponentName; } /** * @hide */ public IQSService getQsService() { return mService; mToken = stub; } /** Loading Loading @@ -193,7 +179,7 @@ public final class Tile implements Parcelable { */ public void updateTile() { try { mService.updateQsTile(this); mService.updateQsTile(this, mToken); } catch (RemoteException e) { Log.e(TAG, "Couldn't update tile"); } Loading @@ -201,12 +187,6 @@ public final class Tile implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { if (mComponentName != null) { dest.writeByte((byte) 1); mComponentName.writeToParcel(dest, flags); } else { dest.writeByte((byte) 0); } if (mIcon != null) { dest.writeByte((byte) 1); mIcon.writeToParcel(dest, flags); Loading @@ -219,11 +199,6 @@ public final class Tile implements Parcelable { } private void readFromParcel(Parcel source) { if (source.readByte() != 0) { mComponentName = ComponentName.CREATOR.createFromParcel(source); } else { mComponentName = null; } if (source.readByte() != 0) { mIcon = Icon.CREATOR.createFromParcel(source); } else { Loading core/java/android/service/quicksettings/TileService.java +15 −9 Original line number Diff line number Diff line Loading @@ -120,6 +120,11 @@ public class TileService extends Service { */ public static final String EXTRA_SERVICE = "service"; /** * @hide */ public static final String EXTRA_TOKEN = "token"; /** * @hide */ Loading @@ -132,6 +137,7 @@ public class TileService extends Service { private IBinder mToken; private IQSService mService; private Runnable mUnlockRunnable; private IBinder mTileToken; @Override public void onDestroy() { Loading Loading @@ -197,7 +203,7 @@ public class TileService extends Service { public final void setStatusIcon(Icon icon, String contentDescription) { if (mService != null) { try { mService.updateStatusIcon(mTile, icon, contentDescription); mService.updateStatusIcon(mTileToken, icon, contentDescription); } catch (RemoteException e) { } } Loading @@ -224,14 +230,14 @@ public class TileService extends Service { @Override public void onViewDetachedFromWindow(View v) { try { mService.onDialogHidden(getQsTile()); mService.onDialogHidden(mTileToken); } catch (RemoteException e) { } } }); dialog.show(); try { mService.onShowDialog(mTile); mService.onShowDialog(mTileToken); } catch (RemoteException e) { } } Loading @@ -246,7 +252,7 @@ public class TileService extends Service { public final void unlockAndRun(Runnable runnable) { mUnlockRunnable = runnable; try { mService.startUnlockAndRun(mTile); mService.startUnlockAndRun(mTileToken); } catch (RemoteException e) { } } Loading Loading @@ -292,7 +298,7 @@ public class TileService extends Service { public final void startActivityAndCollapse(Intent intent) { startActivity(intent); try { mService.onStartActivity(mTile); mService.onStartActivity(mTileToken); } catch (RemoteException e) { } } Loading @@ -311,14 +317,14 @@ public class TileService extends Service { @Override public IBinder onBind(Intent intent) { mService = IQSService.Stub.asInterface(intent.getIBinderExtra(EXTRA_SERVICE)); mTileToken = intent.getIBinderExtra(EXTRA_TOKEN); try { ComponentName component = intent.getParcelableExtra(EXTRA_COMPONENT); mTile = mService.getTile(component); mTile = mService.getTile(mTileToken); } catch (RemoteException e) { throw new RuntimeException("Unable to reach IQSService", e); } if (mTile != null) { mTile.setService(mService); mTile.setService(mService, mTileToken); mHandler.sendEmptyMessage(H.MSG_START_SUCCESS); } return new IQSTileService.Stub() { Loading Loading @@ -403,7 +409,7 @@ public class TileService extends Service { break; case MSG_START_SUCCESS: try { mService.onStartSuccessful(mTile); mService.onStartSuccessful(mTileToken); } catch (RemoteException e) { } break; Loading packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ public class CustomTile extends QSTile<QSTile.State> implements TileChangeListen super(host); mWindowManager = WindowManagerGlobal.getWindowManagerService(); mComponent = ComponentName.unflattenFromString(action); mTile = new Tile(mComponent); mTile = new Tile(); setTileIcon(); mServiceManager = host.getTileServices().getTileWrapper(this); mService = mServiceManager.getTileService(); Loading packages/SystemUI/src/com/android/systemui/qs/external/QSTileServiceWrapper.java +4 −0 Original line number Diff line number Diff line Loading @@ -94,4 +94,8 @@ public class QSTileServiceWrapper { return false; } } public IQSTileService getService() { return mService; } } Loading
core/java/android/service/quicksettings/IQSService.aidl +8 −8 Original line number Diff line number Diff line Loading @@ -23,16 +23,16 @@ import android.service.quicksettings.Tile; * @hide */ interface IQSService { Tile getTile(in ComponentName component); void updateQsTile(in Tile tile); void updateStatusIcon(in Tile tile, in Icon icon, Tile getTile(in IBinder tile); void updateQsTile(in Tile tile, in IBinder service); void updateStatusIcon(in IBinder tile, in Icon icon, String contentDescription); void onShowDialog(in Tile tile); void onStartActivity(in Tile tile); void onShowDialog(in IBinder tile); void onStartActivity(in IBinder tile); boolean isLocked(); boolean isSecure(); void startUnlockAndRun(in Tile tile); void startUnlockAndRun(in IBinder tile); void onDialogHidden(in Tile tile); void onStartSuccessful(in Tile tile); void onDialogHidden(in IBinder tile); void onStartSuccessful(in IBinder tile); }
core/java/android/service/quicksettings/Tile.java +6 −31 Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ */ package android.service.quicksettings; import android.content.ComponentName; import android.graphics.drawable.Icon; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; Loading Loading @@ -59,7 +59,7 @@ public final class Tile implements Parcelable { */ public static final int STATE_ACTIVE = 2; private ComponentName mComponentName; private IBinder mToken; private Icon mIcon; private CharSequence mLabel; private CharSequence mContentDescription; Loading @@ -78,29 +78,15 @@ public final class Tile implements Parcelable { /** * @hide */ public Tile(ComponentName componentName) { mComponentName = componentName; public Tile() { } /** * @hide */ public void setService(IQSService service) { public void setService(IQSService service, IBinder stub) { mService = service; } /** * @hide */ public ComponentName getComponentName() { return mComponentName; } /** * @hide */ public IQSService getQsService() { return mService; mToken = stub; } /** Loading Loading @@ -193,7 +179,7 @@ public final class Tile implements Parcelable { */ public void updateTile() { try { mService.updateQsTile(this); mService.updateQsTile(this, mToken); } catch (RemoteException e) { Log.e(TAG, "Couldn't update tile"); } Loading @@ -201,12 +187,6 @@ public final class Tile implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { if (mComponentName != null) { dest.writeByte((byte) 1); mComponentName.writeToParcel(dest, flags); } else { dest.writeByte((byte) 0); } if (mIcon != null) { dest.writeByte((byte) 1); mIcon.writeToParcel(dest, flags); Loading @@ -219,11 +199,6 @@ public final class Tile implements Parcelable { } private void readFromParcel(Parcel source) { if (source.readByte() != 0) { mComponentName = ComponentName.CREATOR.createFromParcel(source); } else { mComponentName = null; } if (source.readByte() != 0) { mIcon = Icon.CREATOR.createFromParcel(source); } else { Loading
core/java/android/service/quicksettings/TileService.java +15 −9 Original line number Diff line number Diff line Loading @@ -120,6 +120,11 @@ public class TileService extends Service { */ public static final String EXTRA_SERVICE = "service"; /** * @hide */ public static final String EXTRA_TOKEN = "token"; /** * @hide */ Loading @@ -132,6 +137,7 @@ public class TileService extends Service { private IBinder mToken; private IQSService mService; private Runnable mUnlockRunnable; private IBinder mTileToken; @Override public void onDestroy() { Loading Loading @@ -197,7 +203,7 @@ public class TileService extends Service { public final void setStatusIcon(Icon icon, String contentDescription) { if (mService != null) { try { mService.updateStatusIcon(mTile, icon, contentDescription); mService.updateStatusIcon(mTileToken, icon, contentDescription); } catch (RemoteException e) { } } Loading @@ -224,14 +230,14 @@ public class TileService extends Service { @Override public void onViewDetachedFromWindow(View v) { try { mService.onDialogHidden(getQsTile()); mService.onDialogHidden(mTileToken); } catch (RemoteException e) { } } }); dialog.show(); try { mService.onShowDialog(mTile); mService.onShowDialog(mTileToken); } catch (RemoteException e) { } } Loading @@ -246,7 +252,7 @@ public class TileService extends Service { public final void unlockAndRun(Runnable runnable) { mUnlockRunnable = runnable; try { mService.startUnlockAndRun(mTile); mService.startUnlockAndRun(mTileToken); } catch (RemoteException e) { } } Loading Loading @@ -292,7 +298,7 @@ public class TileService extends Service { public final void startActivityAndCollapse(Intent intent) { startActivity(intent); try { mService.onStartActivity(mTile); mService.onStartActivity(mTileToken); } catch (RemoteException e) { } } Loading @@ -311,14 +317,14 @@ public class TileService extends Service { @Override public IBinder onBind(Intent intent) { mService = IQSService.Stub.asInterface(intent.getIBinderExtra(EXTRA_SERVICE)); mTileToken = intent.getIBinderExtra(EXTRA_TOKEN); try { ComponentName component = intent.getParcelableExtra(EXTRA_COMPONENT); mTile = mService.getTile(component); mTile = mService.getTile(mTileToken); } catch (RemoteException e) { throw new RuntimeException("Unable to reach IQSService", e); } if (mTile != null) { mTile.setService(mService); mTile.setService(mService, mTileToken); mHandler.sendEmptyMessage(H.MSG_START_SUCCESS); } return new IQSTileService.Stub() { Loading Loading @@ -403,7 +409,7 @@ public class TileService extends Service { break; case MSG_START_SUCCESS: try { mService.onStartSuccessful(mTile); mService.onStartSuccessful(mTileToken); } catch (RemoteException e) { } break; Loading
packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ public class CustomTile extends QSTile<QSTile.State> implements TileChangeListen super(host); mWindowManager = WindowManagerGlobal.getWindowManagerService(); mComponent = ComponentName.unflattenFromString(action); mTile = new Tile(mComponent); mTile = new Tile(); setTileIcon(); mServiceManager = host.getTileServices().getTileWrapper(this); mService = mServiceManager.getTileService(); Loading
packages/SystemUI/src/com/android/systemui/qs/external/QSTileServiceWrapper.java +4 −0 Original line number Diff line number Diff line Loading @@ -94,4 +94,8 @@ public class QSTileServiceWrapper { return false; } } public IQSTileService getService() { return mService; } }