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 accessibilityFeatures; private EnumSet 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 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 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 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> observeAccessibilityFeatures() { return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreAccessibility$observeAccessibilityFeatures$1(this), 14, null); } public final Observable observeReducedMotionEnabled() { return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreAccessibility$observeReducedMotionEnabled$1(this), 14, null); } public final Observable 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 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(); } }