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

Commit 9f172e65 authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge changes I875b962b,I99c4c290

* changes:
  Add API for System QS tiles to set status icons
  Cleanup the status bar flow.
parents b1f69a9b 66c89c15
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -35845,6 +35845,7 @@ package android.service.quicksettings {
    method public int 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);
    method public final void showDialog(android.app.Dialog);
    field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
    field public static final int TILE_MODE_ACTIVE = 2; // 0x2
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package android.service.quicksettings;

import android.content.ComponentName;
import android.graphics.drawable.Icon;
import android.service.quicksettings.Tile;

/**
@@ -23,6 +24,8 @@ import android.service.quicksettings.Tile;
 */
interface IQSService {
    void updateQsTile(in Tile tile);
    void updateStatusIcon(in Tile tile, in Icon icon,
            String contentDescription);
    void onShowDialog(in Tile tile);
    void setTileMode(in ComponentName component, int mode);
}
+22 −0
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@
package android.service.quicksettings;

import android.Manifest;
import android.annotation.SystemApi;
import android.app.Dialog;
import android.app.Service;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Icon;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
@@ -171,6 +173,26 @@ public class TileService extends Service {
    public void onClick() {
    }

    /**
     * Sets an icon to be shown in the status bar.
     * <p>
     * The icon will be displayed before all other icons.  Can only be called between
     * {@link #onStartListening} and {@link #onStopListening}.  Can only be called by system apps.
     *
     * @param icon The icon to be displayed, null to hide
     * @param contentDescription Content description of the icon to be displayed
     * @hide
     */
    @SystemApi
    public final void setStatusIcon(Icon icon, String contentDescription) {
        if (mService != null) {
            try {
                mService.updateStatusIcon(mTile, icon, contentDescription);
            } catch (RemoteException e) {
            }
        }
    }

    /**
     * Used to show a dialog.
     *
+2 −2
Original line number Diff line number Diff line
@@ -24,8 +24,8 @@ import com.android.internal.statusbar.StatusBarIcon;
/** @hide */
oneway interface IStatusBar
{
    void setIcon(int index, in StatusBarIcon icon);
    void removeIcon(int index);
    void setIcon(String slot, in StatusBarIcon icon);
    void removeIcon(String slot);
    void disable(int state1, int state2);
    void animateExpandNotificationsPanel();
    void animateExpandSettingsPanel(String subPanel);
+2 −1
Original line number Diff line number Diff line
@@ -44,7 +44,8 @@ interface IStatusBarService

    // ---- Methods below are for use by the status bar policy services ----
    // You need the STATUS_BAR_SERVICE permission
    void registerStatusBar(IStatusBar callbacks, out StatusBarIconList iconList,
    void registerStatusBar(IStatusBar callbacks, out List<String> iconSlots,
            out List<StatusBarIcon> iconList,
            out int[] switches, out List<IBinder> binders);
    void onPanelRevealed(boolean clearNotificationEffects, int numItems);
    void onPanelHidden();
Loading