Skip to content

Commit

Permalink
优化日志查看
Browse files Browse the repository at this point in the history
修复嵌套路由的bug
  • Loading branch information
jiangtian616 committed Apr 5, 2022
1 parent e1409d2 commit cd17627
Show file tree
Hide file tree
Showing 25 changed files with 107 additions and 76 deletions.
2 changes: 1 addition & 1 deletion ipa.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version=$(head -n 5 pubspec.yaml | tail -n 1 | cut -d ' ' -f 2)

flutter build ios --release --no-codesign --obfuscate --split-debug-info=build/app/outputs/symbols -t lib/src/main.dart \
flutter build ios --release --obfuscate --split-debug-info=build/app/outputs/symbols -t lib/src/main.dart \
&& mkdir ~/Desktop/Payload \
&& cp -r build/ios/Release-iphoneos/Runner.app/ ~/Desktop/Payload/Runner.app/ \
&& cd ~/Desktop \
Expand Down
9 changes: 7 additions & 2 deletions lib/src/main.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'dart:ui';
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
Expand All @@ -24,8 +25,12 @@ import 'package:jhentai/src/setting/user_setting.dart';
import 'package:jhentai/src/utils/log.dart';

void main() async {
FlutterError.presentError =
(FlutterErrorDetails details, {bool forceReport = false}) => Log.error(details.exception, null, details.stack);
FlutterError.onError = (FlutterErrorDetails details) {
if (kReleaseMode){
Log.error(details.exception, null, details.stack);
}
FlutterError.presentError(details);
};

runZonedGuarded(() async {
await init();
Expand Down
2 changes: 1 addition & 1 deletion lib/src/network/eh_cache_interceptor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class EHCacheInterceptor extends Interceptor {
var cacheResponse = strategy.cacheResponse;
if (cacheResponse != null) {
// Cache hit
Log.info('hit cache: ${cacheResponse.url}', false);
Log.verbose('hit cache: ${cacheResponse.url}', false);
// Update cached response if needed
cacheResponse = await _updateCacheResponse(cacheResponse, cacheOptions);

Expand Down
6 changes: 3 additions & 3 deletions lib/src/network/eh_request.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class EHRequest {
/// cache
_dio.interceptors.add(EHCacheInterceptor(options: cacheOption));

Log.info('init EHRequest success', false);
Log.verbose('init EHRequest success', false);
}

static Future<void> storeEhCookiesStringForAllUri(String cookiesString) async {
Expand Down Expand Up @@ -231,7 +231,7 @@ class EHRequest {
return parser(response);
}

Log.info('try redirect to EH site', false);
Log.verbose('try redirect to EH site', false);
try {
response = await _dio.get(
galleryUrl.replaceFirst(EHConsts.EXIndex, EHConsts.EHIndex),
Expand All @@ -246,7 +246,7 @@ class EHRequest {
if (e.response?.statusCode != 404) {
rethrow;
}
Log.info('redirect to EH 404', false);
Log.verbose('redirect to EH 404', false);
}

response = await _dio.get(
Expand Down
2 changes: 1 addition & 1 deletion lib/src/pages/setting/account/setting_account_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class _LogoutDialog extends StatelessWidget {
child: Text('OK'.tr, style: const TextStyle(color: Colors.red)),
onPressed: () async {
EHRequest.logout();
until(null, (route) => !Get.isDialogOpen!);
until(predicate: (route) => !Get.isDialogOpen!);
},
),
],
Expand Down
1 change: 0 additions & 1 deletion lib/src/pages/setting/advanced/log/log_page.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'dart:io' as io;
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:jhentai/src/utils/size_util.dart';
import 'package:path/path.dart';

class LogPage extends StatefulWidget {
Expand Down
1 change: 0 additions & 1 deletion lib/src/pages/setting/advanced/setting_advanced_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'dart:io' as io;
import 'dart:math';

import 'package:extended_image/extended_image.dart';
import 'package:flutter/material.dart';
Expand Down
4 changes: 3 additions & 1 deletion lib/src/pages/setting/style/setting_style_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import 'package:jhentai/src/service/tag_translation_service.dart';
import 'package:jhentai/src/setting/style_setting.dart';
import 'package:jhentai/src/widget/loading_state_indicator.dart';

import '../../../utils/size_util.dart';

class SettingStylePage extends StatelessWidget {
final TagTranslationService tagTranslationService = Get.find();

Expand Down Expand Up @@ -135,7 +137,7 @@ class SettingStylePage extends StatelessWidget {
),
),
),
if (Get.width >= 600)
if (fullScreenWidth >= 600)
ListTile(
title: Text('enableTabletLayout'.tr),
trailing: Switch(
Expand Down
70 changes: 38 additions & 32 deletions lib/src/pages/start_page.dart
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_screen_lock/flutter_screen_lock.dart';
import 'package:get/get.dart';
import 'package:jhentai/src/config/theme_config.dart';
import 'package:jhentai/src/pages/blank_page.dart';
import 'package:jhentai/src/pages/home/home_page.dart';
import 'package:jhentai/src/routes/routes.dart';
import 'package:jhentai/src/setting/advanced_setting.dart';
import 'package:jhentai/src/setting/style_setting.dart';
import 'package:jhentai/src/utils/size_util.dart';
import 'package:local_auth/local_auth.dart';

import 'lock_page.dart';
import '../utils/route_util.dart';
import '../utils/size_util.dart';

const int left = 1;
const int right = 2;
Expand All @@ -22,31 +17,42 @@ class StartPage extends StatelessWidget {

@override
Widget build(BuildContext context) {
return Obx(() {
if (StyleSetting.enableTabletLayout.isFalse) {
return HomePage();
}

if (screenWidth < 600) {
StyleSetting.enableTabletLayout.value = false;
return HomePage();
}

/// tablet layout
return Row(
children: [
Expanded(
child: Row(
children: [
Expanded(child: _leftScreen()),
Container(width: 0.3, color: Colors.black),
],
),
),
Expanded(child: _rightScreen()),
],
);
});
/// use LayoutBuilder to listen to the screen resize
return LayoutBuilder(
builder: (context, constraints) => Obx(
() {
if (StyleSetting.enableTabletLayout.isFalse) {
StyleSetting.currentEnableTabletLayout.value = false;
return HomePage();
}

if (fullScreenWidth < 600) {
StyleSetting.currentEnableTabletLayout.value = false;

/// pop all pages in right screen if exists
untilBlankPage();
return HomePage();
}

StyleSetting.currentEnableTabletLayout.value = true;

/// tablet layout
return Row(
children: [
Expanded(
child: Row(
children: [
Expanded(child: _leftScreen()),
Container(width: 0.3, color: Colors.black),
],
),
),
Expanded(child: _rightScreen()),
],
);
},
),
);
}

Widget _leftScreen() {
Expand Down
4 changes: 2 additions & 2 deletions lib/src/pages/webview/webview_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ class _WebviewPageState extends State<WebviewPage> {
/// temporarily
UserSetting.userName.value = ipbMemberId.toString();
until(
Routes.webview,
(route) => route.settings.name == Routes.settingAccount,
currentRoute: Routes.webview,
predicate: (route) => route.settings.name == Routes.settingAccount,
);

await EHRequest.storeEhCookiesForAllUri(cookies);
Expand Down
8 changes: 4 additions & 4 deletions lib/src/service/download_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class DownloadService extends GetxService {
downloadGallery(g, isFirstDownload: false);
}
}
Log.info('init DownloadService success, download task count: ${gallerys.length}', false);
Log.verbose('init DownloadService success, download task count: ${gallerys.length}', false);
}

/// begin or resume downloading all images of a gallery
Expand Down Expand Up @@ -217,7 +217,7 @@ class DownloadService extends GetxService {
),
)
.then((newThumbnails) {
Log.info('getMoreThumbnails success', false);
Log.verbose('getMoreThumbnails success', false);
int from = serialNo ~/ SiteSetting.thumbnailsCountPerPage.value * SiteSetting.thumbnailsCountPerPage.value;
for (int i = 0; i < newThumbnails.length; i++) {
gid2ImageHrefs[gallery.gid]![from + i].value = newThumbnails[i];
Expand Down Expand Up @@ -250,7 +250,7 @@ class DownloadService extends GetxService {
),
)
.then((image) async {
Log.info('parseImageUrl: $serialNo success', false);
Log.verbose('parseImageUrl: $serialNo success', false);
image.downloadStatus = DownloadStatus.downloading;
image.path = downloadPath;
gid2Images[gallery.gid]![serialNo].value = image;
Expand Down Expand Up @@ -292,7 +292,7 @@ class DownloadService extends GetxService {
gid2SpeedComputer[gallery.gid]!.imageDownloadedBytes[serialNo].value = count;
gid2SpeedComputer[gallery.gid]!.allImageDownloadedBytes += count;
}).then((success) async {
Log.info('downloadImage: $serialNo success', false);
Log.verbose('downloadImage: $serialNo success', false);
gid2downloadProgress[gallery.gid]!.update((progress) {
progress?.curCount++;
progress?.hasDownloaded[serialNo] = true;
Expand Down
2 changes: 1 addition & 1 deletion lib/src/service/storage_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class StorageService extends GetxService {

static void init() {
Get.put(StorageService());
Log.info('init StorageService success', false);
Log.verbose('init StorageService success', false);
}

Future<void> write(String key, dynamic value) {
Expand Down
2 changes: 1 addition & 1 deletion lib/src/service/tag_translation_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class TagTranslationService extends GetxService {

static void init() {
Get.put(TagTranslationService());
Log.info('init TagTranslationService success', false);
Log.verbose('init TagTranslationService success', false);
}

void onInit() {
Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/advanced_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ class AdvancedSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('advancedSetting');
if (map != null) {
_initFromMap(map);
Log.info('init AdvancedSetting success', false);
Log.verbose('init AdvancedSetting success', false);
} else {
Log.info('init AdvancedSetting success: default', false);
Log.verbose('init AdvancedSetting success: default', false);
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/download_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ class DownloadSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('downloadSetting');
if (map != null) {
_initFromMap(map);
Log.info('init DownloadSetting success', false);
Log.verbose('init DownloadSetting success', false);
} else {
Log.info('init DownloadSetting success: default', false);
Log.verbose('init DownloadSetting success: default', false);
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/eh_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ class EHSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('EHSetting');
if (map != null) {
_initFromMap(map);
Log.info('init EHSetting success', false);
Log.verbose('init EHSetting success', false);
} else {
Log.info('init EHSetting success: default', false);
Log.verbose('init EHSetting success: default', false);
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/favorite_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ class FavoriteSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('favoriteSetting');
if (map != null) {
_initFromMap(map);
Log.info('init FavoriteSetting success', false);
Log.verbose('init FavoriteSetting success', false);
} else {
Log.info('init FavoriteSetting success: default', false);
Log.verbose('init FavoriteSetting success: default', false);
}

/// listen to login and logout
Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/read_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class ReadSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('readSetting');
if (map != null) {
_initFromMap(map);
Log.info('init ReadSetting success', false);
Log.verbose('init ReadSetting success', false);
} else {
Log.info('init ReadSetting success: default', false);
Log.verbose('init ReadSetting success: default', false);
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/site_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class SiteSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('siteSetting');
if (map != null) {
_initFromMap(map);
Log.info('init SiteSetting success', false);
Log.verbose('init SiteSetting success', false);
} else {
Log.info('init SiteSetting success: default', false);
Log.verbose('init SiteSetting success: default', false);
}

/// listen to login and logout
Expand Down
8 changes: 6 additions & 2 deletions lib/src/setting/style_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,21 @@ class StyleSetting {
static Rx<EHThemeMode> themeMode = EHThemeMode.light.obs;
static Rx<ListMode> listMode = ListMode.listWithoutTags.obs;
static Rx<CoverMode> coverMode = CoverMode.cover.obs;

/// if enableTabletLayout is true, currentEnableTabletLayout can also be false because of screen width limit.
static RxBool enableTabletLayout =
WidgetsBinding.instance!.window.physicalSize.width / WidgetsBinding.instance!.window.devicePixelRatio < 600
? false.obs
: true.obs;
static RxBool currentEnableTabletLayout = false.obs;

static void init() {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('styleSetting');
if (map != null) {
_initFromMap(map);
Log.info('init StyleSetting success', false);
Log.verbose('init StyleSetting success', false);
} else {
Log.info('init StyleSetting success: default', false);
Log.verbose('init StyleSetting success: default', false);
}
}

Expand Down Expand Up @@ -99,5 +102,6 @@ class StyleSetting {
listMode.value = ListMode.values[map['listMode']];
coverMode.value = CoverMode.values[map['coverMode']];
enableTabletLayout.value = map['enableTabletLayout'];
currentEnableTabletLayout.value = map['enableTabletLayout'];
}
}
4 changes: 2 additions & 2 deletions lib/src/setting/tab_bar_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ class TabBarSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('tabBarSetting');
if (map != null) {
_initFromMap(map);
Log.info('init TabBarSetting success', false);
Log.verbose('init TabBarSetting success', false);
} else {
Log.info('init TabBarSetting success: default', false);
Log.verbose('init TabBarSetting success: default', false);
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/setting/user_setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ class UserSetting {
Map<String, dynamic>? map = Get.find<StorageService>().read<Map<String, dynamic>>('userSetting');
if (map != null) {
_initFromMap(map);
Log.info('init UserSetting success', false);
Log.verbose('init UserSetting success', false);
} else {
Log.info('init UserSetting success, not logged in', false);
Log.verbose('init UserSetting success, not logged in', false);
}
}

Expand Down
Loading

0 comments on commit cd17627

Please sign in to comment.