NetMirror.apk
Download file
package com.facebook.react.modules.accessibilityinfo;
import D2.h;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Build;
import android.os.Handler;
import android.provider.Settings;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import com.facebook.fbreact.specs.NativeAccessibilityInfoSpec;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.LifecycleEventListener;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.UiThreadUtil;
import kotlin.jvm.internal.DefaultConstructorMarker;
import v1.InterfaceC0756a;
/* JADX INFO: loaded from: classes.dex */
@InterfaceC0756a(name = "AccessibilityInfo")
public final class AccessibilityInfoModule extends NativeAccessibilityInfoSpec implements LifecycleEventListener {
private static final String ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED_CONSTANT = "high_text_contrast_enabled";
private static final String ACCESSIBILITY_SERVICE_EVENT_NAME = "accessibilityServiceDidChange";
public static final a Companion = new a(null);
private static final String GRAYSCALE_MODE_EVENT_NAME = "grayscaleModeDidChange";
private static final String HIGH_TEXT_CONTRAST_EVENT_NAME = "highTextContrastDidChange";
private static final String INVERT_COLOR_EVENT_NAME = "invertColorDidChange";
public static final String NAME = "AccessibilityInfo";
private static final String REDUCE_MOTION_EVENT_NAME = "reduceMotionDidChange";
private static final String TOUCH_EXPLORATION_EVENT_NAME = "touchExplorationDidChange";
private final AccessibilityManager accessibilityManager;
private final b accessibilityServiceChangeListener;
private boolean accessibilityServiceEnabled;
private final ContentObserver animationScaleObserver;
private final ContentResolver contentResolver;
private boolean grayscaleModeEnabled;
private boolean highTextContrastEnabled;
private final ContentObserver highTextContrastObserver;
private boolean invertColorsEnabled;
private int recommendedTimeout;
private boolean reduceMotionEnabled;
private boolean touchExplorationEnabled;
private final c touchExplorationStateChangeListener;
public static final class a {
public /* synthetic */ a(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private a() {
}
}
private final class b implements AccessibilityManager.AccessibilityStateChangeListener {
public b() {
}
@Override // android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener
public void onAccessibilityStateChanged(boolean z3) {
AccessibilityInfoModule.this.updateAndSendAccessibilityServiceChangeEvent(z3);
}
}
private final class c implements AccessibilityManager.TouchExplorationStateChangeListener {
public c() {
}
@Override // android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener
public void onTouchExplorationStateChanged(boolean z3) {
AccessibilityInfoModule.this.updateAndSendTouchExplorationChangeEvent(z3);
}
}
public static final class d extends ContentObserver {
d(Handler handler) {
super(handler);
}
@Override // android.database.ContentObserver
public void onChange(boolean z3) {
onChange(z3, null);
}
@Override // android.database.ContentObserver
public void onChange(boolean z3, Uri uri) {
if (AccessibilityInfoModule.this.getReactApplicationContext().hasActiveReactInstance()) {
AccessibilityInfoModule.this.updateAndSendReduceMotionChangeEvent();
}
}
}
public static final class e extends ContentObserver {
e(Handler handler) {
super(handler);
}
@Override // android.database.ContentObserver
public void onChange(boolean z3) {
onChange(z3, null);
}
@Override // android.database.ContentObserver
public void onChange(boolean z3, Uri uri) {
if (AccessibilityInfoModule.this.getReactApplicationContext().hasActiveReactInstance()) {
AccessibilityInfoModule.this.updateAndSendHighTextContrastChangeEvent();
}
}
}
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public AccessibilityInfoModule(ReactApplicationContext reactApplicationContext) {
super(reactApplicationContext);
h.f(reactApplicationContext, "context");
this.animationScaleObserver = new d(UiThreadUtil.getUiThreadHandler());
this.highTextContrastObserver = new e(UiThreadUtil.getUiThreadHandler());
this.touchExplorationStateChangeListener = new c();
this.accessibilityServiceChangeListener = new b();
Object systemService = reactApplicationContext.getApplicationContext().getSystemService("accessibility");
h.d(systemService, "null cannot be cast to non-null type android.view.accessibility.AccessibilityManager");
AccessibilityManager accessibilityManager = (AccessibilityManager) systemService;
this.accessibilityManager = accessibilityManager;
this.contentResolver = getReactApplicationContext().getContentResolver();
this.touchExplorationEnabled = accessibilityManager.isTouchExplorationEnabled();
this.accessibilityServiceEnabled = accessibilityManager.isEnabled();
this.reduceMotionEnabled = isReduceMotionEnabledValue();
this.highTextContrastEnabled = isHighTextContrastEnabledValue();
this.grayscaleModeEnabled = isGrayscaleEnabledValue();
}
private final boolean isGrayscaleEnabledValue() {
try {
if (Settings.Secure.getInt(this.contentResolver, "accessibility_display_daltonizer_enabled") == 1) {
return Settings.Secure.getInt(this.contentResolver, "accessibility_display_daltonizer") == 0;
}
return false;
} catch (Settings.SettingNotFoundException unused) {
return false;
}
}
private final boolean isHighTextContrastEnabledValue() {
return Settings.Secure.getInt(this.contentResolver, ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED_CONSTANT, 0) != 0;
}
private final boolean isInvertColorsEnabledValue() {
try {
return Settings.Secure.getInt(this.contentResolver, "accessibility_display_inversion_enabled") == 1;
} catch (Settings.SettingNotFoundException unused) {
return false;
}
}
private final boolean isReduceMotionEnabledValue() {
String string = Settings.Global.getString(this.contentResolver, "transition_animation_scale");
return (string != null ? Float.parseFloat(string) : 1.0f) == 0.0f;
}
/* JADX INFO: Access modifiers changed from: private */
public final void updateAndSendAccessibilityServiceChangeEvent(boolean z3) {
if (this.accessibilityServiceEnabled != z3) {
this.accessibilityServiceEnabled = z3;
if (getReactApplicationContextIfActiveOrWarn() != null) {
getReactApplicationContext().emitDeviceEvent(ACCESSIBILITY_SERVICE_EVENT_NAME, Boolean.valueOf(this.accessibilityServiceEnabled));
}
}
}
private final void updateAndSendGrayscaleModeChangeEvent() {
boolean zIsGrayscaleEnabledValue = isGrayscaleEnabledValue();
if (this.grayscaleModeEnabled != zIsGrayscaleEnabledValue) {
this.grayscaleModeEnabled = zIsGrayscaleEnabledValue;
ReactApplicationContext reactApplicationContextIfActiveOrWarn = getReactApplicationContextIfActiveOrWarn();
if (reactApplicationContextIfActiveOrWarn != null) {
reactApplicationContextIfActiveOrWarn.emitDeviceEvent(GRAYSCALE_MODE_EVENT_NAME, Boolean.valueOf(this.grayscaleModeEnabled));
}
}
}
/* JADX INFO: Access modifiers changed from: private */
public final void updateAndSendHighTextContrastChangeEvent() {
boolean zIsHighTextContrastEnabledValue = isHighTextContrastEnabledValue();
if (this.highTextContrastEnabled != zIsHighTextContrastEnabledValue) {
this.highTextContrastEnabled = zIsHighTextContrastEnabledValue;
ReactApplicationContext reactApplicationContextIfActiveOrWarn = getReactApplicationContextIfActiveOrWarn();
if (reactApplicationContextIfActiveOrWarn != null) {
reactApplicationContextIfActiveOrWarn.emitDeviceEvent(HIGH_TEXT_CONTRAST_EVENT_NAME, Boolean.valueOf(this.highTextContrastEnabled));
}
}
}
private final void updateAndSendInvertColorsChangeEvent() {
boolean zIsInvertColorsEnabledValue = isInvertColorsEnabledValue();
if (this.invertColorsEnabled != zIsInvertColorsEnabledValue) {
this.invertColorsEnabled = zIsInvertColorsEnabledValue;
ReactApplicationContext reactApplicationContextIfActiveOrWarn = getReactApplicationContextIfActiveOrWarn();
if (reactApplicationContextIfActiveOrWarn != null) {
reactApplicationContextIfActiveOrWarn.emitDeviceEvent(INVERT_COLOR_EVENT_NAME, Boolean.valueOf(this.invertColorsEnabled));
}
}
}
/* JADX INFO: Access modifiers changed from: private */
public final void updateAndSendReduceMotionChangeEvent() {
boolean zIsReduceMotionEnabledValue = isReduceMotionEnabledValue();
if (this.reduceMotionEnabled != zIsReduceMotionEnabledValue) {
this.reduceMotionEnabled = zIsReduceMotionEnabledValue;
ReactApplicationContext reactApplicationContextIfActiveOrWarn = getReactApplicationContextIfActiveOrWarn();
if (reactApplicationContextIfActiveOrWarn != null) {
reactApplicationContextIfActiveOrWarn.emitDeviceEvent(REDUCE_MOTION_EVENT_NAME, Boolean.valueOf(this.reduceMotionEnabled));
}
}
}
/* JADX INFO: Access modifiers changed from: private */
public final void updateAndSendTouchExplorationChangeEvent(boolean z3) {
if (this.touchExplorationEnabled != z3) {
this.touchExplorationEnabled = z3;
if (getReactApplicationContextIfActiveOrWarn() != null) {
getReactApplicationContext().emitDeviceEvent(TOUCH_EXPLORATION_EVENT_NAME, Boolean.valueOf(this.touchExplorationEnabled));
}
}
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void announceForAccessibility(String str) {
AccessibilityManager accessibilityManager = this.accessibilityManager;
if (accessibilityManager == null || !accessibilityManager.isEnabled()) {
return;
}
AccessibilityEvent accessibilityEventObtain = AccessibilityEvent.obtain(16384);
accessibilityEventObtain.getText().add(str);
accessibilityEventObtain.setClassName(AccessibilityInfoModule.class.getName());
accessibilityEventObtain.setPackageName(getReactApplicationContext().getPackageName());
this.accessibilityManager.sendAccessibilityEvent(accessibilityEventObtain);
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void getRecommendedTimeoutMillis(double d4, Callback callback) {
h.f(callback, "successCallback");
if (Build.VERSION.SDK_INT < 29) {
callback.invoke(Integer.valueOf((int) d4));
return;
}
AccessibilityManager accessibilityManager = this.accessibilityManager;
int recommendedTimeoutMillis = accessibilityManager != null ? accessibilityManager.getRecommendedTimeoutMillis((int) d4, 4) : 0;
this.recommendedTimeout = recommendedTimeoutMillis;
callback.invoke(Integer.valueOf(recommendedTimeoutMillis));
}
@Override // com.facebook.react.bridge.BaseJavaModule, com.facebook.react.bridge.NativeModule, com.facebook.react.turbomodule.core.interfaces.TurboModule
public void initialize() {
getReactApplicationContext().addLifecycleEventListener(this);
AccessibilityManager accessibilityManager = this.accessibilityManager;
boolean z3 = false;
updateAndSendTouchExplorationChangeEvent(accessibilityManager != null && accessibilityManager.isTouchExplorationEnabled());
AccessibilityManager accessibilityManager2 = this.accessibilityManager;
if (accessibilityManager2 != null && accessibilityManager2.isEnabled()) {
z3 = true;
}
updateAndSendAccessibilityServiceChangeEvent(z3);
updateAndSendReduceMotionChangeEvent();
updateAndSendHighTextContrastChangeEvent();
}
@Override // com.facebook.react.bridge.BaseJavaModule, com.facebook.react.bridge.NativeModule, com.facebook.react.turbomodule.core.interfaces.TurboModule
public void invalidate() {
getReactApplicationContext().removeLifecycleEventListener(this);
super.invalidate();
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void isAccessibilityServiceEnabled(Callback callback) {
h.f(callback, "successCallback");
callback.invoke(Boolean.valueOf(this.accessibilityServiceEnabled));
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void isGrayscaleEnabled(Callback callback) {
h.f(callback, "successCallback");
callback.invoke(Boolean.valueOf(this.grayscaleModeEnabled));
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void isHighTextContrastEnabled(Callback callback) {
h.f(callback, "successCallback");
callback.invoke(Boolean.valueOf(this.highTextContrastEnabled));
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void isInvertColorsEnabled(Callback callback) {
h.f(callback, "successCallback");
callback.invoke(Boolean.valueOf(this.invertColorsEnabled));
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void isReduceMotionEnabled(Callback callback) {
h.f(callback, "successCallback");
callback.invoke(Boolean.valueOf(this.reduceMotionEnabled));
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void isTouchExplorationEnabled(Callback callback) {
h.f(callback, "successCallback");
callback.invoke(Boolean.valueOf(this.touchExplorationEnabled));
}
@Override // com.facebook.react.bridge.LifecycleEventListener
public void onHostDestroy() {
}
@Override // com.facebook.react.bridge.LifecycleEventListener
public void onHostPause() {
AccessibilityManager accessibilityManager = this.accessibilityManager;
if (accessibilityManager != null) {
accessibilityManager.removeTouchExplorationStateChangeListener(this.touchExplorationStateChangeListener);
}
AccessibilityManager accessibilityManager2 = this.accessibilityManager;
if (accessibilityManager2 != null) {
accessibilityManager2.removeAccessibilityStateChangeListener(this.accessibilityServiceChangeListener);
}
this.contentResolver.unregisterContentObserver(this.animationScaleObserver);
this.contentResolver.unregisterContentObserver(this.highTextContrastObserver);
}
@Override // com.facebook.react.bridge.LifecycleEventListener
public void onHostResume() {
AccessibilityManager accessibilityManager = this.accessibilityManager;
if (accessibilityManager != null) {
accessibilityManager.addTouchExplorationStateChangeListener(this.touchExplorationStateChangeListener);
}
AccessibilityManager accessibilityManager2 = this.accessibilityManager;
if (accessibilityManager2 != null) {
accessibilityManager2.addAccessibilityStateChangeListener(this.accessibilityServiceChangeListener);
}
boolean z3 = false;
this.contentResolver.registerContentObserver(Settings.Global.getUriFor("transition_animation_scale"), false, this.animationScaleObserver);
this.contentResolver.registerContentObserver(Settings.Global.getUriFor(ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED_CONSTANT), false, this.highTextContrastObserver);
AccessibilityManager accessibilityManager3 = this.accessibilityManager;
updateAndSendTouchExplorationChangeEvent(accessibilityManager3 != null && accessibilityManager3.isTouchExplorationEnabled());
AccessibilityManager accessibilityManager4 = this.accessibilityManager;
if (accessibilityManager4 != null && accessibilityManager4.isEnabled()) {
z3 = true;
}
updateAndSendAccessibilityServiceChangeEvent(z3);
updateAndSendReduceMotionChangeEvent();
updateAndSendHighTextContrastChangeEvent();
updateAndSendInvertColorsChangeEvent();
updateAndSendGrayscaleModeChangeEvent();
}
@Override // com.facebook.fbreact.specs.NativeAccessibilityInfoSpec
public void setAccessibilityFocus(double d4) {
}
}
⚠️ This content was hidden by an advertisement filtering extension in your browser. Please disable it and reload the page to access the decompiled content.
We only display one small text ad to keep this service free. Here's what it looks like:
Read the Docs for Business: You write the docs. We do the rest.
Try it today!Ad by EthicalAds
Download file