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

Commit 3d70de88 authored by Kholoud Mohamed's avatar Kholoud Mohamed
Browse files

Add ability to hide status bar notification icon

Flag: android.app.hide_status_bar_notification
Bug: 416192314
Test: atest android.app.notification.current.cts.NotificationManagerTest
Change-Id: If65af256251df26f3f7b0ed77d81636810b24a4c
parent f562729b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@ package android {
    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
    field @FlaggedApi("android.app.hide_status_bar_notification") public static final String HIDE_STATUS_BAR_NOTIFICATION = "android.permission.HIDE_STATUS_BAR_NOTIFICATION";
    field @FlaggedApi("android.xr.xr_manifest_entries") public static final String IMPORT_XR_ANCHOR = "android.permission.IMPORT_XR_ANCHOR";
    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
    field @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public static final String INJECT_KEY_EVENTS = "android.permission.INJECT_KEY_EVENTS";
@@ -1063,6 +1064,7 @@ package android.app {
    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
    field public static final String CATEGORY_CAR_WARNING = "car_warning";
    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
    field @FlaggedApi("android.app.hide_status_bar_notification") @RequiresPermission("android.Manifest.permission.HIDE_STATUS_BAR_NOTIFICATION") public static final String EXTRA_HIDE_STATUS_BAR_NOTIFICATION = "android.hideStatusBarNotification";
    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
  }
+12 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.app;
import static android.annotation.Dimension.DP;
import static android.app.Flags.FLAG_NM_SUMMARIZATION;
import static android.app.Flags.FLAG_HIDE_STATUS_BAR_NOTIFICATION;
import static android.app.Flags.notificationsRedesignTemplates;
import static android.app.admin.DevicePolicyResources.Drawables.Source.NOTIFICATION;
import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
@@ -1796,6 +1797,17 @@ public class Notification implements Parcelable
     */
    public static final String EXTRA_FOREGROUND_APPS = "android.foregroundApps";
    /**
     * Extra provided to indicate that the notification icon shouldn't be shown in the status bar.
     *
     * @hide
     */
    @SystemApi
    @RequiresPermission("android.Manifest.permission.HIDE_STATUS_BAR_NOTIFICATION")
    @FlaggedApi(FLAG_HIDE_STATUS_BAR_NOTIFICATION)
    public static final String EXTRA_HIDE_STATUS_BAR_NOTIFICATION =
            "android.hideStatusBarNotification";
    /**
     * @hide
     */
+8 −0
Original line number Diff line number Diff line
@@ -338,6 +338,14 @@ flag {
  bug: "367705002"
}

flag {
  name: "hide_status_bar_notification"
  namespace: "systemui"
  description: "Allows an application running a foreground service to hide the notification icon from the status bar"
  bug: "416192314"
  is_exported: true
}

# End: exported flags that cannot be removed


+8 −0
Original line number Diff line number Diff line
@@ -7453,6 +7453,14 @@
    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
                android:protectionLevel="signature|setup|role" />

    <!-- @hide @SystemApi Allows an application running a foreground service to hide the
    notification icon from the status bar.
    <p>Not for use by third-party applications.
    @FlaggedApi(android.app.Flags.FLAG_HIDE_STATUS_BAR_NOTIFICATION)-->
    <permission android:name="android.permission.HIDE_STATUS_BAR_NOTIFICATION"
        android:protectionLevel="signature|privileged"
        android:featureFlag="android.app.hide_status_bar_notification"/>

    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
        @hide -->
    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
+2 −1
Original line number Diff line number Diff line
@@ -587,8 +587,9 @@ applications that come with the platform
        <!-- Permission required for CTS test IntentRedirectionTest -->
        <permission name="android.permission.QUERY_CLONED_APPS"/>
        <permission name="android.permission.GET_BINDING_UID_IMPORTANCE"/>
        <!-- Permission required for CTS test NotificationManagerZenTest -->
        <!-- Permission required for CTS test CtsNotificationTestCases -->
        <permission name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" />
        <permission name="android.permission.HIDE_STATUS_BAR_NOTIFICATION" />
        <!-- Permission required for BinaryTransparencyService shell API and host test -->
        <permission name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES" />
        <permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
Loading