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

Commit d7af5609 authored by Olivier St-Onge's avatar Olivier St-Onge Committed by Android (Google) Code Review
Browse files

Merge "Add tile categories API for TileService" into main

parents b58847b3 70b4b20c
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ aconfig_declarations_group {
        "android.service.controls.flags-aconfig-java",
        "android.service.dreams.flags-aconfig-java",
        "android.service.notification.flags-aconfig-java",
        "android.service.quicksettings.flags-aconfig-java",
        "android.service.quickaccesswallet.flags-aconfig-java",
        "android.service.selinux.flags-aconfig-java",
        "android.service.voice.flags-aconfig-java",
@@ -1404,6 +1405,22 @@ java_aconfig_library {
    ],
}

// Quick Settings
aconfig_declarations {
    name: "android.service.quicksettings.flags-aconfig",
    package: "android.service.quicksettings",
    exportable: true,
    container: "system",
    srcs: ["core/java/android/service/quicksettings/flags.aconfig"],
}

java_aconfig_library {
    name: "android.service.quicksettings.flags-aconfig-java",
    aconfig_declarations: "android.service.quicksettings.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
    mode: "exported",
}

// Contextual Search
aconfig_declarations {
    name: "android.app.contextualsearch.flags-aconfig",
+6 −0
Original line number Diff line number Diff line
@@ -42748,7 +42748,13 @@ package android.service.quicksettings {
    method public final void unlockAndRun(Runnable);
    field public static final String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
    field public static final String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
    field @FlaggedApi("android.service.quicksettings.quicksettings_tile_categories") public static final String CATEGORY_ACCESSIBILITY = "android.service.quicksettings.CATEGORY_ACCESSIBILITY";
    field @FlaggedApi("android.service.quicksettings.quicksettings_tile_categories") public static final String CATEGORY_CONNECTIVITY = "android.service.quicksettings.CATEGORY_CONNECTIVITY";
    field @FlaggedApi("android.service.quicksettings.quicksettings_tile_categories") public static final String CATEGORY_DISPLAY = "android.service.quicksettings.CATEGORY_DISPLAY";
    field @FlaggedApi("android.service.quicksettings.quicksettings_tile_categories") public static final String CATEGORY_PRIVACY = "android.service.quicksettings.CATEGORY_PRIVACY";
    field @FlaggedApi("android.service.quicksettings.quicksettings_tile_categories") public static final String CATEGORY_UTILITIES = "android.service.quicksettings.CATEGORY_UTILITIES";
    field public static final String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE";
    field @FlaggedApi("android.service.quicksettings.quicksettings_tile_categories") public static final String META_DATA_TILE_CATEGORY = "android.service.quicksettings.TILE_CATEGORY";
    field public static final String META_DATA_TOGGLEABLE_TILE = "android.service.quicksettings.TOGGLEABLE_TILE";
  }
+73 −0
Original line number Diff line number Diff line
@@ -15,9 +15,11 @@
 */
package android.service.quicksettings;

import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.StringDef;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.app.Dialog;
@@ -45,6 +47,8 @@ import android.view.WindowManager;

import com.android.internal.R;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Objects;

/**
@@ -154,6 +158,75 @@ public class TileService extends Service {
    public static final String META_DATA_TOGGLEABLE_TILE =
            "android.service.quicksettings.TOGGLEABLE_TILE";

    /**
     * Meta-data to set a category for a tile. Optional but recommended for apps that implement a
     * TileService.
     * <p>
     * This category could be used to classify the provided tile, such as in the edit page for
     * Quick Settings.
     * <p>
     * To set the category of a TileService, set this meta-data to the appropriate string on the
     * TileService's manifest declaration. For example:
     * <pre class="prettyprint">
     * {@literal
     * <meta-data android:name="android.service.quicksettings.TILE_CATEGORY"
     *      android:value="android.service.quicksettings.CATEGORY_CONNECTIVITY" />
     * }
     * </pre>
     */
    @FlaggedApi(Flags.FLAG_QUICKSETTINGS_TILE_CATEGORIES)
    public static final String META_DATA_TILE_CATEGORY =
            "android.service.quicksettings.TILE_CATEGORY";

    /** @hide */
    @StringDef(prefix = { "CATEGORY_" }, value = {
            CATEGORY_CONNECTIVITY,
            CATEGORY_UTILITIES,
            CATEGORY_DISPLAY,
            CATEGORY_PRIVACY,
            CATEGORY_ACCESSIBILITY
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface Categories {}

    /**
     * Tile category for connectivity related tiles. This is a possible value for
     * {@link META_DATA_TILE_CATEGORY}
     */
    @FlaggedApi(Flags.FLAG_QUICKSETTINGS_TILE_CATEGORIES)
    public static final String CATEGORY_CONNECTIVITY =
            "android.service.quicksettings.CATEGORY_CONNECTIVITY";

    /**
     * Tile category for utility tiles. This is a possible value for
     * {@link META_DATA_TILE_CATEGORY}.
     */
    @FlaggedApi(Flags.FLAG_QUICKSETTINGS_TILE_CATEGORIES)
    public static final String CATEGORY_UTILITIES =
            "android.service.quicksettings.CATEGORY_UTILITIES";

    /**
     * Tile category for display related tiles. This is a possible value for
     * {@link META_DATA_TILE_CATEGORY}
     */
    @FlaggedApi(Flags.FLAG_QUICKSETTINGS_TILE_CATEGORIES)
    public static final String CATEGORY_DISPLAY = "android.service.quicksettings.CATEGORY_DISPLAY";

    /**
     * Tile category for privacy related tiles. This is a possible value for
     * {@link META_DATA_TILE_CATEGORY}
     */
    @FlaggedApi(Flags.FLAG_QUICKSETTINGS_TILE_CATEGORIES)
    public static final String CATEGORY_PRIVACY = "android.service.quicksettings.CATEGORY_PRIVACY";

    /**
     * Tile category for accessibility related tiles. This is a possible value for
     * {@link META_DATA_TILE_CATEGORY}
     */
    @FlaggedApi(Flags.FLAG_QUICKSETTINGS_TILE_CATEGORIES)
    public static final String CATEGORY_ACCESSIBILITY =
            "android.service.quicksettings.CATEGORY_ACCESSIBILITY";

    /**
     * @hide
     */
+10 −0
Original line number Diff line number Diff line
package: "android.service.quicksettings"
container: "system"

flag {
  name: "quicksettings_tile_categories"
  namespace: "systemui"
  description: "This flag enables using tile categories for tile services."
  bug: "417203376"
  is_exported: true
}
 No newline at end of file