Files
discord-decomp/sources/by-id/module-05401.jsx
T
2026-07-27 16:20:00 +03:00

561 lines
25 KiB
React

/* Metro module 5401; source: unknown; dependencies: [6, 7, 15, 17, 18, 31, 27, 33, 5326, 44, 5339, 5351] */
function _fun47676(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#47676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:6, offset: 0x011c8589, size: 531 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
let Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
const env0_8 = importAll(31) /* metro dependency 31 */;
const Component = (require(31) /* metro dependency 31 */).Component;
let value = require(27) /* metro dependency 27 */;
const env0_9 = value.Animated;
const StyleSheet = value.StyleSheet;
const env0_10 = value.View;
const env0_11 = value.Keyboard;
const env0_12 = value.StatusBar;
const env0_13 = value.I18nManager;
value = require(33) /* metro dependency 33 */;
const env0_14 = value.jsx;
const env0_15 = value.jsxs;
value = _fun47680(Component);
value.defaultProps = {'drawerWidth': 200, 'drawerPosition': 'left', 'useNativeAnimations': true,
'drawerType': 'front', 'edgeWidth': 20, 'minSwipeDistance': 3, 'overlayColor': 'rgba(0, 0, 0, 0.7)',
'drawerLockMode': 'unlocked', 'enableTrackpadTwoFingerGesture': false};
value.positions = {'Left': 'left', 'Right': 'right'};
const create = StyleSheet.create;
object2 = {};
Object = global.Object;
object2.drawerContainer = Object.assign({}, StyleSheet.absoluteFillObject, {'zIndex': 1001, 'flexDirection': 'row'});
Object = global.Object;
object2.containerInFront = Object.assign({}, StyleSheet.absoluteFillObject, {zIndex: 1002});
Object = global.Object;
object2.containerOnBack = Object.assign({}, StyleSheet.absoluteFillObject);
object2.main = {'flex': 1, 'zIndex': 0, 'overflow': 'hidden'};
Object = global.Object;
object2.overlay = Object.assign({}, StyleSheet.absoluteFillObject, {zIndex: 1000});
const env0_16 = Reflect.apply(create, StyleSheet, [object2]);
exports.default = value;
}
function _isNativeReflectConstruct_47677() { // fn#47677, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:295, offset: 0x011c879c, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_47677_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun47680(a0) { // fn#47680, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:555, offset: 0x011c87fa, size: 91 bytes, params: 2, frame: 16
const closure = DrawerLayout;
env0_7(closure, a0);
return env0_4(closure, [{key: 'shouldComponentUpdate', value: function(a0, a1) {
if (!(this.props.drawerPosition === a0.drawerPosition && this.props.drawerWidth === a0.drawerWidth && this.props.drawerType === a0.drawerType && this.state.containerWidth === a1.containerWidth)) {
this.updateAnimatedEvent(a0, a1);
}
return true;
}}, {key: 'render', value: value_47698}]);
}
function DrawerLayout(a0) { // fn#47681, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:567, offset: 0x011c8855, size: 463 bytes, params: 2, frame: 22
var environment;
const value = environment.__proto__;
let binding = env1_3;
binding(this, DrawerLayout);
const items = [a0];
const value3 = env1_6(DrawerLayout);
const value6 = env1_5(this, _isNativeReflectConstruct_47677() ? global.Reflect.construct(value3, items,
env1_6(this).constructor) : value3.apply(this, items));
binding = env1_8;
value6.accessibilityIsModalView = binding.createRef();
value6.pointerEventsView = binding.createRef();
value6.panGestureHandler = binding.createRef();
value6.drawerShown = false;
value6.updateAnimatedEvent = updateAnimatedEvent;
value6.handleContainerLayout = handleContainerLayout_47684;
value6.emitStateChanged = emitStateChanged;
value6.openingHandlerStateChange = openingHandlerStateChange;
value6.onTapHandlerStateChange = onTapHandlerStateChange;
value6.handleRelease = handleRelease;
value6.updateShowing = updateShowing;
value6.animateDrawer = animateDrawer;
value6.openDrawer = openDrawer_47692;
value6.closeDrawer = closeDrawer_47693;
value6.renderOverlay = renderOverlay;
value6.renderDrawer = renderDrawer;
value6.setPanGestureRef = setPanGestureRef;
let Value = Animated.Value;
const value7 = new Value(0);
Value = Animated.Value;
const value9 = new Value(0);
Value = Animated.Value;
value6.state = {'dragX': null, 'touchX': null, 'drawerTranslation': null, 'containerWidth': 0,
'drawerState': 'Idle', 'drawerOpened': false, dragX: value7, touchX: value9, drawerTranslation: new Value(0)};
value6.updateAnimatedEvent(a0, value6.state);
return value6;
}
function value_47698() { // fn#47698, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:6632, offset: 0x011c98d3, size: 371 bytes, params: 1, frame: 20
const {drawerPosition, drawerLockMode, edgeWidth, minSwipeDistance} = this.props;
let value = drawerPosition === 'left';
const value2 = -1;
const r8 = value ? 1 : value2;
const r4 = this.drawerShown ? value2 : 1;
const object2 = {};
if (value) {
object2.left = 0;
object2.width = this.drawerShown ? undefined : edgeWidth;
} else {
object2.right = 0;
object2.width = this.drawerShown ? undefined : edgeWidth;
}
value = environment.__proto__;
const PanGestureHandler = (require(5351) /* metro dependency 5351 */).PanGestureHandler;
const userSelect = this.props.userSelect;
return (
<PanGestureHandler
userSelect={userSelect}
activeCursor={this.props.activeCursor}
mouseButton={this.props.mouseButton}
enableContextMenu={this.props.enableContextMenu}
ref={this.setPanGestureRef}
hitSlop={object2}
activeOffsetX={r8 * r4 * minSwipeDistance}
failOffsetY={[-15, 15]}
onGestureEvent={this.onGestureEvent}
onHandlerStateChange={this.openingHandlerStateChange}
enableTrackpadTwoFingerGesture={this.props.enableTrackpadTwoFingerGesture}
enabled={drawerLockMode !== 'locked-closed' && drawerLockMode !== 'locked-open'}
>
{this.renderDrawer()}
</PanGestureHandler>
);
}
function DrawerLayoutUpdateAnimatedEvent({drawerPosition, drawerWidth, drawerType, useNativeAnimations}, {dragX, touchX, drawerTranslation, containerWidth}) { // fn#47682, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:924, owner: DrawerLayout.updateAnimatedEvent, offset: 0x011c8a24, size: 558 bytes, params: 3, frame: 26
var environment;
var r4;
var r5;
var r8;
var value;
var multiply;
var Value;
var prototype;
var value2;
var add;
var value3;
var value4;
var value5;
var value6;
var value7;
var value9;
var value10;
if (drawerPosition !== 'left') {
value = environment.__proto__.__proto__;
multiply = Animated.multiply;
Value = Animated.Value;
prototype = Value.prototype;
value = Object.create(prototype, {constructor: {value: Value}});
value2 = new Value(-1);
value = value2 instanceof Object ? value2 : value;
value = Reflect.apply(multiply, Animated, [value, dragX]);
add = Animated.add;
Value = Animated.Value;
prototype = Value.prototype;
value3 = Object.create(prototype, {constructor: {value: Value}});
value4 = new Value(containerWidth);
value5 = value4 instanceof Object ? value4 : value3;
multiply = Animated.multiply;
Value = Animated.Value;
prototype = Value.prototype;
value6 = Object.create(prototype, {constructor: {value: Value}});
value7 = new Value(-1);
value9 = Reflect.apply(add, Animated, [value5, Reflect.apply(multiply, Animated,
[value7 instanceof Object ? value7 : value6, touchX])]);
touchX.setValue(containerWidth);
r4 = value;
r5 = value9;
} else {
touchX.setValue(0);
r4 = dragX;
r5 = touchX;
}
if (drawerType !== 'front') {
r8 = r4;
} else {
value = environment.__proto__.__proto__;
add = Animated.add;
multiply = Animated.multiply;
value10 = new Animated.Value(-1);
value10 = Reflect.apply(add, Animated, [r5, Reflect.apply(multiply, Animated, [value10, r4])]);
value10 = value10.interpolate({inputRange: [drawerWidth - 1, drawerWidth, drawerWidth + 1], outputRange: [0, 0,
1]});
value10 = Animated.add(r4, value10);
r8 = value10;
}
const binding = env0_0;
binding.openValue = Animated.add(r8, drawerTranslation).interpolate({inputRange: [0, drawerWidth], outputRange: [0,
1], extrapolate: 'clamp'});
const object2 = {useNativeDriver: useNativeAnimations};
if (binding.props.onDrawerSlide) {
object2.listener = listener_47683;
}
env0_0.onGestureEvent = Animated.event([{nativeEvent: {translationX: dragX, x: touchX}}], object2);
}
function DrawerLayoutHandleContainerLayout({nativeEvent}) { // fn#47684, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1739, owner: DrawerLayout.handleContainerLayout, offset: 0x011c8cc4, size: 49 bytes, params: 2, frame: 12
env0_0.setState({containerWidth: nativeEvent.layout.width});
}
function emitStateChanged(a0, a1) { // fn#47685, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1835, owner: DrawerLayout.emitStateChanged, offset: 0x011c8cf5, size: 55 bytes, params: 3, frame: 13
if (env0_0.props.onDrawerStateChanged != null) {
env0_0.props.onDrawerStateChanged(a0, a1);
}
}
function openingHandlerStateChange({nativeEvent}) { // fn#47686, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1948, owner: DrawerLayout.openingHandlerStateChange, offset: 0x011c8d2c, size: 269 bytes, params: 2, frame: 17
var statusBarAnimation;
var binding;
var props;
var setHidden;
const oldState = nativeEvent.oldState;
const value = environment.__proto__.__proto__;
const State = (require(5326) /* metro dependency 5326 */).State;
const ACTIVE = State.ACTIVE;
if (oldState === ACTIVE) {
binding = env0_0;
binding.handleRelease({nativeEvent: nativeEvent});
} else if (nativeEvent.state === State.ACTIVE) {
binding = env0_0;
binding.emitStateChanged('Dragging', false);
binding.setState({drawerState: 'Dragging'});
props = binding.props;
if (props.keyboardDismissMode === 'on-drag') {
Keyboard.dismiss();
}
props = env0_0.props;
if (props.hideStatusBar) {
setHidden = StatusBar.setHidden;
statusBarAnimation = env0_0.props.statusBarAnimation;
statusBarAnimation = !statusBarAnimation ? 'slide' : statusBarAnimation;
Reflect.apply(setHidden, StatusBar, [true, statusBarAnimation]);
}
}
}
function DrawerLayoutOnTapHandlerStateChange({nativeEvent}) { // fn#47687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:2289, owner: DrawerLayout.onTapHandlerStateChange, offset: 0x011c8e39, size: 121 bytes, params: 2, frame: 14
if (env0_0.drawerShown && nativeEvent.oldState === (require(5326) /* metro dependency 5326 */).State.ACTIVE && env0_0.props.drawerLockMode !== 'locked-open') {
env0_0.closeDrawer();
}
}
function DrawerLayoutHandleRelease({nativeEvent}) { // fn#47688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:2444, owner: DrawerLayout.handleRelease, offset: 0x011c8eb2, size: 223 bytes, params: 2, frame: 22
var r1;
var r2;
var r3;
var value2;
var value3;
var value4;
const binding = env0_0;
const {drawerWidth, drawerPosition, drawerType} = binding.props;
const containerWidth = binding.state.containerWidth;
const translationX = nativeEvent.translationX;
const velocityX = nativeEvent.velocityX;
const x = nativeEvent.x;
if (drawerPosition === 'left') {
r1 = x;
r2 = translationX;
r3 = velocityX;
} else {
value2 = -translationX;
value3 = containerWidth - x;
value4 = -velocityX;
r1 = value3;
r2 = value2;
r3 = value4;
}
const value5 = r1 - r2;
const value9 = r2 + (drawerType !== 'front' ? 0 : value5 > drawerWidth ? value5 - drawerWidth : 0) + (env0_0.drawerShown ? drawerWidth : 0);
if (value9 + 0.05 * r3 > drawerWidth / 2) {
env0_0.animateDrawer(value9, drawerWidth, r3);
} else {
env0_0.animateDrawer(value9, 0, r3);
}
}
function updateShowing(a0) { // fn#47689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:2774, owner: DrawerLayout.updateShowing, offset: 0x011c8f91, size: 269 bytes, params: 2, frame: 19
const binding = env0_0;
binding.drawerShown = a0;
let current = binding.accessibilityIsModalView.current;
if (current != null) {
current.setNativeProps({accessibilityViewIsModal: a0});
}
current = env0_0.pointerEventsView.current;
if (current != null) {
current.setNativeProps({pointerEvents: a0 ? 'auto' : 'none'});
}
const {drawerPosition, minSwipeDistance, edgeWidth} = env0_0.props;
const value4 = drawerPosition === 'left';
const value5 = -1;
const r5 = value4 ? 1 : value5;
const r3 = env0_0.drawerShown ? value5 : 1;
const object2 = {};
if (value4) {
object2.left = 0;
object2.width = a0 ? undefined : edgeWidth;
} else {
object2.right = 0;
object2.width = a0 ? undefined : edgeWidth;
}
current = env0_0.panGestureHandler.current;
if (current != null) {
current.setNativeProps({hitSlop: object2, activeOffsetX: r5 * r3 * minSwipeDistance});
}
}
function animateDrawer(a0, a1, a2, a3) { // fn#47690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:3268, owner: DrawerLayout.animateDrawer, offset: 0x011c909e, size: 468 bytes, params: 5, frame: 22
var environment;
var r3;
var r5;
var statusBarAnimation;
var value7;
var setHidden;
let value = a0;
const value2 = a3;
let binding = env0_0;
const dragX = binding.state.dragX;
const value4 = 0;
dragX.setValue(value4);
const touchX = binding.state.touchX;
touchX.setValue(binding.props.drawerPosition === 'left' ? value4 : env0_0.state.containerWidth);
if (value != null) {
if (env0_0.props.useNativeAnimations) {
if (value < a1) {
if (a2 > value4) {
value = global.Math.min(value + a2 / 60, a1);
r3 = value;
} else if (value > a1 && a2 < value4) {
value = global.Math.max(value + a2 / 60, a1);
r3 = value;
} else {
r3 = value;
}
} else if (value > a1 && a2 < value4) {
value = global.Math.max(value + a2 / 60, a1);
r3 = value;
} else {
r3 = value;
}
r5 = r3;
} else {
r5 = value;
}
env0_0.state.drawerTranslation.setValue(r5);
}
value = value4 !== a1;
binding = env0_0;
binding.updateShowing(value);
binding.emitStateChanged('Settling', value);
binding.setState({drawerState: 'Settling'});
if (binding.props.hideStatusBar) {
value7 = environment.__proto__.__proto__;
setHidden = StatusBar.setHidden;
statusBarAnimation = env0_0.props.statusBarAnimation;
statusBarAnimation = !statusBarAnimation ? 'slide' : statusBarAnimation;
Reflect.apply(setHidden, StatusBar, [value, statusBarAnimation]);
}
value = environment.__proto__.__proto__;
const spring = Animated.spring;
binding = env0_0;
const drawerTranslation = binding.state.drawerTranslation;
const useNativeAnimations = binding.props.useNativeAnimations;
value = undefined;
Reflect.apply(spring, Animated, [drawerTranslation, {velocity: a2, bounciness: value4, toValue: a1,
useNativeDriver: useNativeAnimations, speed: value2 ?? value}]).start(_fun47691);
return value;
}
function DrawerLayoutOpenDrawer() { // fn#47692, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4104, owner: DrawerLayout.openDrawer, offset: 0x011c9334, size: 107 bytes, params: 1, frame: 19
const value = 0;
const r2 = arguments.length > value && arguments[value] !== undefined ? arguments[value] : {};
const binding = env0_0;
const animateDrawer = binding.animateDrawer;
const drawerWidth = binding.props.drawerWidth;
let velocity = r2.velocity;
velocity = velocity ? r2.velocity : value;
Reflect.apply(animateDrawer, binding, [undefined, drawerWidth, velocity, r2.speed]);
env0_0.forceUpdate();
}
function DrawerLayoutCloseDrawer() { // fn#47693, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4286, owner: DrawerLayout.closeDrawer, offset: 0x011c939f, size: 95 bytes, params: 1, frame: 19
const value = 0;
const r2 = arguments.length > value && arguments[value] !== undefined ? arguments[value] : {};
const binding = env0_0;
const animateDrawer = binding.animateDrawer;
let velocity = r2.velocity;
velocity = velocity ? r2.velocity : value;
Reflect.apply(animateDrawer, binding, [undefined, value, velocity, r2.speed]);
env0_0.forceUpdate();
}
function renderOverlay() { // fn#47694, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4452, owner: DrawerLayout.renderOverlay, offset: 0x011c93fe, size: 263 bytes, params: 1, frame: 20
const defaultImport = importDefault(44) /* metro dependency 44 */;
let binding = env0_0;
defaultImport(binding.openValue, 'should be set');
const object2 = {};
object2.opacity = binding.state.drawerState !== 'Idle' ? env0_0.openValue : env0_0.state.drawerOpened ? 1 : 0;
binding = env0_0;
object2.backgroundColor = binding.props.overlayColor;
const TapGestureHandler = (require(5339) /* metro dependency 5339 */).TapGestureHandler;
const onTapHandlerStateChange = binding.onTapHandlerStateChange;
const View = Animated.View;
return (
<TapGestureHandler onHandlerStateChange={onTapHandlerStateChange}>
<View
pointerEvents={binding.drawerShown ? 'auto' : 'none'}
ref={env0_0.pointerEventsView}
style={[env2_16.overlay, object2]}
/>
</TapGestureHandler>
);
}
function renderDrawer() { // fn#47695, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4823, owner: DrawerLayout.renderDrawer, offset: 0x011c9505, size: 790 bytes, params: 1, frame: 29
var r10;
var interpolate;
var items2;
let props = env0_0.props;
const drawerBackgroundColor = props.drawerBackgroundColor;
const drawerWidth = props.drawerWidth;
const drawerPosition = props.drawerPosition;
const drawerType = props.drawerType;
const drawerContainerStyle = props.drawerContainerStyle;
const contentContainerStyle = props.contentContainerStyle;
const value2 = drawerPosition === 'left';
const r1 = I18nManager.isRTL ? value2 : !value2;
const object2 = {backgroundColor: drawerBackgroundColor, width: drawerWidth};
const openValue = env0_0.openValue;
const value5 = undefined;
(importDefault(44) /* metro dependency 44 */)(openValue, 'should be set');
if (drawerType === 'front') {
r10 = value5;
} else {
interpolate = openValue.interpolate;
items2 = [0];
if (value2) {
items2[1] = drawerWidth;
} else {
items2[1] = -drawerWidth;
}
r10 = {transform: [{translateX: Reflect.apply(interpolate, openValue, [{inputRange: [0, 1], outputRange: items2,
extrapolate: 'clamp'}])}]};
}
const value6 = 0;
const r0 = drawerType === 'back' ? value6 : env0_0.state.drawerState !== 'Idle' ? openValue.interpolate({inputRange: [0,
1], outputRange: [value2 ? -drawerWidth : drawerWidth, value6],
extrapolate: 'clamp'}) : env0_0.state.drawerOpened ? value6 : value2 ? -drawerWidth : drawerWidth;
const object3 = {};
object3.transform = [{translateX: r0}];
object3.flexDirection = r1 ? 'row-reverse' : 'row';
const View2 = Animated.View;
const main = env2_16.main;
const handleContainerLayout = env0_0.handleContainerLayout;
const View3 = Animated.View;
let drawerShown = env0_0.drawerShown;
const r6 = drawerShown ? 'no-hide-descendants' : 'yes';
const binding = env0_0;
const view = <View3 style={[drawerType === 'front' ? env2_16.containerOnBack : env2_16.containerInFront, r10,
contentContainerStyle]} importantForAccessibility={r6}>{[typeof env0_0.props.children === 'function' ? env0_0.props.children(env0_0.openValue) : env0_0.props.children,
binding.renderOverlay()]}</View3>;
const View4 = Animated.View;
const accessibilityIsModalView = binding.accessibilityIsModalView;
drawerShown = binding.drawerShown;
props = binding.props;
return (
<View2 style={main} onLayout={handleContainerLayout}>
{view}
<View4
pointerEvents="box-none"
ref={accessibilityIsModalView}
accessibilityViewIsModal={drawerShown}
style={[env2_16.drawerContainer, object3, drawerContainerStyle]}
>
<View style={object2}>
{props.renderNavigationView(binding.openValue)}
</View>
</View4>
</View2>
);
}
function setPanGestureRef(a0) { // fn#47696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:6002, owner: DrawerLayout.setPanGestureRef, offset: 0x011c981b, size: 63 bytes, params: 2, frame: 12
const binding = env0_0;
binding.panGestureHandler.current = a0;
if (binding.props.onGestureRef != null) {
env0_0.props.onGestureRef(a0);
}
}
function updateAnimatedEventListener({nativeEvent}) { // fn#47683, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1503, owner: DrawerLayout.updateAnimatedEvent.listener, offset: 0x011c8c52, size: 114 bytes, params: 2, frame: 13
const Math = global.Math;
const floor = Math.floor;
const Math2 = global.Math;
let value = Reflect.apply(floor, Math, [Math2.abs(nativeEvent.translationX)]);
const binding = env1_0;
value /= binding.state.containerWidth;
if (binding.props.onDrawerSlide != null) {
env1_0.props.onDrawerSlide(value);
}
}
function _fun47691(a0) { // fn#47691, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:3849, offset: 0x011c9272, size: 194 bytes, params: 2, frame: 16
var value;
var binding;
var resultBinding;
var props;
if (a0.finished) {
value = environment.__proto__;
binding = env1_0;
binding.emitStateChanged('Idle', result);
binding.setState({drawerOpened: result});
if (binding.state.drawerState !== 'Dragging') {
env1_0.setState({drawerState: 'Idle'});
}
resultBinding = result;
props = env1_0.props;
if (resultBinding) {
if (props.onDrawerOpen != null) {
env1_0.props.onDrawerOpen();
}
} else if (props.onDrawerClose != null) {
env1_0.props.onDrawerClose();
}
}
}