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

Commit d206204b authored by Julia Reynolds's avatar Julia Reynolds Committed by Automerger Merge Worker
Browse files

Merge "Allow registered call notifications to always appear" into tm-dev am: f8e0fd5f

parents b11f6237 f8e0fd5f
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -57,6 +57,7 @@ interface INotificationManager
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    void cancelNotificationWithTag(String pkg, String opPkg, String tag, int id, int userId);
    void cancelNotificationWithTag(String pkg, String opPkg, String tag, int id, int userId);


    boolean isInCall(String pkg, int uid);
    void setShowBadge(String pkg, int uid, boolean showBadge);
    void setShowBadge(String pkg, int uid, boolean showBadge);
    boolean canShowBadge(String pkg, int uid);
    boolean canShowBadge(String pkg, int uid);
    boolean hasSentValidMsg(String pkg, int uid);
    boolean hasSentValidMsg(String pkg, int uid);
+1 −0
Original line number Original line Diff line number Diff line
@@ -224,6 +224,7 @@
    <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
    <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />


    <!-- It's like, reality, but, you know, virtual -->
    <!-- It's like, reality, but, you know, virtual -->
    <uses-permission android:name="android.permission.ACCESS_VR_MANAGER" />
    <uses-permission android:name="android.permission.ACCESS_VR_MANAGER" />
+9 −0
Original line number Original line Diff line number Diff line
@@ -135,6 +135,15 @@ asked for it -->
            android:layout_height="wrap_content"
            android:layout_height="wrap_content"
            style="@*android:style/TextAppearance.DeviceDefault.Notification" />
            style="@*android:style/TextAppearance.DeviceDefault.Notification" />


        <!-- Non configurable app/channel text. appears instead of @+id/interruptiveness_settings-->
        <TextView
            android:id="@+id/non_configurable_call_text"
            android:text="@string/notification_unblockable_call_desc"
            android:visibility="gone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@*android:style/TextAppearance.DeviceDefault.Notification" />

        <!-- Non configurable multichannel text. appears instead of @+id/interruptiveness_settings-->
        <!-- Non configurable multichannel text. appears instead of @+id/interruptiveness_settings-->
        <TextView
        <TextView
            android:id="@+id/non_configurable_multichannel_text"
            android:id="@+id/non_configurable_multichannel_text"
+3 −0
Original line number Original line Diff line number Diff line
@@ -1373,6 +1373,9 @@
    <!-- Notification: Control panel: Label that displays when the app's notifications cannot be blocked. -->
    <!-- Notification: Control panel: Label that displays when the app's notifications cannot be blocked. -->
    <string name="notification_unblockable_desc">These notifications can\'t be modified.</string>
    <string name="notification_unblockable_desc">These notifications can\'t be modified.</string>


    <!-- Notification: Control panel: Label that displays when a notification cannot be blocked because it's attached to a phone/voip call. -->
    <string name="notification_unblockable_call_desc">Call notifications can\'t be modified.</string>

    <!-- Notification: Control panel: label that displays when viewing settings for a group of notifications posted to multiple channels. -->
    <!-- Notification: Control panel: label that displays when viewing settings for a group of notifications posted to multiple channels. -->
    <string name="notification_multichannel_desc">This group of notifications cannot be configured here</string>
    <string name="notification_multichannel_desc">This group of notifications cannot be configured here</string>


+13 −2
Original line number Original line Diff line number Diff line
@@ -32,6 +32,7 @@ import android.annotation.Nullable;
import android.app.INotificationManager;
import android.app.INotificationManager;
import android.app.Notification;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationChannel;
import android.app.role.RoleManager;
import android.content.Context;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
@@ -380,12 +381,22 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
                Settings.Secure.NOTIFICATION_PERMISSION_ENABLED, 0, USER_SYSTEM) == 1) {
                Settings.Secure.NOTIFICATION_PERMISSION_ENABLED, 0, USER_SYSTEM) == 1) {
            INotificationManager iNm = INotificationManager.Stub.asInterface(
            INotificationManager iNm = INotificationManager.Stub.asInterface(
                    ServiceManager.getService(Context.NOTIFICATION_SERVICE));
                    ServiceManager.getService(Context.NOTIFICATION_SERVICE));

            boolean isSystem = false;
            try {
            try {
                return iNm.isPermissionFixed(sbn.getPackageName(), sbn.getUserId());
                isSystem = iNm.isPermissionFixed(sbn.getPackageName(), sbn.getUserId());
            } catch (RemoteException e) {
            } catch (RemoteException e) {
                Log.e(TAG, "cannot reach NMS");
                Log.e(TAG, "cannot reach NMS");
            }
            }
            return false;
            RoleManager rm = context.getSystemService(RoleManager.class);
            List<String> fixedRoleHolders = new ArrayList<>();
            fixedRoleHolders.addAll(rm.getRoleHolders(RoleManager.ROLE_DIALER));
            fixedRoleHolders.addAll(rm.getRoleHolders(RoleManager.ROLE_EMERGENCY));
            if (fixedRoleHolders.contains(sbn.getPackageName())) {
                isSystem = true;
            }

            return isSystem;
        } else {
        } else {
            PackageManager packageManager = CentralSurfaces.getPackageManagerForUser(
            PackageManager packageManager = CentralSurfaces.getPackageManagerForUser(
                    context, sbn.getUser().getIdentifier());
                    context, sbn.getUser().getIdentifier());
Loading