package org.bbssh.command;
import org.bbssh.keybinding.ExecutableCommand;
import org.bbssh.platform.PlatformServicesProvider;
import org.bbssh.session.RemoteSessionInstance;
import org.bbssh.terminal.TerminalStateData;
import org.bbssh.ui.screens.TerminalScreen;
public class ToggleOrientationLock extends ExecutableCommand {
public boolean execute(RemoteSessionInstance rsi, Object parameter) {
if (rsi.state == null)
return false;
PlatformServicesProvider p = PlatformServicesProvider.getInstance();
int msg;
if (rsi.state.orientationMode == TerminalStateData.DIRECTION_ALL) {
rsi.state.orientationMode = p.lockOrientation(0);
msg = MSG_ORIENTATION_LOCKED;
} else {
rsi.state.orientationMode = p.unlockOrientation();
msg = MSG_ORIENTATION_UNLOCKED;
}
TerminalScreen.getInstance().showExpiringMessage(rsi, res.getString(msg));
return true;
}
public int getDescriptionResId() {
return CMD_DESC_TOGGLE_ORIENTATION_LOCK;
}
public int getId() {
return CommandConstants.TOGGLE_ORIENTATION_LOCK;
}
public int getNameResId() {
return CMD_NAME_TOGGLE_ORIENTATION_LOCK;
}
public boolean isConnectionRequired() {
return false;
}
public boolean isKeyBindable() {
return true;
}
public boolean isMacroAction() {
return true;
}
public boolean isAvailableOnCurrentPlatform() {
return PlatformServicesProvider.getInstance().hasTouchscreen();
}
public boolean isParameterRequired() {
return false;
}
}