mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-19 00:04:22 +01:00
Experimental support for haptic feedback
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
||||||
|
<uses-permission android:name="android.permission.VIBRATE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:label="ServerBox"
|
android:label="ServerBox"
|
||||||
|
|||||||
@@ -61,3 +61,4 @@ final isWeb = OS.type == OS.web;
|
|||||||
final isMobile = OS.type == OS.ios || OS.type == OS.android;
|
final isMobile = OS.type == OS.ios || OS.type == OS.android;
|
||||||
final isDesktop =
|
final isDesktop =
|
||||||
OS.type == OS.linux || OS.type == OS.macos || OS.type == OS.windows;
|
OS.type == OS.linux || OS.type == OS.macos || OS.type == OS.windows;
|
||||||
|
const isDebuggingMobileLayoutOnDesktop = kDebugMode;
|
||||||
@@ -106,7 +106,7 @@ class _SSHPageState extends State<SSHPage> with AutomaticKeepAliveClientMixin {
|
|||||||
_terminalTheme = _isDark ? TerminalThemes.dark : TerminalThemes.light;
|
_terminalTheme = _isDark ? TerminalThemes.dark : TerminalThemes.light;
|
||||||
|
|
||||||
// Because the virtual keyboard only displayed on mobile devices
|
// Because the virtual keyboard only displayed on mobile devices
|
||||||
if (isMobile) {
|
if (isMobile || isDebuggingMobileLayoutOnDesktop) {
|
||||||
_virtKeyWidth = _media.size.width / 7;
|
_virtKeyWidth = _media.size.width / 7;
|
||||||
_virtKeysHeight = _media.size.height * 0.043 * _virtKeysList.length;
|
_virtKeysHeight = _media.size.height * 0.043 * _virtKeysList.length;
|
||||||
}
|
}
|
||||||
@@ -118,7 +118,9 @@ class _SSHPageState extends State<SSHPage> with AutomaticKeepAliveClientMixin {
|
|||||||
Widget child = Scaffold(
|
Widget child = Scaffold(
|
||||||
backgroundColor: _terminalTheme.background,
|
backgroundColor: _terminalTheme.background,
|
||||||
body: _buildBody(),
|
body: _buildBody(),
|
||||||
bottomNavigationBar: isDesktop ? null : _buildBottom(),
|
bottomNavigationBar: isDesktop && !isDebuggingMobileLayoutOnDesktop
|
||||||
|
? null
|
||||||
|
: _buildBottom(),
|
||||||
);
|
);
|
||||||
if (isIOS) {
|
if (isIOS) {
|
||||||
child = AnnotatedRegion(
|
child = AnnotatedRegion(
|
||||||
@@ -232,10 +234,12 @@ class _SSHPageState extends State<SSHPage> with AutomaticKeepAliveClientMixin {
|
|||||||
|
|
||||||
void _doVirtualKey(VirtKey item) {
|
void _doVirtualKey(VirtKey item) {
|
||||||
if (item.func != null) {
|
if (item.func != null) {
|
||||||
|
HapticFeedback.mediumImpact();
|
||||||
_doVirtualKeyFunc(item.func!);
|
_doVirtualKeyFunc(item.func!);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (item.key != null) {
|
if (item.key != null) {
|
||||||
|
HapticFeedback.mediumImpact();
|
||||||
_doVirtualKeyInput(item.key!);
|
_doVirtualKeyInput(item.key!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user