Files
rr3-apk/decompiled/sources/androidx/core/app/NotificationCompatBuilder.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

484 lines
20 KiB
Java

package androidx.core.app;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import android.content.LocusId;
import android.graphics.drawable.Icon;
import android.media.AudioAttributes;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.RemoteViews;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.collection.ArraySet;
import androidx.core.app.NotificationCompat;
import androidx.core.content.LocusIdCompat;
import androidx.core.graphics.drawable.IconCompat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
/* loaded from: classes.dex */
class NotificationCompatBuilder implements NotificationBuilderWithBuilderAccessor {
private RemoteViews mBigContentView;
private final Notification.Builder mBuilder;
private final NotificationCompat.Builder mBuilderCompat;
private RemoteViews mContentView;
private final Context mContext;
private int mGroupAlertBehavior;
private RemoteViews mHeadsUpContentView;
private final List<Bundle> mActionExtrasList = new ArrayList();
private final Bundle mExtras = new Bundle();
@Override // androidx.core.app.NotificationBuilderWithBuilderAccessor
public Notification.Builder getBuilder() {
return this.mBuilder;
}
public Context getContext() {
return this.mContext;
}
public NotificationCompatBuilder(NotificationCompat.Builder builder) {
List list;
int i;
this.mBuilderCompat = builder;
Context context = builder.mContext;
this.mContext = context;
Notification.Builder createBuilder = Api26Impl.createBuilder(context, builder.mChannelId);
this.mBuilder = createBuilder;
Notification notification = builder.mNotification;
createBuilder.setWhen(notification.when).setSmallIcon(notification.icon, notification.iconLevel).setContent(notification.contentView).setTicker(notification.tickerText, builder.mTickerView).setVibrate(notification.vibrate).setLights(notification.ledARGB, notification.ledOnMS, notification.ledOffMS).setOngoing((notification.flags & 2) != 0).setOnlyAlertOnce((notification.flags & 8) != 0).setAutoCancel((notification.flags & 16) != 0).setDefaults(notification.defaults).setContentTitle(builder.mContentTitle).setContentText(builder.mContentText).setContentInfo(builder.mContentInfo).setContentIntent(builder.mContentIntent).setDeleteIntent(notification.deleteIntent).setFullScreenIntent(builder.mFullScreenIntent, (notification.flags & 128) != 0).setNumber(builder.mNumber).setProgress(builder.mProgressMax, builder.mProgress, builder.mProgressIndeterminate);
IconCompat iconCompat = builder.mLargeIcon;
Api23Impl.setLargeIcon(createBuilder, iconCompat == null ? null : iconCompat.toIcon(context));
createBuilder.setSubText(builder.mSubText).setUsesChronometer(builder.mUseChronometer).setPriority(builder.mPriority);
NotificationCompat.Style style = builder.mStyle;
if (style instanceof NotificationCompat.CallStyle) {
Iterator<NotificationCompat.Action> it = ((NotificationCompat.CallStyle) style).getActionsListWithSystemActions().iterator();
while (it.hasNext()) {
addAction(it.next());
}
} else {
Iterator<NotificationCompat.Action> it2 = builder.mActions.iterator();
while (it2.hasNext()) {
addAction(it2.next());
}
}
Bundle bundle = builder.mExtras;
if (bundle != null) {
this.mExtras.putAll(bundle);
}
int i2 = Build.VERSION.SDK_INT;
this.mContentView = builder.mContentView;
this.mBigContentView = builder.mBigContentView;
this.mBuilder.setShowWhen(builder.mShowWhen);
Api20Impl.setLocalOnly(this.mBuilder, builder.mLocalOnly);
Api20Impl.setGroup(this.mBuilder, builder.mGroupKey);
Api20Impl.setSortKey(this.mBuilder, builder.mSortKey);
Api20Impl.setGroupSummary(this.mBuilder, builder.mGroupSummary);
this.mGroupAlertBehavior = builder.mGroupAlertBehavior;
Api21Impl.setCategory(this.mBuilder, builder.mCategory);
Api21Impl.setColor(this.mBuilder, builder.mColor);
Api21Impl.setVisibility(this.mBuilder, builder.mVisibility);
Api21Impl.setPublicVersion(this.mBuilder, builder.mPublicVersion);
Api21Impl.setSound(this.mBuilder, notification.sound, notification.audioAttributes);
if (i2 < 28) {
list = combineLists(getPeople(builder.mPersonList), builder.mPeople);
} else {
list = builder.mPeople;
}
if (list != null && !list.isEmpty()) {
Iterator it3 = list.iterator();
while (it3.hasNext()) {
Api21Impl.addPerson(this.mBuilder, (String) it3.next());
}
}
this.mHeadsUpContentView = builder.mHeadsUpContentView;
if (builder.mInvisibleActions.size() > 0) {
Bundle bundle2 = builder.getExtras().getBundle("android.car.EXTENSIONS");
bundle2 = bundle2 == null ? new Bundle() : bundle2;
Bundle bundle3 = new Bundle(bundle2);
Bundle bundle4 = new Bundle();
for (int i3 = 0; i3 < builder.mInvisibleActions.size(); i3++) {
bundle4.putBundle(Integer.toString(i3), NotificationCompatJellybean.getBundleForAction(builder.mInvisibleActions.get(i3)));
}
bundle2.putBundle("invisible_actions", bundle4);
bundle3.putBundle("invisible_actions", bundle4);
builder.getExtras().putBundle("android.car.EXTENSIONS", bundle2);
this.mExtras.putBundle("android.car.EXTENSIONS", bundle3);
}
int i4 = Build.VERSION.SDK_INT;
Object obj = builder.mSmallIcon;
if (obj != null) {
Api23Impl.setSmallIcon(this.mBuilder, obj);
}
this.mBuilder.setExtras(builder.mExtras);
Api24Impl.setRemoteInputHistory(this.mBuilder, builder.mRemoteInputHistory);
RemoteViews remoteViews = builder.mContentView;
if (remoteViews != null) {
Api24Impl.setCustomContentView(this.mBuilder, remoteViews);
}
RemoteViews remoteViews2 = builder.mBigContentView;
if (remoteViews2 != null) {
Api24Impl.setCustomBigContentView(this.mBuilder, remoteViews2);
}
RemoteViews remoteViews3 = builder.mHeadsUpContentView;
if (remoteViews3 != null) {
Api24Impl.setCustomHeadsUpContentView(this.mBuilder, remoteViews3);
}
Api26Impl.setBadgeIconType(this.mBuilder, builder.mBadgeIcon);
Api26Impl.setSettingsText(this.mBuilder, builder.mSettingsText);
Api26Impl.setShortcutId(this.mBuilder, builder.mShortcutId);
Api26Impl.setTimeoutAfter(this.mBuilder, builder.mTimeout);
Api26Impl.setGroupAlertBehavior(this.mBuilder, builder.mGroupAlertBehavior);
if (builder.mColorizedSet) {
Api26Impl.setColorized(this.mBuilder, builder.mColorized);
}
if (!TextUtils.isEmpty(builder.mChannelId)) {
this.mBuilder.setSound(null).setDefaults(0).setLights(0, 0, 0).setVibrate(null);
}
if (i4 >= 28) {
Iterator<Person> it4 = builder.mPersonList.iterator();
while (it4.hasNext()) {
Api28Impl.addPerson(this.mBuilder, it4.next().toAndroidPerson());
}
}
int i5 = Build.VERSION.SDK_INT;
if (i5 >= 29) {
Api29Impl.setAllowSystemGeneratedContextualActions(this.mBuilder, builder.mAllowSystemGeneratedContextualActions);
Api29Impl.setBubbleMetadata(this.mBuilder, NotificationCompat.BubbleMetadata.toPlatform(builder.mBubbleMetadata));
LocusIdCompat locusIdCompat = builder.mLocusId;
if (locusIdCompat != null) {
Api29Impl.setLocusId(this.mBuilder, locusIdCompat.toLocusId());
}
}
if (i5 >= 31 && (i = builder.mFgsDeferBehavior) != 0) {
Api31Impl.setForegroundServiceBehavior(this.mBuilder, i);
}
if (builder.mSilent) {
if (this.mBuilderCompat.mGroupSummary) {
this.mGroupAlertBehavior = 2;
} else {
this.mGroupAlertBehavior = 1;
}
this.mBuilder.setVibrate(null);
this.mBuilder.setSound(null);
int i6 = notification.defaults & (-4);
notification.defaults = i6;
this.mBuilder.setDefaults(i6);
if (TextUtils.isEmpty(this.mBuilderCompat.mGroupKey)) {
Api20Impl.setGroup(this.mBuilder, NotificationCompat.GROUP_KEY_SILENT);
}
Api26Impl.setGroupAlertBehavior(this.mBuilder, this.mGroupAlertBehavior);
}
}
@Nullable
private static List<String> combineLists(@Nullable List<String> list, @Nullable List<String> list2) {
if (list == null) {
return list2;
}
if (list2 == null) {
return list;
}
ArraySet arraySet = new ArraySet(list.size() + list2.size());
arraySet.addAll(list);
arraySet.addAll(list2);
return new ArrayList(arraySet);
}
@Nullable
private static List<String> getPeople(@Nullable List<Person> list) {
if (list == null) {
return null;
}
ArrayList arrayList = new ArrayList(list.size());
Iterator<Person> it = list.iterator();
while (it.hasNext()) {
arrayList.add(it.next().resolveToLegacyUri());
}
return arrayList;
}
public Notification build() {
Bundle extras;
RemoteViews makeHeadsUpContentView;
RemoteViews makeBigContentView;
NotificationCompat.Style style = this.mBuilderCompat.mStyle;
if (style != null) {
style.apply(this);
}
RemoteViews makeContentView = style != null ? style.makeContentView(this) : null;
Notification buildInternal = buildInternal();
if (makeContentView != null) {
buildInternal.contentView = makeContentView;
} else {
RemoteViews remoteViews = this.mBuilderCompat.mContentView;
if (remoteViews != null) {
buildInternal.contentView = remoteViews;
}
}
if (style != null && (makeBigContentView = style.makeBigContentView(this)) != null) {
buildInternal.bigContentView = makeBigContentView;
}
if (style != null && (makeHeadsUpContentView = this.mBuilderCompat.mStyle.makeHeadsUpContentView(this)) != null) {
buildInternal.headsUpContentView = makeHeadsUpContentView;
}
if (style != null && (extras = NotificationCompat.getExtras(buildInternal)) != null) {
style.addCompatExtras(extras);
}
return buildInternal;
}
private void addAction(NotificationCompat.Action action) {
Bundle bundle;
IconCompat iconCompat = action.getIconCompat();
Notification.Action.Builder createBuilder = Api23Impl.createBuilder(iconCompat != null ? iconCompat.toIcon() : null, action.getTitle(), action.getActionIntent());
if (action.getRemoteInputs() != null) {
for (android.app.RemoteInput remoteInput : RemoteInput.fromCompat(action.getRemoteInputs())) {
Api20Impl.addRemoteInput(createBuilder, remoteInput);
}
}
if (action.getExtras() != null) {
bundle = new Bundle(action.getExtras());
} else {
bundle = new Bundle();
}
bundle.putBoolean("android.support.allowGeneratedReplies", action.getAllowGeneratedReplies());
int i = Build.VERSION.SDK_INT;
Api24Impl.setAllowGeneratedReplies(createBuilder, action.getAllowGeneratedReplies());
bundle.putInt("android.support.action.semanticAction", action.getSemanticAction());
if (i >= 28) {
Api28Impl.setSemanticAction(createBuilder, action.getSemanticAction());
}
if (i >= 29) {
Api29Impl.setContextual(createBuilder, action.isContextual());
}
if (i >= 31) {
Api31Impl.setAuthenticationRequired(createBuilder, action.isAuthenticationRequired());
}
bundle.putBoolean("android.support.action.showsUserInterface", action.getShowsUserInterface());
Api20Impl.addExtras(createBuilder, bundle);
Api20Impl.addAction(this.mBuilder, Api20Impl.build(createBuilder));
}
public Notification buildInternal() {
return this.mBuilder.build();
}
private void removeSoundAndVibration(Notification notification) {
notification.sound = null;
notification.vibrate = null;
notification.defaults &= -4;
}
@RequiresApi(20)
public static class Api20Impl {
private Api20Impl() {
}
public static Notification.Action.Builder createBuilder(int i, CharSequence charSequence, PendingIntent pendingIntent) {
return new Notification.Action.Builder(i, charSequence, pendingIntent);
}
public static Notification.Action.Builder addRemoteInput(Notification.Action.Builder builder, android.app.RemoteInput remoteInput) {
return builder.addRemoteInput(remoteInput);
}
public static Notification.Action.Builder addExtras(Notification.Action.Builder builder, Bundle bundle) {
return builder.addExtras(bundle);
}
public static Notification.Builder addAction(Notification.Builder builder, Notification.Action action) {
return builder.addAction(action);
}
public static Notification.Action build(Notification.Action.Builder builder) {
return builder.build();
}
public static String getGroup(Notification notification) {
return notification.getGroup();
}
public static Notification.Builder setGroup(Notification.Builder builder, String str) {
return builder.setGroup(str);
}
public static Notification.Builder setGroupSummary(Notification.Builder builder, boolean z) {
return builder.setGroupSummary(z);
}
public static Notification.Builder setLocalOnly(Notification.Builder builder, boolean z) {
return builder.setLocalOnly(z);
}
public static Notification.Builder setSortKey(Notification.Builder builder, String str) {
return builder.setSortKey(str);
}
}
@RequiresApi(21)
public static class Api21Impl {
private Api21Impl() {
}
public static Notification.Builder addPerson(Notification.Builder builder, String str) {
return builder.addPerson(str);
}
public static Notification.Builder setCategory(Notification.Builder builder, String str) {
return builder.setCategory(str);
}
public static Notification.Builder setColor(Notification.Builder builder, int i) {
return builder.setColor(i);
}
public static Notification.Builder setVisibility(Notification.Builder builder, int i) {
return builder.setVisibility(i);
}
public static Notification.Builder setPublicVersion(Notification.Builder builder, Notification notification) {
return builder.setPublicVersion(notification);
}
public static Notification.Builder setSound(Notification.Builder builder, Uri uri, Object obj) {
return builder.setSound(uri, (AudioAttributes) obj);
}
}
@RequiresApi(23)
public static class Api23Impl {
private Api23Impl() {
}
public static Notification.Action.Builder createBuilder(Icon icon, CharSequence charSequence, PendingIntent pendingIntent) {
return new Notification.Action.Builder(icon, charSequence, pendingIntent);
}
public static Notification.Builder setSmallIcon(Notification.Builder builder, Object obj) {
return builder.setSmallIcon((Icon) obj);
}
public static Notification.Builder setLargeIcon(Notification.Builder builder, Icon icon) {
return builder.setLargeIcon(icon);
}
}
@RequiresApi(24)
public static class Api24Impl {
private Api24Impl() {
}
public static Notification.Action.Builder setAllowGeneratedReplies(Notification.Action.Builder builder, boolean z) {
return builder.setAllowGeneratedReplies(z);
}
public static Notification.Builder setRemoteInputHistory(Notification.Builder builder, CharSequence[] charSequenceArr) {
return builder.setRemoteInputHistory(charSequenceArr);
}
public static Notification.Builder setCustomContentView(Notification.Builder builder, RemoteViews remoteViews) {
return builder.setCustomContentView(remoteViews);
}
public static Notification.Builder setCustomBigContentView(Notification.Builder builder, RemoteViews remoteViews) {
return builder.setCustomBigContentView(remoteViews);
}
public static Notification.Builder setCustomHeadsUpContentView(Notification.Builder builder, RemoteViews remoteViews) {
return builder.setCustomHeadsUpContentView(remoteViews);
}
}
@RequiresApi(26)
public static class Api26Impl {
private Api26Impl() {
}
public static Notification.Builder createBuilder(Context context, String str) {
return new Notification.Builder(context, str);
}
public static Notification.Builder setGroupAlertBehavior(Notification.Builder builder, int i) {
return builder.setGroupAlertBehavior(i);
}
public static Notification.Builder setColorized(Notification.Builder builder, boolean z) {
return builder.setColorized(z);
}
public static Notification.Builder setBadgeIconType(Notification.Builder builder, int i) {
return builder.setBadgeIconType(i);
}
public static Notification.Builder setSettingsText(Notification.Builder builder, CharSequence charSequence) {
return builder.setSettingsText(charSequence);
}
public static Notification.Builder setShortcutId(Notification.Builder builder, String str) {
return builder.setShortcutId(str);
}
public static Notification.Builder setTimeoutAfter(Notification.Builder builder, long j) {
return builder.setTimeoutAfter(j);
}
}
@RequiresApi(28)
public static class Api28Impl {
private Api28Impl() {
}
public static Notification.Action.Builder setSemanticAction(Notification.Action.Builder builder, int i) {
return builder.setSemanticAction(i);
}
public static Notification.Builder addPerson(Notification.Builder builder, android.app.Person person) {
return builder.addPerson(person);
}
}
@RequiresApi(29)
public static class Api29Impl {
private Api29Impl() {
}
public static Notification.Action.Builder setContextual(Notification.Action.Builder builder, boolean z) {
return builder.setContextual(z);
}
public static Notification.Builder setLocusId(Notification.Builder builder, Object obj) {
return builder.setLocusId((LocusId) obj);
}
public static Notification.Builder setBubbleMetadata(Notification.Builder builder, Notification.BubbleMetadata bubbleMetadata) {
return builder.setBubbleMetadata(bubbleMetadata);
}
public static Notification.Builder setAllowSystemGeneratedContextualActions(Notification.Builder builder, boolean z) {
return builder.setAllowSystemGeneratedContextualActions(z);
}
}
@RequiresApi(31)
public static class Api31Impl {
private Api31Impl() {
}
public static Notification.Action.Builder setAuthenticationRequired(Notification.Action.Builder builder, boolean z) {
return builder.setAuthenticationRequired(z);
}
public static Notification.Builder setForegroundServiceBehavior(Notification.Builder builder, int i) {
return builder.setForegroundServiceBehavior(i);
}
}
}