Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 356d4914 authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge \"QS: Don\'t use ComponentName to identify tiles\" into nyc-mr1-dev

am: a0967ebb

Change-Id: Ib98a48e46f711b927a1b9e8d2b8162a59bfa3240
parents 65aeef9d a0967ebb
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -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);
}
+6 −31
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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;
    }

    /**
@@ -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");
        }
@@ -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);
@@ -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 {
+15 −9
Original line number Diff line number Diff line
@@ -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
     */
@@ -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() {
@@ -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) {
            }
        }
@@ -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) {
        }
    }
@@ -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) {
        }
    }
@@ -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) {
        }
    }
@@ -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() {
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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();
+4 −0
Original line number Diff line number Diff line
@@ -94,4 +94,8 @@ public class QSTileServiceWrapper {
            return false;
        }
    }

    public IQSTileService getService() {
        return mService;
    }
}
Loading