discord-jadx/app/src/main/java/com/discord/stores/StoreAccessibility.java

154 lines
7.3 KiB
Java

package com.discord.stores;
import android.content.Context;
import com.discord.stores.updates.ObservationDeck;
import com.discord.stores.updates.ObservationDeckProvider;
import com.discord.utilities.accessibility.AccessibilityFeatureFlags;
import com.discord.utilities.accessibility.AccessibilityMonitor;
import com.discord.utilities.accessibility.AccessibilityState;
import com.discord.utilities.analytics.AnalyticSuperProperties;
import com.discord.utilities.persister.Persister;
import com.discord.utilities.rx.ObservableExtensionsKt;
import d0.z.d.m;
import java.util.EnumSet;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Observable;
/* compiled from: StoreAccessibility.kt */
public final class StoreAccessibility extends StoreV2 {
private EnumSet<AccessibilityFeatureFlags> accessibilityFeatures;
private EnumSet<AccessibilityFeatureFlags> accessibilityFeaturesSnapshot;
private final AccessibilityMonitor accessibilityMonitor;
private final Dispatcher dispatcher;
private boolean fontScaledDown;
private boolean fontScaledUp;
private boolean isDetectionAllowed;
private final ObservationDeck observationDeck;
private final Persister<Boolean> reducedMotionCache;
private boolean reducedMotionEnabled;
public StoreAccessibility(Dispatcher dispatcher, ObservationDeck observationDeck, AccessibilityMonitor accessibilityMonitor) {
m.checkNotNullParameter(dispatcher, "dispatcher");
m.checkNotNullParameter(observationDeck, "observationDeck");
m.checkNotNullParameter(accessibilityMonitor, "accessibilityMonitor");
this.dispatcher = dispatcher;
this.observationDeck = observationDeck;
this.accessibilityMonitor = accessibilityMonitor;
AccessibilityFeatureFlags accessibilityFeatureFlags = AccessibilityFeatureFlags.NONE;
this.accessibilityFeatures = EnumSet.of(accessibilityFeatureFlags);
this.reducedMotionCache = new Persister<>("CACHE_KEY_ACCESSIBILITY_REDUCED_MOTION_ENABLED", Boolean.FALSE);
EnumSet<AccessibilityFeatureFlags> of = EnumSet.of(accessibilityFeatureFlags);
m.checkNotNullExpressionValue(of, "EnumSet.of(AccessibilityFeatureFlags.NONE)");
this.accessibilityFeaturesSnapshot = of;
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ StoreAccessibility(Dispatcher dispatcher, ObservationDeck observationDeck, AccessibilityMonitor accessibilityMonitor, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(dispatcher, (i & 2) != 0 ? ObservationDeckProvider.get() : observationDeck, (i & 4) != 0 ? AccessibilityMonitor.Companion.getINSTANCE() : accessibilityMonitor);
}
public static final /* synthetic */ Dispatcher access$getDispatcher$p(StoreAccessibility storeAccessibility) {
return storeAccessibility.dispatcher;
}
public static final /* synthetic */ boolean access$getReducedMotionEnabled$p(StoreAccessibility storeAccessibility) {
return storeAccessibility.reducedMotionEnabled;
}
public static final /* synthetic */ void access$setReducedMotionEnabled$p(StoreAccessibility storeAccessibility, boolean z2) {
storeAccessibility.reducedMotionEnabled = z2;
}
public static final /* synthetic */ void access$updateMonitoredAccessibilityState(StoreAccessibility storeAccessibility, AccessibilityState accessibilityState) {
storeAccessibility.updateMonitoredAccessibilityState(accessibilityState);
}
@StoreThread
private final void updateMonitoredAccessibilityState(AccessibilityState accessibilityState) {
this.accessibilityFeatures = EnumSet.copyOf((EnumSet) accessibilityState.getFeatures());
markChanged();
}
public final EnumSet<AccessibilityFeatureFlags> getAccessibilityFeatures() {
return this.accessibilityFeaturesSnapshot;
}
@Override // com.discord.stores.Store
public void init(Context context) {
m.checkNotNullParameter(context, "context");
this.reducedMotionEnabled = this.reducedMotionCache.get().booleanValue();
ObservableExtensionsKt.appSubscribe$default(this.accessibilityMonitor.observeAccessibilityState(), StoreAccessibility.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new StoreAccessibility$init$1(this), 62, (Object) null);
}
public final boolean isReducedMotionEnabled() {
return this.reducedMotionEnabled;
}
public final boolean isScreenreaderEnabled() {
return getAccessibilityFeatures().contains(AccessibilityFeatureFlags.SCREENREADER);
}
public final Observable<EnumSet<AccessibilityFeatureFlags>> observeAccessibilityFeatures() {
return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreAccessibility$observeAccessibilityFeatures$1(this), 14, null);
}
public final Observable<Boolean> observeReducedMotionEnabled() {
return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreAccessibility$observeReducedMotionEnabled$1(this), 14, null);
}
public final Observable<Boolean> observeScreenreaderEnabled() {
return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreAccessibility$observeScreenreaderEnabled$1(this), 14, null);
}
public final void setReducedMotionEnabled(boolean z2) {
this.dispatcher.schedule(new StoreAccessibility$setReducedMotionEnabled$1(this, z2));
}
@Override // com.discord.stores.StoreV2
@StoreThread
public void snapshotData() {
super.snapshotData();
EnumSet<AccessibilityFeatureFlags> copyOf = EnumSet.copyOf((EnumSet) this.accessibilityFeatures);
if (!this.isDetectionAllowed) {
copyOf.remove(AccessibilityFeatureFlags.SCREENREADER);
}
if (this.reducedMotionEnabled) {
copyOf.add(AccessibilityFeatureFlags.REDUCED_MOTION_FROM_USER_SETTINGS);
} else {
copyOf.remove(AccessibilityFeatureFlags.REDUCED_MOTION_FROM_USER_SETTINGS);
}
if (this.fontScaledUp) {
copyOf.add(AccessibilityFeatureFlags.CHAT_FONT_SCALE_INCREASED);
}
if (this.fontScaledDown) {
copyOf.add(AccessibilityFeatureFlags.CHAT_FONT_SCALE_DECREASED);
}
m.checkNotNullExpressionValue(copyOf, "features");
this.accessibilityFeaturesSnapshot = copyOf;
AnalyticSuperProperties.INSTANCE.setAccessibilityProperties(isScreenreaderEnabled(), getAccessibilityFeatures());
this.reducedMotionCache.set(Boolean.valueOf(this.reducedMotionEnabled), true);
}
@StoreThread
public final void updateDetectionAllowed(boolean z2) {
this.isDetectionAllowed = z2;
markChanged();
}
@StoreThread
public final void updateFontScale(int i) {
if (i == 100 || i == -1) {
this.fontScaledUp = false;
this.fontScaledDown = false;
} else if (i > 100) {
this.fontScaledUp = true;
this.fontScaledDown = false;
} else if (i < 100) {
this.fontScaledUp = false;
this.fontScaledDown = true;
}
markChanged();
}
}