82 lines
2.6 KiB
TypeScript
82 lines
2.6 KiB
TypeScript
// Metro module 10516 (f10517).
|
|
import { Component } from "react";
|
|
import { NativeModules } from "react-native";
|
|
import { create } from "../../../_bundle/Module644";
|
|
import { batchUpdates } from "../../../_bundle/Module705";
|
|
import { isAndroid } from "../../../utils/PlatformUtils";
|
|
import Module1593 from "../../../_bundle/Module1593";
|
|
let c7058_4 = create(() => ({
|
|
autoHideHomeIndicator: false
|
|
}));
|
|
class HomeIndicator extends Component {
|
|
static defaultProps = {
|
|
prefersHidden: false,
|
|
prefersDeferringSystemGestures: false
|
|
};
|
|
static _propsStack = [];
|
|
static _updateImmediate = null;
|
|
_stackEntry = null;
|
|
static pushStackEntry(a0) {
|
|
const r0 = {
|
|
prefersHidden: a0.prefersHidden,
|
|
prefersDeferringSystemGestures: a0.prefersDeferringSystemGestures
|
|
};
|
|
HomeIndicator._propsStack.push(r0);
|
|
HomeIndicator._updatePropsStack();
|
|
return r0;
|
|
}
|
|
static popStackEntry(a0) {
|
|
const r5 = a0 != null ? HomeIndicator._propsStack.indexOf(a0) : -1;
|
|
if (r5 !== -1) {
|
|
HomeIndicator._propsStack.splice(r5, 1);
|
|
HomeIndicator._updatePropsStack();
|
|
}
|
|
}
|
|
static replaceStackEntry(a0, a1) {
|
|
const r2 = {
|
|
prefersHidden: a1.prefersHidden,
|
|
prefersDeferringSystemGestures: a1.prefersDeferringSystemGestures
|
|
};
|
|
const r10 = a0 != null ? HomeIndicator._propsStack.indexOf(a0) : -1;
|
|
if (r10 !== -1) {
|
|
HomeIndicator._propsStack[r10] = r2;
|
|
}
|
|
HomeIndicator._updatePropsStack();
|
|
return r2;
|
|
}
|
|
static _updatePropsStack() {
|
|
clearImmediate(HomeIndicator._updateImmediate);
|
|
HomeIndicator._updateImmediate = setImmediate(() => {
|
|
let r14 = HomeIndicator._propsStack[HomeIndicator._propsStack.length - 1];
|
|
if (r14 == null) {
|
|
r14 = {};
|
|
}
|
|
const { prefersHidden = false, prefersDeferringSystemGestures = false } = r14;
|
|
batchUpdates(() => c7058_4.setState({
|
|
autoHideHomeIndicator: prefersHidden
|
|
}));
|
|
if (isAndroid()) {
|
|
Module1593.setNavigationBarVisible(!prefersHidden);
|
|
} else if (NativeModules.DCDHomeIndicator) {
|
|
NativeModules.DCDHomeIndicator.setPrefersAutoHidden(prefersHidden);
|
|
NativeModules.DCDHomeIndicator.setPrefersDeferringSystemGestures(prefersDeferringSystemGestures);
|
|
}
|
|
});
|
|
}
|
|
componentDidMount() {
|
|
this._stackEntry = HomeIndicator.pushStackEntry(this.props);
|
|
}
|
|
componentDidUpdate() {
|
|
this._stackEntry = HomeIndicator.replaceStackEntry(this._stackEntry, this.props);
|
|
}
|
|
componentWillUnmount() {
|
|
HomeIndicator.popStackEntry(this._stackEntry);
|
|
this._stackEntry = null;
|
|
}
|
|
render() {
|
|
return null;
|
|
}
|
|
}
|
|
export default HomeIndicator;
|
|
export { c7058_4 as useHomeIndicatorStore };
|