377 lines
18 KiB
Java
377 lines
18 KiB
Java
package com.discord.widgets.guildscheduledevent;
|
|
|
|
import androidx.core.view.PointerIconCompat;
|
|
import c.d.b.a.a;
|
|
import com.airbnb.lottie.parser.AnimatableValueParser;
|
|
import com.discord.api.channel.Channel;
|
|
import com.discord.api.guildscheduledevent.GuildScheduledEventEntityMetadata;
|
|
import com.discord.api.guildscheduledevent.GuildScheduledEventEntityType;
|
|
import com.discord.api.permission.Permission;
|
|
import com.discord.app.AppViewModel;
|
|
import com.discord.models.domain.ModelAuditLogEntry;
|
|
import com.discord.stores.StoreChannels;
|
|
import com.discord.stores.StorePermissions;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.utilities.permissions.PermissionUtils;
|
|
import com.discord.utilities.time.ClockFactory;
|
|
import d0.t.n;
|
|
import d0.z.d.m;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import kotlin.Pair;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
/* compiled from: GuildScheduledEventSettingsViewModel.kt */
|
|
public final class GuildScheduledEventSettingsViewModel extends AppViewModel<ViewState> {
|
|
private final StoreChannels channelsStore;
|
|
|
|
/* compiled from: GuildScheduledEventSettingsViewModel.kt */
|
|
public enum DateError {
|
|
INVALID_VIEW_STATE,
|
|
START_DATE_IN_PAST,
|
|
END_DATE_BEFORE_START_DATE
|
|
}
|
|
|
|
/* compiled from: GuildScheduledEventSettingsViewModel.kt */
|
|
public static abstract class ViewState {
|
|
|
|
/* compiled from: GuildScheduledEventSettingsViewModel.kt */
|
|
public static final class Initialized extends ViewState {
|
|
private final GuildScheduledEventModel eventModel;
|
|
private final Channel selectedChannel;
|
|
private final boolean showChannelSelector;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public Initialized(boolean z2, Channel channel, GuildScheduledEventModel guildScheduledEventModel) {
|
|
super(null);
|
|
m.checkNotNullParameter(guildScheduledEventModel, "eventModel");
|
|
this.showChannelSelector = z2;
|
|
this.selectedChannel = channel;
|
|
this.eventModel = guildScheduledEventModel;
|
|
}
|
|
|
|
public static /* synthetic */ Initialized copy$default(Initialized initialized, boolean z2, Channel channel, GuildScheduledEventModel guildScheduledEventModel, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
z2 = initialized.showChannelSelector;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
channel = initialized.selectedChannel;
|
|
}
|
|
if ((i & 4) != 0) {
|
|
guildScheduledEventModel = initialized.eventModel;
|
|
}
|
|
return initialized.copy(z2, channel, guildScheduledEventModel);
|
|
}
|
|
|
|
public final boolean component1() {
|
|
return this.showChannelSelector;
|
|
}
|
|
|
|
public final Channel component2() {
|
|
return this.selectedChannel;
|
|
}
|
|
|
|
public final GuildScheduledEventModel component3() {
|
|
return this.eventModel;
|
|
}
|
|
|
|
public final Initialized copy(boolean z2, Channel channel, GuildScheduledEventModel guildScheduledEventModel) {
|
|
m.checkNotNullParameter(guildScheduledEventModel, "eventModel");
|
|
return new Initialized(z2, channel, guildScheduledEventModel);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof Initialized)) {
|
|
return false;
|
|
}
|
|
Initialized initialized = (Initialized) obj;
|
|
return this.showChannelSelector == initialized.showChannelSelector && m.areEqual(this.selectedChannel, initialized.selectedChannel) && m.areEqual(this.eventModel, initialized.eventModel);
|
|
}
|
|
|
|
public final GuildScheduledEventModel getEventModel() {
|
|
return this.eventModel;
|
|
}
|
|
|
|
public final Channel getSelectedChannel() {
|
|
return this.selectedChannel;
|
|
}
|
|
|
|
public final boolean getShowChannelSelector() {
|
|
return this.showChannelSelector;
|
|
}
|
|
|
|
public int hashCode() {
|
|
boolean z2 = this.showChannelSelector;
|
|
if (z2) {
|
|
z2 = true;
|
|
}
|
|
int i = z2 ? 1 : 0;
|
|
int i2 = z2 ? 1 : 0;
|
|
int i3 = z2 ? 1 : 0;
|
|
int i4 = i * 31;
|
|
Channel channel = this.selectedChannel;
|
|
int i5 = 0;
|
|
int hashCode = (i4 + (channel != null ? channel.hashCode() : 0)) * 31;
|
|
GuildScheduledEventModel guildScheduledEventModel = this.eventModel;
|
|
if (guildScheduledEventModel != null) {
|
|
i5 = guildScheduledEventModel.hashCode();
|
|
}
|
|
return hashCode + i5;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder P = a.P("Initialized(showChannelSelector=");
|
|
P.append(this.showChannelSelector);
|
|
P.append(", selectedChannel=");
|
|
P.append(this.selectedChannel);
|
|
P.append(", eventModel=");
|
|
P.append(this.eventModel);
|
|
P.append(")");
|
|
return P.toString();
|
|
}
|
|
}
|
|
|
|
/* compiled from: GuildScheduledEventSettingsViewModel.kt */
|
|
public static final class Invalid extends ViewState {
|
|
public static final Invalid INSTANCE = new Invalid();
|
|
|
|
private Invalid() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
private ViewState() {
|
|
}
|
|
|
|
public /* synthetic */ ViewState(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public GuildScheduledEventSettingsViewModel(long j, GuildScheduledEventEntityType guildScheduledEventEntityType, Long l, String str, StoreChannels storeChannels, StorePermissions storePermissions) {
|
|
super(null, 1, null);
|
|
m.checkNotNullParameter(storeChannels, "channelsStore");
|
|
m.checkNotNullParameter(storePermissions, "permissionsStore");
|
|
this.channelsStore = storeChannels;
|
|
GuildScheduledEventEntityType guildScheduledEventEntityType2 = guildScheduledEventEntityType != null ? guildScheduledEventEntityType : GuildScheduledEventEntityType.STAGE_INSTANCE;
|
|
boolean z2 = guildScheduledEventEntityType == null;
|
|
Channel initialChannel = getInitialChannel(j, l, z2, storePermissions);
|
|
Pair<GuildScheduledEventPickerDate, GuildScheduledEventPickerTime> generateAppropriateStartDateTime = GuildScheduledEventPickerDateTime.INSTANCE.generateAppropriateStartDateTime();
|
|
Long valueOf = initialChannel != null ? Long.valueOf(initialChannel.h()) : null;
|
|
GuildScheduledEventPickerDate first = generateAppropriateStartDateTime.getFirst();
|
|
GuildScheduledEventPickerTime second = generateAppropriateStartDateTime.getSecond();
|
|
GuildScheduledEventEntityMetadata.Companion companion = GuildScheduledEventEntityMetadata.Companion;
|
|
List emptyList = n.emptyList();
|
|
Objects.requireNonNull(companion);
|
|
m.checkNotNullParameter(guildScheduledEventEntityType2, "entityType");
|
|
int ordinal = guildScheduledEventEntityType2.ordinal();
|
|
updateViewState(new ViewState.Initialized(z2, initialChannel, new GuildScheduledEventModel(j, null, valueOf, first, second, null, null, null, guildScheduledEventEntityType2, ordinal != 1 ? ordinal != 3 ? new GuildScheduledEventEntityMetadata(null, null, 3) : new GuildScheduledEventEntityMetadata(null, str, 1) : new GuildScheduledEventEntityMetadata(emptyList, null, 2))));
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ GuildScheduledEventSettingsViewModel(long j, GuildScheduledEventEntityType guildScheduledEventEntityType, Long l, String str, StoreChannels storeChannels, StorePermissions storePermissions, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(j, guildScheduledEventEntityType, l, str, (i & 16) != 0 ? StoreStream.Companion.getChannels() : storeChannels, (i & 32) != 0 ? StoreStream.Companion.getPermissions() : storePermissions);
|
|
}
|
|
|
|
private final Channel getInitialChannel(long j, Long l, boolean z2, StorePermissions storePermissions) {
|
|
Object obj = null;
|
|
Channel channel = l != null ? this.channelsStore.getChannel(l.longValue()) : null;
|
|
if (!z2 || channel != null) {
|
|
return channel;
|
|
}
|
|
Iterator<T> it = this.channelsStore.getChannelsForGuild(j).values().iterator();
|
|
while (true) {
|
|
if (!it.hasNext()) {
|
|
break;
|
|
}
|
|
Object next = it.next();
|
|
Channel channel2 = (Channel) next;
|
|
boolean z3 = false;
|
|
if (AnimatableValueParser.x1(channel2)) {
|
|
Long l2 = (Long) a.c(channel2, storePermissions.getPermissionsByChannel());
|
|
if (l2 != null ? PermissionUtils.can(Permission.START_STAGE_EVENT, Long.valueOf(l2.longValue())) : false) {
|
|
z3 = true;
|
|
continue;
|
|
} else {
|
|
continue;
|
|
}
|
|
}
|
|
if (z3) {
|
|
obj = next;
|
|
break;
|
|
}
|
|
}
|
|
return (Channel) obj;
|
|
}
|
|
|
|
private final boolean isValidNewEndDateTime(GuildScheduledEventPickerDate guildScheduledEventPickerDate, GuildScheduledEventPickerTime guildScheduledEventPickerTime) {
|
|
GuildScheduledEventModel eventModel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return false;
|
|
}
|
|
if (guildScheduledEventPickerDate == null || guildScheduledEventPickerTime == null) {
|
|
return guildScheduledEventPickerDate == null || guildScheduledEventPickerDate.toMillis() >= eventModel.getStartDate().toMillis();
|
|
}
|
|
GuildScheduledEventPickerDateTime guildScheduledEventPickerDateTime = GuildScheduledEventPickerDateTime.INSTANCE;
|
|
return guildScheduledEventPickerDateTime.toMillis(guildScheduledEventPickerDate, guildScheduledEventPickerTime) > guildScheduledEventPickerDateTime.toMillis(eventModel.getStartDate(), eventModel.getStartTime());
|
|
}
|
|
|
|
private final boolean isValidNewStartDateTime(GuildScheduledEventPickerDate guildScheduledEventPickerDate, GuildScheduledEventPickerTime guildScheduledEventPickerTime) {
|
|
return GuildScheduledEventPickerDateTime.INSTANCE.toMillis(guildScheduledEventPickerDate, guildScheduledEventPickerTime) > ClockFactory.get().currentTimeMillis();
|
|
}
|
|
|
|
private final Unit updateEventModel(GuildScheduledEventModel guildScheduledEventModel) {
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null) {
|
|
return null;
|
|
}
|
|
updateViewState(ViewState.Initialized.copy$default(initialized, false, null, guildScheduledEventModel, 3, null));
|
|
return Unit.a;
|
|
}
|
|
|
|
public final boolean isNextButtonEnabled() {
|
|
GuildScheduledEventModel eventModel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return false;
|
|
}
|
|
String name = eventModel.getName();
|
|
if (name == null || name.length() == 0) {
|
|
return false;
|
|
}
|
|
return (eventModel.getEntityType() == GuildScheduledEventEntityType.EXTERNAL && (eventModel.getEndDate() == null || eventModel.getEndTime() == null)) ? false : true;
|
|
}
|
|
|
|
public final Unit setChannelId(long j) {
|
|
Channel channel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (channel = this.channelsStore.getChannel(j)) == null) {
|
|
return null;
|
|
}
|
|
updateViewState(ViewState.Initialized.copy$default(initialized, false, channel, GuildScheduledEventModel.copy$default(initialized.getEventModel(), 0, null, Long.valueOf(j), null, null, null, null, null, null, null, PointerIconCompat.TYPE_ZOOM_OUT, null), 1, null));
|
|
return Unit.a;
|
|
}
|
|
|
|
public final Unit setDescription(String str) {
|
|
GuildScheduledEventModel eventModel;
|
|
m.checkNotNullParameter(str, ModelAuditLogEntry.CHANGE_KEY_DESCRIPTION);
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return null;
|
|
}
|
|
return updateEventModel(GuildScheduledEventModel.copy$default(eventModel, 0, null, null, null, null, null, null, str, null, null, 895, null));
|
|
}
|
|
|
|
public final DateError setEndDate(int i, int i2, int i3) {
|
|
GuildScheduledEventModel eventModel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return DateError.INVALID_VIEW_STATE;
|
|
}
|
|
GuildScheduledEventPickerDate guildScheduledEventPickerDate = new GuildScheduledEventPickerDate(i, i2, i3);
|
|
if (!isValidNewEndDateTime(guildScheduledEventPickerDate, eventModel.getEndTime())) {
|
|
return DateError.END_DATE_BEFORE_START_DATE;
|
|
}
|
|
updateEventModel(GuildScheduledEventModel.copy$default(eventModel, 0, null, null, null, null, guildScheduledEventPickerDate, null, null, null, null, 991, null));
|
|
return null;
|
|
}
|
|
|
|
public final DateError setEndTime(int i, int i2) {
|
|
GuildScheduledEventModel eventModel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return DateError.INVALID_VIEW_STATE;
|
|
}
|
|
GuildScheduledEventPickerTime guildScheduledEventPickerTime = new GuildScheduledEventPickerTime(i, i2);
|
|
if (!isValidNewEndDateTime(eventModel.getEndDate(), guildScheduledEventPickerTime)) {
|
|
return DateError.END_DATE_BEFORE_START_DATE;
|
|
}
|
|
updateEventModel(GuildScheduledEventModel.copy$default(eventModel, 0, null, null, null, null, null, guildScheduledEventPickerTime, null, null, null, 959, null));
|
|
return null;
|
|
}
|
|
|
|
public final DateError setStartDate(int i, int i2, int i3) {
|
|
GuildScheduledEventModel eventModel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return DateError.INVALID_VIEW_STATE;
|
|
}
|
|
GuildScheduledEventPickerDate guildScheduledEventPickerDate = new GuildScheduledEventPickerDate(i, i2, i3);
|
|
if (!isValidNewStartDateTime(guildScheduledEventPickerDate, eventModel.getStartTime())) {
|
|
return DateError.START_DATE_IN_PAST;
|
|
}
|
|
updateEventModel(GuildScheduledEventModel.copy$default(eventModel, 0, null, null, guildScheduledEventPickerDate, null, null, null, null, null, null, PointerIconCompat.TYPE_VERTICAL_DOUBLE_ARROW, null));
|
|
return null;
|
|
}
|
|
|
|
public final DateError setStartTime(int i, int i2) {
|
|
GuildScheduledEventModel eventModel;
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return DateError.INVALID_VIEW_STATE;
|
|
}
|
|
GuildScheduledEventPickerTime guildScheduledEventPickerTime = new GuildScheduledEventPickerTime(i, i2);
|
|
if (!isValidNewStartDateTime(eventModel.getStartDate(), guildScheduledEventPickerTime)) {
|
|
return DateError.START_DATE_IN_PAST;
|
|
}
|
|
updateEventModel(GuildScheduledEventModel.copy$default(eventModel, 0, null, null, null, guildScheduledEventPickerTime, null, null, null, null, null, PointerIconCompat.TYPE_CROSSHAIR, null));
|
|
return null;
|
|
}
|
|
|
|
public final Unit setTopic(String str) {
|
|
GuildScheduledEventModel eventModel;
|
|
m.checkNotNullParameter(str, ModelAuditLogEntry.CHANGE_KEY_TOPIC);
|
|
ViewState viewState = getViewState();
|
|
if (!(viewState instanceof ViewState.Initialized)) {
|
|
viewState = null;
|
|
}
|
|
ViewState.Initialized initialized = (ViewState.Initialized) viewState;
|
|
if (initialized == null || (eventModel = initialized.getEventModel()) == null) {
|
|
return null;
|
|
}
|
|
return updateEventModel(GuildScheduledEventModel.copy$default(eventModel, 0, str, null, null, null, null, null, null, null, null, PointerIconCompat.TYPE_GRABBING, null));
|
|
}
|
|
}
|