429 lines
17 KiB
Java
429 lines
17 KiB
Java
package com.discord.utilities.presence;
|
|
|
|
import android.content.Context;
|
|
import android.text.SpannableStringBuilder;
|
|
import androidx.annotation.StringRes;
|
|
import c.a.l.b;
|
|
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, "activity");
|
|
int ordinal = activity.p().ordinal();
|
|
if (ordinal != 0) {
|
|
return ordinal != 1 ? ordinal != 2 ? ordinal != 3 ? ordinal != 5 ? b.g(context, 2131894285, new Object[0], null, 4) : b.g(context, 2131894282, new Object[]{activity.h()}, null, 4) : b.g(context, 2131894289, new Object[]{activity.h()}, null, 4) : b.g(context, 2131894283, new Object[]{activity.h()}, null, 4) : b.g(context, 2131894284, 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.g(context, 2131894286, new Object[]{str}, null, 4);
|
|
}
|
|
}
|
|
return b.g(context, 2131894285, 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.g(context, 2131891983, 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.g(context, 2131893769, objArr, null, 4);
|
|
} else if (ordinal == 2) {
|
|
return b.g(context, 2131890879, 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.g(context, 2131894674, objArr2, null, 4);
|
|
} else if (ordinal != 5) {
|
|
return null;
|
|
} else {
|
|
return b.g(context, 2131887486, new Object[]{activity.h()}, null, 4);
|
|
}
|
|
}
|
|
}
|
|
|
|
private final CharSequence getApplicationStreamingString(Context context, Presence presence) {
|
|
Activity playingActivity;
|
|
return (presence == null || (playingActivity = getPlayingActivity(presence)) == null) ? b.g(context, 2131893770, new Object[0], null, 4) : b.g(context, 2131893769, 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 2131893595;
|
|
}
|
|
if (ordinal == 1) {
|
|
return 2131893591;
|
|
}
|
|
if (ordinal == 2) {
|
|
return 2131893589;
|
|
}
|
|
}
|
|
return 2131893594;
|
|
}
|
|
|
|
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.g(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;
|
|
}
|
|
}
|