mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-08 03:54:49 +08:00
@@ -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(
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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!);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user