discord-jadx/app/src/main/java/com/discord/utilities/presence/PresenceUtils.java

432 lines
17 KiB
Java

package com.discord.utilities.presence;
import android.content.Context;
import android.text.SpannableStringBuilder;
import androidx.annotation.StringRes;
import androidx.appcompat.widget.ActivityChooserModel;
import c.a.k.b;
import com.discord.R;
import com.discord.api.activity.Activity;
import com.discord.api.activity.ActivityEmoji;
import com.discord.api.activity.ActivityParty;
import com.discord.api.activity.ActivityPlatform;
import com.discord.api.activity.ActivityType;
import com.discord.api.presence.ClientStatus;
import com.discord.api.presence.ClientStatuses;
import com.discord.models.presence.Presence;
import com.discord.utilities.platform.Platform;
import com.discord.utilities.textprocessing.node.EmojiNode;
import com.discord.utilities.view.text.SimpleDraweeSpanTextView;
import com.facebook.drawee.span.DraweeSpanStringBuilder;
import d0.t.u;
import d0.u.a;
import d0.z.d.m;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
/* compiled from: PresenceUtils.kt */
public final class PresenceUtils {
private static final Comparator<Activity> ACTIVITY_COMPARATOR = a.compareBy(PresenceUtils$ACTIVITY_COMPARATOR$1.INSTANCE, PresenceUtils$ACTIVITY_COMPARATOR$2.INSTANCE, PresenceUtils$ACTIVITY_COMPARATOR$3.INSTANCE);
public static final PresenceUtils INSTANCE = new PresenceUtils();
public final /* synthetic */ class WhenMappings {
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
public static final /* synthetic */ int[] $EnumSwitchMapping$1;
public static final /* synthetic */ int[] $EnumSwitchMapping$2;
static {
ActivityType.values();
int[] iArr = new int[7];
$EnumSwitchMapping$0 = iArr;
ActivityType activityType = ActivityType.STREAMING;
iArr[activityType.ordinal()] = 1;
ActivityType activityType2 = ActivityType.LISTENING;
iArr[activityType2.ordinal()] = 2;
ActivityType activityType3 = ActivityType.WATCHING;
iArr[activityType3.ordinal()] = 3;
ActivityType activityType4 = ActivityType.PLAYING;
iArr[activityType4.ordinal()] = 4;
ActivityType activityType5 = ActivityType.COMPETING;
iArr[activityType5.ordinal()] = 5;
ActivityType.values();
int[] iArr2 = new int[7];
$EnumSwitchMapping$1 = iArr2;
iArr2[activityType4.ordinal()] = 1;
iArr2[activityType2.ordinal()] = 2;
iArr2[activityType.ordinal()] = 3;
iArr2[activityType3.ordinal()] = 4;
iArr2[activityType5.ordinal()] = 5;
ClientStatus.values();
int[] iArr3 = new int[5];
$EnumSwitchMapping$2 = iArr3;
iArr3[ClientStatus.ONLINE.ordinal()] = 1;
iArr3[ClientStatus.IDLE.ordinal()] = 2;
iArr3[ClientStatus.DND.ordinal()] = 3;
}
}
private PresenceUtils() {
}
public static final CharSequence getActivityHeader(Context context, Activity activity) {
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(activity, ActivityChooserModel.ATTRIBUTE_ACTIVITY);
int ordinal = activity.p().ordinal();
if (ordinal != 0) {
return ordinal != 1 ? ordinal != 2 ? ordinal != 3 ? ordinal != 5 ? b.h(context, R.string.user_activity_header_playing, new Object[0], null, 4) : b.h(context, R.string.user_activity_header_competing, new Object[]{activity.h()}, null, 4) : b.h(context, R.string.user_activity_header_watching, new Object[]{activity.h()}, null, 4) : b.h(context, R.string.user_activity_header_listening, new Object[]{activity.h()}, null, 4) : b.h(context, R.string.user_activity_header_live_on_platform, new Object[]{activity.h()}, null, 4);
}
ActivityPlatform j = activity.j();
if (j != null) {
Platform from = Platform.Companion.from(j);
String str = j;
if (from != Platform.NONE) {
str = from.getProperName();
}
if (str != null) {
return b.h(context, R.string.user_activity_header_playing_on_platform, new Object[]{str}, null, 4);
}
}
return b.h(context, R.string.user_activity_header_playing, new Object[0], null, 4);
}
/* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0042: APUT (r4v4 java.lang.Object[]), (0 ??[int, short, byte, char]), (r5v6 java.lang.String) */
/* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0069: APUT (r4v2 java.lang.Object[]), (0 ??[int, short, byte, char]), (r5v1 java.lang.String) */
private final CharSequence getActivityString(Context context, Activity activity) {
ActivityType p = activity != null ? activity.p() : null;
if (p == null) {
return null;
}
int ordinal = p.ordinal();
if (ordinal == 0) {
return b.h(context, R.string.playing_game, new Object[]{activity.h()}, null, 4);
}
if (ordinal == 1) {
Object[] objArr = new Object[1];
String e = activity.e();
if (e == null) {
e = activity.h();
}
objArr[0] = e;
return b.h(context, R.string.streaming, objArr, null, 4);
} else if (ordinal == 2) {
return b.h(context, R.string.listening_to, new Object[]{activity.h()}, null, 4);
} else {
if (ordinal == 3) {
Object[] objArr2 = new Object[1];
String e2 = activity.e();
if (e2 == null) {
e2 = activity.h();
}
objArr2[0] = e2;
return b.h(context, R.string.watching, objArr2, null, 4);
} else if (ordinal != 5) {
return null;
} else {
return b.h(context, R.string.competing, new Object[]{activity.h()}, null, 4);
}
}
}
private final CharSequence getApplicationStreamingString(Context context, Presence presence) {
Activity playingActivity;
return (presence == null || (playingActivity = getPlayingActivity(presence)) == null) ? b.h(context, R.string.streaming_a_game, new Object[0], null, 4) : b.h(context, R.string.streaming, new Object[]{playingActivity.h()}, null, 4);
}
private final Activity getSpotifyListeningActivity(List<Activity> list) {
Object obj;
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (ActivityUtilsKt.isSpotifyActivity((Activity) obj)) {
break;
}
}
return (Activity) obj;
}
private final Activity getStageChannelActivity(List<Activity> list) {
Object obj;
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (ActivityUtilsKt.isStageChannelActivity((Activity) obj)) {
break;
}
}
return (Activity) obj;
}
private final DraweeSpanStringBuilder getStatusDraweeSpanStringBuilder(Context context, Presence presence, boolean z2, boolean z3, boolean z4, boolean z5) {
Activity customStatusActivity;
ActivityEmoji f;
DraweeSpanStringBuilder draweeSpanStringBuilder = new DraweeSpanStringBuilder();
EmojiNode emojiNode = null;
if (!(z3 || presence == null || (customStatusActivity = getCustomStatusActivity(presence)) == null || (f = customStatusActivity.f()) == null)) {
EmojiNode.Companion companion = EmojiNode.Companion;
emojiNode = EmojiNode.Companion.from$default(companion, 0, companion.generateEmojiIdAndType(f), 1, (Object) null);
}
if (emojiNode != null) {
emojiNode.render((SpannableStringBuilder) draweeSpanStringBuilder, (DraweeSpanStringBuilder) new PresenceUtils$getStatusDraweeSpanStringBuilder$1(context, z5));
}
CharSequence statusText = getStatusText(context, presence, z2, z4);
if (statusText != null) {
if (emojiNode != null) {
draweeSpanStringBuilder.append((char) 8194);
}
draweeSpanStringBuilder.append(statusText);
}
return draweeSpanStringBuilder;
}
public static /* synthetic */ DraweeSpanStringBuilder getStatusDraweeSpanStringBuilder$default(PresenceUtils presenceUtils, Context context, Presence presence, boolean z2, boolean z3, boolean z4, boolean z5, int i, Object obj) {
return presenceUtils.getStatusDraweeSpanStringBuilder(context, presence, z2, z3, (i & 16) != 0 ? false : z4, (i & 32) != 0 ? false : z5);
}
private final int getStatusText(Presence presence) {
ClientStatus status = presence != null ? presence.getStatus() : null;
if (status != null) {
int ordinal = status.ordinal();
if (ordinal == 0) {
return R.string.status_online;
}
if (ordinal == 1) {
return R.string.status_idle;
}
if (ordinal == 2) {
return R.string.status_dnd;
}
}
return R.string.status_offline;
}
private final CharSequence getStatusText(Context context, Presence presence, boolean z2, boolean z3) {
Activity customStatusActivity;
String l = (presence == null || (customStatusActivity = getCustomStatusActivity(presence)) == null) ? null : customStatusActivity.l();
if (l != null) {
return l;
}
if (z2) {
return getApplicationStreamingString(context, presence);
}
CharSequence activityString = getActivityString(context, presence != null ? getPrimaryActivity(presence) : null);
if (activityString != null) {
return activityString;
}
if (z3) {
return b.h(context, getStatusText(presence), new Object[0], null, 4);
}
return null;
}
public static /* synthetic */ CharSequence getStatusText$default(PresenceUtils presenceUtils, Context context, Presence presence, boolean z2, boolean z3, int i, Object obj) {
if ((i & 8) != 0) {
z3 = false;
}
return presenceUtils.getStatusText(context, presence, z2, z3);
}
public static final void setPresenceText(Presence presence, boolean z2, SimpleDraweeSpanTextView simpleDraweeSpanTextView, boolean z3, boolean z4) {
m.checkNotNullParameter(simpleDraweeSpanTextView, "textView");
PresenceUtils presenceUtils = INSTANCE;
Context context = simpleDraweeSpanTextView.getContext();
m.checkNotNullExpressionValue(context, "textView.context");
DraweeSpanStringBuilder statusDraweeSpanStringBuilder$default = getStatusDraweeSpanStringBuilder$default(presenceUtils, context, presence, z2, z4, z3, false, 32, null);
simpleDraweeSpanTextView.setDraweeSpanStringBuilder(statusDraweeSpanStringBuilder$default);
int i = 0;
if (!(statusDraweeSpanStringBuilder$default.length() > 0)) {
i = 8;
}
simpleDraweeSpanTextView.setVisibility(i);
}
public static /* synthetic */ void setPresenceText$default(Presence presence, boolean z2, SimpleDraweeSpanTextView simpleDraweeSpanTextView, boolean z3, boolean z4, int i, Object obj) {
if ((i & 8) != 0) {
z3 = false;
}
if ((i & 16) != 0) {
z4 = false;
}
setPresenceText(presence, z2, simpleDraweeSpanTextView, z3, z4);
}
public final Comparator<Activity> getACTIVITY_COMPARATOR$app_productionBetaRelease() {
return ACTIVITY_COMPARATOR;
}
public final Activity getActivityByType(List<Activity> list, ActivityType activityType) {
Object obj;
boolean z2;
m.checkNotNullParameter(list, "$this$getActivityByType");
m.checkNotNullParameter(activityType, "type");
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (((Activity) obj).p() == activityType) {
z2 = true;
continue;
} else {
z2 = false;
continue;
}
if (z2) {
break;
}
}
return (Activity) obj;
}
public final int getCurrentSize(ActivityParty activityParty) {
Integer num;
m.checkNotNullParameter(activityParty, "$this$currentSize");
List<Integer> b = activityParty.b();
if (b == null || (num = (Integer) u.first((List<? extends Object>) b)) == null) {
return 0;
}
return num.intValue();
}
public final Activity getCustomStatusActivity(Presence presence) {
m.checkNotNullParameter(presence, "$this$customStatusActivity");
List<Activity> activities = presence.getActivities();
if (activities != null) {
return getActivityByType(activities, ActivityType.CUSTOM_STATUS);
}
return null;
}
public final int getMaxSize(ActivityParty activityParty) {
Integer num;
m.checkNotNullParameter(activityParty, "$this$maxSize");
List<Integer> b = activityParty.b();
if (b == null || (num = (Integer) u.last((List<? extends Object>) b)) == null) {
return 0;
}
return num.intValue();
}
public final int getNumOpenSlots(ActivityParty activityParty) {
m.checkNotNullParameter(activityParty, "$this$numOpenSlots");
return getMaxSize(activityParty) - getCurrentSize(activityParty);
}
public final Activity getPlayingActivity(Presence presence) {
m.checkNotNullParameter(presence, "$this$playingActivity");
List<Activity> activities = presence.getActivities();
if (activities != null) {
return getActivityByType(activities, ActivityType.PLAYING);
}
return null;
}
public final Activity getPrimaryActivity(Presence presence) {
m.checkNotNullParameter(presence, "$this$primaryActivity");
List<Activity> activities = presence.getActivities();
if (activities != null) {
return getPrimaryActivity(activities);
}
return null;
}
public final Activity getPrimaryActivity(List<Activity> list) {
Object obj;
boolean z2;
m.checkNotNullParameter(list, "$this$primaryActivity");
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (((Activity) obj).p() != ActivityType.CUSTOM_STATUS) {
z2 = true;
continue;
} else {
z2 = false;
continue;
}
if (z2) {
break;
}
}
return (Activity) obj;
}
public final Activity getSpotifyListeningActivity(Presence presence) {
m.checkNotNullParameter(presence, "$this$spotifyListeningActivity");
List<Activity> activities = presence.getActivities();
if (activities != null) {
return getSpotifyListeningActivity(activities);
}
return null;
}
public final Activity getStageChannelActivity(Presence presence) {
m.checkNotNullParameter(presence, "$this$stageChannelActivity");
List<Activity> activities = presence.getActivities();
if (activities != null) {
return getStageChannelActivity(activities);
}
return null;
}
@StringRes
public final int getStatusStringResForPresence(Presence presence) {
m.checkNotNullParameter(presence, "presence");
return getStatusText(presence);
}
public final Activity getStreamingActivity(Presence presence) {
m.checkNotNullParameter(presence, "$this$streamingActivity");
List<Activity> activities = presence.getActivities();
if (activities != null) {
return getActivityByType(activities, ActivityType.STREAMING);
}
return null;
}
public final boolean isMobile(ClientStatuses clientStatuses) {
m.checkNotNullParameter(clientStatuses, "$this$isMobile");
ClientStatus b = clientStatuses.b();
ClientStatus clientStatus = ClientStatus.ONLINE;
return (b != clientStatus || clientStatuses.c() == clientStatus || clientStatuses.a() == clientStatus) ? false : true;
}
public final boolean shouldShowRichPresenceIcon(Presence presence) {
List<Activity> activities;
boolean z2;
if (!(presence == null || (activities = presence.getActivities()) == null)) {
if (!activities.isEmpty()) {
Iterator<T> it = activities.iterator();
while (true) {
if (it.hasNext()) {
if (ActivityUtilsKt.isRichPresence((Activity) it.next())) {
z2 = true;
break;
}
} else {
break;
}
}
}
z2 = false;
if (z2) {
return true;
}
}
return false;
}
}