add test mode, update cm_test
This commit is contained in:
parent
bd68969dac
commit
afa94d5907
@ -43,6 +43,9 @@ var version = "";
|
|||||||
int androidVersion = 0;
|
int androidVersion = 0;
|
||||||
DesktopType? desktopType;
|
DesktopType? desktopType;
|
||||||
|
|
||||||
|
/// * debug or test only, DO NOT enable in release build
|
||||||
|
bool isTest = false;
|
||||||
|
|
||||||
typedef F = String Function(String);
|
typedef F = String Function(String);
|
||||||
typedef FMethod = String Function(String, dynamic);
|
typedef FMethod = String Function(String, dynamic);
|
||||||
|
|
||||||
|
@ -92,6 +92,7 @@ class ServerModel with ChangeNotifier {
|
|||||||
_serverId = IDTextEditingController(text: _emptyIdShow);
|
_serverId = IDTextEditingController(text: _emptyIdShow);
|
||||||
|
|
||||||
Timer.periodic(Duration(seconds: 1), (timer) async {
|
Timer.periodic(Duration(seconds: 1), (timer) async {
|
||||||
|
if (isTest) return timer.cancel();
|
||||||
var status = await bind.mainGetOnlineStatue();
|
var status = await bind.mainGetOnlineStatue();
|
||||||
if (status > 0) {
|
if (status > 0) {
|
||||||
status = 1;
|
status = 1;
|
||||||
@ -343,6 +344,7 @@ class ServerModel with ChangeNotifier {
|
|||||||
|
|
||||||
// force
|
// force
|
||||||
updateClientState([String? json]) async {
|
updateClientState([String? json]) async {
|
||||||
|
if (isTest) return;
|
||||||
var res = await bind.cmGetClientsState();
|
var res = await bind.cmGetClientsState();
|
||||||
try {
|
try {
|
||||||
final List clientsJson = jsonDecode(res);
|
final List clientsJson = jsonDecode(res);
|
||||||
|
@ -2,26 +2,63 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_hbb/common.dart';
|
import 'package:flutter_hbb/common.dart';
|
||||||
import 'package:flutter_hbb/consts.dart';
|
import 'package:flutter_hbb/consts.dart';
|
||||||
import 'package:flutter_hbb/desktop/pages/server_page.dart';
|
import 'package:flutter_hbb/desktop/pages/server_page.dart';
|
||||||
|
import 'package:flutter_hbb/desktop/widgets/tabbar_widget.dart';
|
||||||
import 'package:flutter_hbb/main.dart';
|
import 'package:flutter_hbb/main.dart';
|
||||||
import 'package:flutter_hbb/models/server_model.dart';
|
import 'package:flutter_hbb/models/server_model.dart';
|
||||||
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:window_manager/window_manager.dart';
|
import 'package:window_manager/window_manager.dart';
|
||||||
|
|
||||||
|
final testClients = [
|
||||||
|
Client(0, false, false, "UserAAAAAA", "123123123", true, false, false),
|
||||||
|
Client(1, false, false, "UserBBBBB", "221123123", true, false, false),
|
||||||
|
Client(2, false, false, "UserC", "331123123", true, false, false),
|
||||||
|
Client(3, false, false, "UserDDDDDDDDDDDd", "441123123", true, false, false)
|
||||||
|
];
|
||||||
|
|
||||||
/// -t lib/cm_main.dart to test cm
|
/// -t lib/cm_main.dart to test cm
|
||||||
void main(List<String> args) async {
|
void main(List<String> args) async {
|
||||||
|
isTest = true;
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
await windowManager.ensureInitialized();
|
await windowManager.ensureInitialized();
|
||||||
await windowManager.setSize(const Size(400, 600));
|
await windowManager.setSize(const Size(400, 600));
|
||||||
await windowManager.setAlignment(Alignment.topRight);
|
await windowManager.setAlignment(Alignment.topRight);
|
||||||
await initEnv(kAppTypeMain);
|
await initEnv(kAppTypeMain);
|
||||||
gFFI.serverModel.clients
|
for (var client in testClients) {
|
||||||
.add(Client(0, false, false, "UserA", "123123123", true, false, false));
|
gFFI.serverModel.clients.add(client);
|
||||||
gFFI.serverModel.clients
|
gFFI.serverModel.tabController.add(
|
||||||
.add(Client(1, false, false, "UserB", "221123123", true, false, false));
|
TabInfo(
|
||||||
gFFI.serverModel.clients
|
key: client.id.toString(),
|
||||||
.add(Client(2, false, false, "UserC", "331123123", true, false, false));
|
label: client.name,
|
||||||
gFFI.serverModel.clients
|
closable: false,
|
||||||
.add(Client(3, false, false, "UserD", "441123123", true, false, false));
|
page: buildConnectionCard(client)),
|
||||||
runApp(const GetMaterialApp(
|
authorized: client.authorized);
|
||||||
debugShowCheckedModeBanner: false, home: DesktopServerPage()));
|
}
|
||||||
|
|
||||||
|
runApp(GetMaterialApp(
|
||||||
|
debugShowCheckedModeBanner: false,
|
||||||
|
theme: MyTheme.lightTheme,
|
||||||
|
darkTheme: MyTheme.darkTheme,
|
||||||
|
themeMode: MyTheme.currentThemeMode(),
|
||||||
|
localizationsDelegates: const [
|
||||||
|
GlobalMaterialLocalizations.delegate,
|
||||||
|
GlobalWidgetsLocalizations.delegate,
|
||||||
|
GlobalCupertinoLocalizations.delegate,
|
||||||
|
],
|
||||||
|
supportedLocales: supportedLocales,
|
||||||
|
home: const DesktopServerPage()));
|
||||||
|
WindowOptions windowOptions =
|
||||||
|
getHiddenTitleBarWindowOptions(size: kConnectionManagerWindowSize);
|
||||||
|
windowManager.waitUntilReadyToShow(windowOptions, () async {
|
||||||
|
await windowManager.show();
|
||||||
|
// ensure initial window size to be changed
|
||||||
|
await windowManager.setSize(kConnectionManagerWindowSize);
|
||||||
|
await Future.wait([
|
||||||
|
windowManager.setAlignment(Alignment.topRight),
|
||||||
|
windowManager.focus(),
|
||||||
|
windowManager.setOpacity(1)
|
||||||
|
]);
|
||||||
|
// ensure
|
||||||
|
windowManager.setAlignment(Alignment.topRight);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user