38 lines
1.7 KiB
TypeScript
38 lines
1.7 KiB
TypeScript
// Metro module 13550 (f13551).
|
|
import { OrientationLockState } from "../../../activities/Constants";
|
|
import { RPCErrors, RPCCommands } from "../../../../_bundle/Module505";
|
|
import createRpcJoiSchemaObject from "../../helpers/createRpcJoiSchemaObject";
|
|
import Dispatcher from "../../../../Dispatcher";
|
|
import RPCError from "../../RPCError";
|
|
const r19 = {};
|
|
r19[RPCCommands.SET_ORIENTATION_LOCK_STATE] = {
|
|
validation: (a0) => createRpcJoiSchemaObject(a0).required().keys({
|
|
lock_state: a0.number().valid(OrientationLockState.UNLOCKED, OrientationLockState.PORTRAIT, OrientationLockState.LANDSCAPE).required(),
|
|
picture_in_picture_lock_state: a0.number().valid(OrientationLockState.UNLOCKED, OrientationLockState.PORTRAIT, OrientationLockState.LANDSCAPE).allow(null).optional(),
|
|
grid_lock_state: a0.number().valid(OrientationLockState.UNLOCKED, OrientationLockState.PORTRAIT, OrientationLockState.LANDSCAPE).allow(null).optional()
|
|
}),
|
|
handler: ({ socket, args }) => {
|
|
const { lock_state, picture_in_picture_lock_state, grid_lock_state } = args;
|
|
const id = socket.application.id;
|
|
if (id == null) {
|
|
throw new RPCError({
|
|
errorCode: RPCErrors.INVALID_COMMAND
|
|
}, "No application.");
|
|
}
|
|
Dispatcher.dispatch({
|
|
type: "FRAME_SET_ORIENTATION_LOCK_STATE",
|
|
applicationId: id,
|
|
lockState: lock_state,
|
|
pictureInPictureLockState: picture_in_picture_lock_state
|
|
});
|
|
Dispatcher.dispatch({
|
|
type: "EMBEDDED_ACTIVITY_SET_ORIENTATION_LOCK_STATE",
|
|
applicationId: id,
|
|
lockState: lock_state,
|
|
pictureInPictureLockState: picture_in_picture_lock_state,
|
|
gridLockState: grid_lock_state
|
|
});
|
|
}
|
|
};
|
|
export default r19;
|