* refa: jni

* refa: jni
This commit is contained in:
My-Responsitories
2026-05-30 12:10:35 +00:00
committed by dom
parent f3f871c893
commit 1a7678ee0f
17 changed files with 530 additions and 177 deletions

View File

@@ -12,6 +12,7 @@ import 'package:PiliPlus/pages/mine/controller.dart';
import 'package:PiliPlus/services/logger.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/accounts/account.dart';
import 'package:PiliPlus/utils/android/bindings.g.dart';
import 'package:PiliPlus/utils/app_scheme.dart';
import 'package:PiliPlus/utils/cache_manager.dart';
import 'package:PiliPlus/utils/date_utils.dart';
@@ -179,7 +180,7 @@ Commit Hash: ${BuildConfig.commitHash}''',
),
if (Platform.isAndroid)
ListTile(
onTap: () => Utils.channel.invokeMethod('linkVerifySettings'),
onTap: AndroidHelper.openLinkVerifySettings,
leading: const Icon(MdiIcons.linkBoxOutline),
title: const Text('打开受支持的链接'),
trailing: Icon(

View File

@@ -10,6 +10,7 @@ import 'package:PiliPlus/models/common/nav_bar_config.dart';
import 'package:PiliPlus/pages/home/view.dart';
import 'package:PiliPlus/pages/main/controller.dart';
import 'package:PiliPlus/plugin/pl_player/controller.dart';
import 'package:PiliPlus/utils/android/bindings.g.dart';
import 'package:PiliPlus/utils/app_scheme.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/size_ext.dart';
@@ -18,7 +19,6 @@ import 'package:PiliPlus/utils/mobile_observer.dart';
import 'package:PiliPlus/utils/platform_utils.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_key.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
@@ -202,9 +202,10 @@ class _MainAppState extends PopScopeState<MainApp>
await trayManager.setContextMenu(trayMenu);
}
@pragma('vm:prefer-inline')
static void _onBack() {
if (Platform.isAndroid) {
Utils.channel.invokeMethod('back');
AndroidHelper.back();
}
}

View File

@@ -33,6 +33,7 @@ import 'package:PiliPlus/pages/member_shop/view.dart';
import 'package:PiliPlus/pages/member_video_web/archive/view.dart';
import 'package:PiliPlus/pages/member_video_web/season_series/view.dart';
import 'package:PiliPlus/pages/webview/view.dart';
import 'package:PiliPlus/utils/android/android_helper.dart';
import 'package:PiliPlus/utils/date_utils.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/string_ext.dart';
@@ -704,14 +705,11 @@ class _MemberPageState extends State<MemberPage> {
'${_userController.userAvatar!}@200w_200h.webp'.http2https,
));
SmartDialog.dismiss();
await Utils.channel.invokeMethod(
'createShortcut',
<String, String>{
'id': _userController.mid.toString(),
'uri': 'bilibili://space/${_userController.mid}',
'label': _userController.username!,
'icon': file.path,
},
PiliAndroidHelper.createShortcut(
_userController.mid.toString(),
'bilibili://space/${_userController.mid}',
_userController.username!,
file.path,
);
} catch (e) {
SmartDialog.showToast(e.toString());

View File

@@ -1,4 +1,3 @@
import 'dart:io' show Platform;
import 'dart:math' as math;
import 'package:PiliPlus/common/widgets/badge.dart';
@@ -428,15 +427,10 @@ class _MusicDetailPageState extends CommonDynPageState<MusicDetailPage> {
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
GestureDetector(
onTap: () => _searchMusic(item),
onLongPress: () => Utils.copyText(item.musicTitle!),
behavior: HitTestBehavior.opaque,
child: MarqueeText(
item.musicTitle!,
spacing: 30,
style: textTheme.titleMedium,
),
MarqueeText(
item.musicTitle!,
spacing: 30,
style: textTheme.titleMedium,
),
Wrap(
spacing: 8,
@@ -558,18 +552,4 @@ class _MusicDetailPageState extends CommonDynPageState<MusicDetailPage> {
),
);
}
Future<void> _searchMusic(MusicDetail item) async {
final res =
Platform.isAndroid &&
(await Utils.channel.invokeMethod<bool>('music', {
'title': item.musicTitle,
'artist': item.originArtist ?? item.originArtistList,
'album': item.album,
}) ??
false);
if (!res) {
Utils.copyText(item.musicTitle!);
}
}
}