357 lines
19 KiB
Java
357 lines
19 KiB
Java
package com.discord.widgets.servers;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.view.View;
|
|
import android.widget.LinearLayout;
|
|
import androidx.annotation.MainThread;
|
|
import androidx.core.content.ContextCompat;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.recyclerview.widget.ItemTouchHelper;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import c.a.d.l;
|
|
import c.a.i.r1;
|
|
import c.a.l.b;
|
|
import c.d.b.a.a;
|
|
import com.discord.api.guild.preview.GuildPreview;
|
|
import com.discord.app.AppActivity;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.databinding.WidgetServerNotificationsBinding;
|
|
import com.discord.models.domain.ModelNotificationSettings;
|
|
import com.discord.models.guild.Guild;
|
|
import com.discord.stores.StoreChannels;
|
|
import com.discord.stores.StoreGuildProfiles;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.utilities.channel.GuildChannelsInfo;
|
|
import com.discord.utilities.color.ColorCompat;
|
|
import com.discord.utilities.dimen.DimenUtils;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.utilities.views.SwipeableItemTouchHelper;
|
|
import com.discord.views.CheckedSetting;
|
|
import com.discord.views.RadioManager;
|
|
import com.discord.widgets.servers.NotificationMuteSettingsView;
|
|
import com.discord.widgets.servers.NotificationsOverridesAdapter;
|
|
import d0.t.n;
|
|
import d0.z.d.m;
|
|
import java.util.List;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import rx.Observable;
|
|
/* compiled from: WidgetServerNotifications.kt */
|
|
public final class WidgetServerNotifications extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.W(WidgetServerNotifications.class, "binding", "getBinding()Lcom/discord/databinding/WidgetServerNotificationsBinding;", 0)};
|
|
public static final Companion Companion = new Companion(null);
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetServerNotifications$binding$2.INSTANCE, null, 2, null);
|
|
private RadioManager notificationSettingsRadioManager;
|
|
private NotificationsOverridesAdapter overrideAdapter;
|
|
|
|
/* compiled from: WidgetServerNotifications.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static final /* synthetic */ Observable access$getNotificationOverrides(Companion companion, long j) {
|
|
return companion.getNotificationOverrides(j);
|
|
}
|
|
|
|
private final Observable<List<NotificationsOverridesAdapter.Item>> getNotificationOverrides(long j) {
|
|
StoreStream.Companion companion = StoreStream.Companion;
|
|
return Observable.i(companion.getUserGuildSettings().observeGuildSettings(j).F(WidgetServerNotifications$Companion$getNotificationOverrides$1.INSTANCE), StoreChannels.observeChannelsForGuild$default(companion.getChannels(), j, null, 2, null), GuildChannelsInfo.Companion.get(j), WidgetServerNotifications$Companion$getNotificationOverrides$2.INSTANCE);
|
|
}
|
|
|
|
public final void launch(long j, Context context) {
|
|
m.checkNotNullParameter(context, "context");
|
|
Intent putExtra = new Intent().putExtra("com.discord.intent.extra.EXTRA_GUILD_ID", j);
|
|
m.checkNotNullExpressionValue(putExtra, "Intent()\n .putE….EXTRA_GUILD_ID, guildId)");
|
|
l.d(context, WidgetServerNotifications.class, putExtra);
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerNotifications.kt */
|
|
public static final class Model {
|
|
public static final Companion Companion = new Companion(null);
|
|
private final Integer approximateMemberCount;
|
|
private final Guild guild;
|
|
private final StoreGuildProfiles.GuildProfileData guildProfile;
|
|
private final ModelNotificationSettings guildSettings;
|
|
private final boolean isAboveNotifyAllSize;
|
|
private final int notificationsSetting;
|
|
|
|
/* compiled from: WidgetServerNotifications.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final Observable<Model> get(long j) {
|
|
StoreStream.Companion companion = StoreStream.Companion;
|
|
Observable i = Observable.i(companion.getGuilds().observeGuild(j), companion.getUserGuildSettings().observeGuildSettings(j), companion.getGuildProfiles().observeGuildProfile(j), WidgetServerNotifications$Model$Companion$get$1.INSTANCE);
|
|
m.checkNotNullExpressionValue(i, "Observable\n .co… } else null\n }");
|
|
Observable<Model> r = ObservableExtensionsKt.computationBuffered(i).r();
|
|
m.checkNotNullExpressionValue(r, "Observable\n .co… .distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
|
|
public final boolean isValid(Guild guild, ModelNotificationSettings modelNotificationSettings) {
|
|
return (guild == null || modelNotificationSettings == null) ? false : true;
|
|
}
|
|
}
|
|
|
|
public Model(Guild guild, ModelNotificationSettings modelNotificationSettings, StoreGuildProfiles.GuildProfileData guildProfileData) {
|
|
GuildPreview data;
|
|
m.checkNotNullParameter(guild, "guild");
|
|
m.checkNotNullParameter(modelNotificationSettings, "guildSettings");
|
|
this.guild = guild;
|
|
this.guildSettings = modelNotificationSettings;
|
|
this.guildProfile = guildProfileData;
|
|
this.notificationsSetting = modelNotificationSettings.getMessageNotifications() != ModelNotificationSettings.FREQUENCY_UNSET ? modelNotificationSettings.getMessageNotifications() : guild.getDefaultMessageNotifications();
|
|
Integer a = (guildProfileData == null || (data = guildProfileData.getData()) == null) ? null : data.a();
|
|
this.approximateMemberCount = a;
|
|
this.isAboveNotifyAllSize = a != null && a.intValue() > 2500;
|
|
}
|
|
|
|
public static /* synthetic */ Model copy$default(Model model, Guild guild, ModelNotificationSettings modelNotificationSettings, StoreGuildProfiles.GuildProfileData guildProfileData, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
guild = model.guild;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
modelNotificationSettings = model.guildSettings;
|
|
}
|
|
if ((i & 4) != 0) {
|
|
guildProfileData = model.guildProfile;
|
|
}
|
|
return model.copy(guild, modelNotificationSettings, guildProfileData);
|
|
}
|
|
|
|
public final Guild component1() {
|
|
return this.guild;
|
|
}
|
|
|
|
public final ModelNotificationSettings component2() {
|
|
return this.guildSettings;
|
|
}
|
|
|
|
public final StoreGuildProfiles.GuildProfileData component3() {
|
|
return this.guildProfile;
|
|
}
|
|
|
|
public final Model copy(Guild guild, ModelNotificationSettings modelNotificationSettings, StoreGuildProfiles.GuildProfileData guildProfileData) {
|
|
m.checkNotNullParameter(guild, "guild");
|
|
m.checkNotNullParameter(modelNotificationSettings, "guildSettings");
|
|
return new Model(guild, modelNotificationSettings, guildProfileData);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof Model)) {
|
|
return false;
|
|
}
|
|
Model model = (Model) obj;
|
|
return m.areEqual(this.guild, model.guild) && m.areEqual(this.guildSettings, model.guildSettings) && m.areEqual(this.guildProfile, model.guildProfile);
|
|
}
|
|
|
|
public final Guild getGuild() {
|
|
return this.guild;
|
|
}
|
|
|
|
public final StoreGuildProfiles.GuildProfileData getGuildProfile() {
|
|
return this.guildProfile;
|
|
}
|
|
|
|
public final ModelNotificationSettings getGuildSettings() {
|
|
return this.guildSettings;
|
|
}
|
|
|
|
public final int getNotificationsSetting() {
|
|
return this.notificationsSetting;
|
|
}
|
|
|
|
public int hashCode() {
|
|
Guild guild = this.guild;
|
|
int i = 0;
|
|
int hashCode = (guild != null ? guild.hashCode() : 0) * 31;
|
|
ModelNotificationSettings modelNotificationSettings = this.guildSettings;
|
|
int hashCode2 = (hashCode + (modelNotificationSettings != null ? modelNotificationSettings.hashCode() : 0)) * 31;
|
|
StoreGuildProfiles.GuildProfileData guildProfileData = this.guildProfile;
|
|
if (guildProfileData != null) {
|
|
i = guildProfileData.hashCode();
|
|
}
|
|
return hashCode2 + i;
|
|
}
|
|
|
|
public final boolean isAboveNotifyAllSize() {
|
|
return this.isAboveNotifyAllSize;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder L = a.L("Model(guild=");
|
|
L.append(this.guild);
|
|
L.append(", guildSettings=");
|
|
L.append(this.guildSettings);
|
|
L.append(", guildProfile=");
|
|
L.append(this.guildProfile);
|
|
L.append(")");
|
|
return L.toString();
|
|
}
|
|
}
|
|
|
|
public WidgetServerNotifications() {
|
|
super(2131559141);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetServerNotifications widgetServerNotifications, Model model) {
|
|
widgetServerNotifications.configureUI(model);
|
|
}
|
|
|
|
public static final /* synthetic */ WidgetServerNotificationsBinding access$getBinding$p(WidgetServerNotifications widgetServerNotifications) {
|
|
return widgetServerNotifications.getBinding();
|
|
}
|
|
|
|
public static final /* synthetic */ NotificationsOverridesAdapter access$getOverrideAdapter$p(WidgetServerNotifications widgetServerNotifications) {
|
|
NotificationsOverridesAdapter notificationsOverridesAdapter = widgetServerNotifications.overrideAdapter;
|
|
if (notificationsOverridesAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("overrideAdapter");
|
|
}
|
|
return notificationsOverridesAdapter;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setOverrideAdapter$p(WidgetServerNotifications widgetServerNotifications, NotificationsOverridesAdapter notificationsOverridesAdapter) {
|
|
widgetServerNotifications.overrideAdapter = notificationsOverridesAdapter;
|
|
}
|
|
|
|
@MainThread
|
|
private final void configureRadio(CheckedSetting checkedSetting, int i, Model model) {
|
|
if (model.getNotificationsSetting() == i) {
|
|
RadioManager radioManager = this.notificationSettingsRadioManager;
|
|
if (radioManager == null) {
|
|
m.throwUninitializedPropertyAccessException("notificationSettingsRadioManager");
|
|
}
|
|
radioManager.a(checkedSetting);
|
|
}
|
|
if (!model.isAboveNotifyAllSize() || i != ModelNotificationSettings.FREQUENCY_ALL) {
|
|
int i2 = CheckedSetting.i;
|
|
checkedSetting.h(null, false);
|
|
} else {
|
|
CharSequence j = b.j(this, 2131890842, new Object[0], null, 4);
|
|
int i3 = CheckedSetting.i;
|
|
checkedSetting.h(j, false);
|
|
}
|
|
checkedSetting.e(new WidgetServerNotifications$configureRadio$1(model, i));
|
|
}
|
|
|
|
private final void configureUI(Model model) {
|
|
if (model == null) {
|
|
AppActivity appActivity = getAppActivity();
|
|
if (appActivity != null) {
|
|
appActivity.onBackPressed();
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null);
|
|
setActionBarTitle(2131891603);
|
|
setActionBarSubtitle(model.getGuild().getName());
|
|
ModelNotificationSettings guildSettings = model.getGuildSettings();
|
|
boolean isMuted = guildSettings.isMuted();
|
|
long id2 = model.getGuild().getId();
|
|
View view = getBinding().h;
|
|
m.checkNotNullExpressionValue(view, "binding.serverNotificationsFrequencyDivider");
|
|
view.setVisibility(isMuted ^ true ? 0 : 8);
|
|
LinearLayout linearLayout = getBinding().i;
|
|
m.checkNotNullExpressionValue(linearLayout, "binding.serverNotificationsFrequencyWrap");
|
|
linearLayout.setVisibility(isMuted ^ true ? 0 : 8);
|
|
getBinding().j.updateView(new NotificationMuteSettingsView.ViewState(isMuted, guildSettings.getMuteEndTime(), b.g(requireContext(), 2131888699, new Object[]{model.getGuild().getName()}, null, 4), b.g(requireContext(), 2131888761, new Object[]{model.getGuild().getName()}, null, 4), b.g(requireContext(), 2131888695, new Object[0], null, 4), 2131888696, b.g(requireContext(), 2131888700, new Object[0], null, 4)), new WidgetServerNotifications$configureUI$onMute$1(this, id2), new WidgetServerNotifications$configureUI$onUnmute$1(this, id2));
|
|
getBinding().d.setOnCheckedListener(new WidgetServerNotifications$configureUI$1(this, model));
|
|
CheckedSetting checkedSetting = getBinding().d;
|
|
m.checkNotNullExpressionValue(checkedSetting, "binding.serverNotificationsEveryoneSwitch");
|
|
checkedSetting.setChecked(model.getGuildSettings().isSuppressEveryone());
|
|
CheckedSetting checkedSetting2 = getBinding().d;
|
|
CheckedSetting checkedSetting3 = getBinding().d;
|
|
m.checkNotNullExpressionValue(checkedSetting3, "binding.serverNotificationsEveryoneSwitch");
|
|
checkedSetting2.setText(b.i(checkedSetting3, 2131888750, new Object[0], null, 4));
|
|
getBinding().l.setOnCheckedListener(new WidgetServerNotifications$configureUI$2(this, model));
|
|
CheckedSetting checkedSetting4 = getBinding().l;
|
|
m.checkNotNullExpressionValue(checkedSetting4, "binding.serverNotificationsRolesSwitch");
|
|
checkedSetting4.setChecked(model.getGuildSettings().isSuppressRoles());
|
|
CheckedSetting checkedSetting5 = getBinding().l;
|
|
CheckedSetting checkedSetting6 = getBinding().l;
|
|
m.checkNotNullExpressionValue(checkedSetting6, "binding.serverNotificationsRolesSwitch");
|
|
checkedSetting5.setText(b.i(checkedSetting6, 2131888751, new Object[0], null, 4));
|
|
CheckedSetting checkedSetting7 = getBinding().k;
|
|
m.checkNotNullExpressionValue(checkedSetting7, "binding.serverNotificationsPushSwitch");
|
|
checkedSetting7.setVisibility(model.getGuildSettings().isMuted() ^ true ? 0 : 8);
|
|
CheckedSetting checkedSetting8 = getBinding().k;
|
|
m.checkNotNullExpressionValue(checkedSetting8, "binding.serverNotificationsPushSwitch");
|
|
checkedSetting8.setChecked(model.getGuildSettings().isMobilePush());
|
|
getBinding().k.setOnCheckedListener(new WidgetServerNotifications$configureUI$3(this, model));
|
|
CheckedSetting checkedSetting9 = getBinding().f;
|
|
CheckedSetting checkedSetting10 = getBinding().f;
|
|
m.checkNotNullExpressionValue(checkedSetting10, "binding.serverNotificationsFrequency1Radio");
|
|
checkedSetting9.setText(b.i(checkedSetting10, 2131888709, new Object[0], null, 4));
|
|
CheckedSetting checkedSetting11 = getBinding().e;
|
|
m.checkNotNullExpressionValue(checkedSetting11, "binding.serverNotificationsFrequency0Radio");
|
|
configureRadio(checkedSetting11, ModelNotificationSettings.FREQUENCY_ALL, model);
|
|
CheckedSetting checkedSetting12 = getBinding().f;
|
|
m.checkNotNullExpressionValue(checkedSetting12, "binding.serverNotificationsFrequency1Radio");
|
|
configureRadio(checkedSetting12, ModelNotificationSettings.FREQUENCY_MENTIONS, model);
|
|
CheckedSetting checkedSetting13 = getBinding().g;
|
|
m.checkNotNullExpressionValue(checkedSetting13, "binding.serverNotificationsFrequency2Radio");
|
|
configureRadio(checkedSetting13, ModelNotificationSettings.FREQUENCY_NOTHING, model);
|
|
}
|
|
|
|
private final ItemTouchHelper createSwipeableItemTouchHelper() {
|
|
SwipeableItemTouchHelper.SwipeRevealConfiguration swipeRevealConfiguration = new SwipeableItemTouchHelper.SwipeRevealConfiguration(ColorCompat.getColor(this, 2131100324), ContextCompat.getDrawable(requireContext(), 2131231561), DimenUtils.dpToPixels(8));
|
|
return new ItemTouchHelper(new WidgetServerNotifications$createSwipeableItemTouchHelper$1(this, swipeRevealConfiguration, swipeRevealConfiguration, swipeRevealConfiguration));
|
|
}
|
|
|
|
private final WidgetServerNotificationsBinding getBinding() {
|
|
return (WidgetServerNotificationsBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
this.notificationSettingsRadioManager = new RadioManager(n.listOf((Object[]) new CheckedSetting[]{getBinding().e, getBinding().f, getBinding().g}));
|
|
this.overrideAdapter = new NotificationsOverridesAdapter(WidgetServerNotifications$onViewBound$1.INSTANCE);
|
|
RecyclerView recyclerView = getBinding().f1866c;
|
|
m.checkNotNullExpressionValue(recyclerView, "binding.guildNotificationsOverrideList");
|
|
recyclerView.setNestedScrollingEnabled(false);
|
|
RecyclerView recyclerView2 = getBinding().f1866c;
|
|
m.checkNotNullExpressionValue(recyclerView2, "binding.guildNotificationsOverrideList");
|
|
NotificationsOverridesAdapter notificationsOverridesAdapter = this.overrideAdapter;
|
|
if (notificationsOverridesAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("overrideAdapter");
|
|
}
|
|
recyclerView2.setAdapter(notificationsOverridesAdapter);
|
|
createSwipeableItemTouchHelper().attachToRecyclerView(getBinding().f1866c);
|
|
long longExtra = getMostRecentIntent().getLongExtra("com.discord.intent.extra.EXTRA_GUILD_ID", -1);
|
|
r1 r1Var = getBinding().b;
|
|
m.checkNotNullExpressionValue(r1Var, "binding.addOverride");
|
|
r1Var.a.setOnClickListener(new WidgetServerNotifications$onViewBound$2(longExtra));
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
long longExtra = getMostRecentIntent().getLongExtra("com.discord.intent.extra.EXTRA_GUILD_ID", -1);
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(Model.Companion.get(longExtra), this, null, 2, null), WidgetServerNotifications.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetServerNotifications$onViewBoundOrOnResume$1(this), 62, (Object) null);
|
|
Observable access$getNotificationOverrides = Companion.access$getNotificationOverrides(Companion, longExtra);
|
|
m.checkNotNullExpressionValue(access$getNotificationOverrides, "getNotificationOverrides(guildId)");
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.computationBuffered(access$getNotificationOverrides), this, null, 2, null), WidgetServerNotifications.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetServerNotifications$onViewBoundOrOnResume$2(this), 62, (Object) null);
|
|
}
|
|
}
|