diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index 614eda7dd..a4bc55f2b 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -30,6 +30,12 @@ android {
versionName = flutter.versionName
}
+ packagingOptions {
+ jniLibs {
+ useLegacyPackaging = true
+ }
+ }
+
val keyProperties = Properties().also {
val properties = rootProject.file("key.properties")
if (properties.exists())
@@ -51,12 +57,12 @@ android {
all {
signingConfig = config ?: signingConfigs["debug"]
}
- release {
- proguardFiles(
- getDefaultProguardFile("proguard-android-optimize.txt"),
- "proguard-rules.pro"
- )
- }
+// release {
+// proguardFiles(
+// getDefaultProguardFile("proguard-android-optimize.txt"),
+// "proguard-rules.pro"
+// )
+// }
debug {
applicationIdSuffix = ".debug"
}
diff --git a/android/app/src/debug/res/values/string.xml b/android/app/src/debug/res/values/string.xml
new file mode 100644
index 000000000..2799c8ec0
--- /dev/null
+++ b/android/app/src/debug/res/values/string.xml
@@ -0,0 +1,3 @@
+
+ PiliPlus debug
+
\ No newline at end of file
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 635b4a17c..92f9565fe 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -36,11 +36,11 @@
diff --git a/android/app/src/main/res/values-v35/styles.xml b/android/app/src/main/res/values-v35/styles.xml
index bbb0e1f22..75d187d6b 100644
--- a/android/app/src/main/res/values-v35/styles.xml
+++ b/android/app/src/main/res/values-v35/styles.xml
@@ -1,6 +1,8 @@
-
+
\ No newline at end of file
diff --git a/android/app/src/main/res/values/string.xml b/android/app/src/main/res/values/string.xml
new file mode 100644
index 000000000..7827e9219
--- /dev/null
+++ b/android/app/src/main/res/values/string.xml
@@ -0,0 +1,3 @@
+
+ PiliPlus
+
\ No newline at end of file
diff --git a/lib/pages/common/slide/common_collapse_slide_page.dart b/lib/pages/common/slide/common_collapse_slide_page.dart
index 0554e54d0..46c027b9a 100644
--- a/lib/pages/common/slide/common_collapse_slide_page.dart
+++ b/lib/pages/common/slide/common_collapse_slide_page.dart
@@ -1,3 +1,5 @@
+import 'dart:io' show Platform;
+
import 'package:PiliPlus/pages/common/slide/common_slide_page.dart';
import 'package:flutter/material.dart';
@@ -16,24 +18,27 @@ abstract class CommonCollapseSlidePageState
}
void init() {
- WidgetsBinding.instance.addPostFrameCallback((_) {
- isInit = false;
- });
+ if (Platform.isAndroid) {
+ WidgetsBinding.instance.addPostFrameCallback((_) {
+ isInit = false;
+ });
+ }
}
@override
Widget build(BuildContext context) {
- Widget child = super.build(context);
- if (isInit) {
+ if (Platform.isAndroid) {
return Stack(
+ clipBehavior: Clip.none,
children: [
- const CustomScrollView(
- physics: NeverScrollableScrollPhysics(),
- ),
- child,
+ if (isInit)
+ const CustomScrollView(
+ physics: NeverScrollableScrollPhysics(),
+ ),
+ super.build(context),
],
);
}
- return child;
+ return super.build(context);
}
}
diff --git a/lib/pages/dynamics/widgets/vote.dart b/lib/pages/dynamics/widgets/vote.dart
index b9aa73f30..f6d0da015 100644
--- a/lib/pages/dynamics/widgets/vote.dart
+++ b/lib/pages/dynamics/widgets/vote.dart
@@ -62,7 +62,6 @@ class _VotePanelState extends State {
),
Flexible(
child: ListView.builder(
- key: const PageStorageKey('vote_opions'),
shrinkWrap: true,
itemCount: _voteInfo.options.length,
itemBuilder: (context, index) => _buildOptions(index),
diff --git a/lib/pages/episode_panel/view.dart b/lib/pages/episode_panel/view.dart
index 45f36027e..506b356b1 100644
--- a/lib/pages/episode_panel/view.dart
+++ b/lib/pages/episode_panel/view.dart
@@ -261,7 +261,6 @@ class _EpisodePanelState extends CommonCollapseSlidePageState {
final isCurrTab = tabIndex == widget.initialTabIndex;
return KeepAliveWrapper(
builder: (context) => ScrollablePositionedList.separated(
- key: PageStorageKey(tabIndex),
padding: EdgeInsets.only(
top: 7,
bottom: MediaQuery.paddingOf(context).bottom + 80,
diff --git a/lib/pages/pgc_review/child/view.dart b/lib/pages/pgc_review/child/view.dart
index 5236d1781..a89d300cd 100644
--- a/lib/pages/pgc_review/child/view.dart
+++ b/lib/pages/pgc_review/child/view.dart
@@ -56,7 +56,6 @@ class _PgcReviewChildPageState extends State
return refreshIndicator(
onRefresh: _controller.onRefresh,
child: CustomScrollView(
- key: PageStorageKey(_tag),
controller: _controller.scrollController,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
diff --git a/lib/pages/video/ai_conclusion/view.dart b/lib/pages/video/ai_conclusion/view.dart
index db6020449..3a93b72f6 100644
--- a/lib/pages/video/ai_conclusion/view.dart
+++ b/lib/pages/video/ai_conclusion/view.dart
@@ -61,7 +61,6 @@ class _AiDetailState extends CommonCollapseSlidePageState {
@override
Widget buildList(ThemeData theme) {
return CustomScrollView(
- key: const PageStorageKey('ai_detail'),
controller: _controller,
physics: const AlwaysScrollableScrollPhysics(),
slivers: [
diff --git a/lib/pages/video/introduction/pgc/widgets/intro_detail.dart b/lib/pages/video/introduction/pgc/widgets/intro_detail.dart
index 985d0218a..a3f3c023c 100644
--- a/lib/pages/video/introduction/pgc/widgets/intro_detail.dart
+++ b/lib/pages/video/introduction/pgc/widgets/intro_detail.dart
@@ -99,7 +99,6 @@ class _IntroDetailState extends CommonCollapseSlidePageState {
);
return SelectionArea(
child: ListView(
- key: const PageStorageKey('pgc_intro'),
controller: _controller,
physics: const AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.only(
diff --git a/lib/pages/video/introduction/ugc/widgets/page.dart b/lib/pages/video/introduction/ugc/widgets/page.dart
index 5db2baf5e..bc8fd6b85 100644
--- a/lib/pages/video/introduction/ugc/widgets/page.dart
+++ b/lib/pages/video/introduction/ugc/widgets/page.dart
@@ -136,7 +136,6 @@ class _PagesPanelState extends State {
SizedBox(
height: 35,
child: ListView.builder(
- key: PageStorageKey(hashCode),
controller: _scrollController,
scrollDirection: Axis.horizontal,
itemCount: pages.length,
diff --git a/lib/pages/video/medialist/view.dart b/lib/pages/video/medialist/view.dart
index e32292f63..4f13ae2e6 100644
--- a/lib/pages/video/medialist/view.dart
+++ b/lib/pages/video/medialist/view.dart
@@ -122,7 +122,6 @@ class _MediaListPanelState
() {
final showDelBtn = widget.onDelete != null && widget.mediaList.length > 1;
return ScrollablePositionedList.separated(
- key: const PageStorageKey('medialist'),
itemScrollController: _controller,
physics: const AlwaysScrollableScrollPhysics(),
itemCount: widget.mediaList.length,
diff --git a/lib/pages/video/post_panel/view.dart b/lib/pages/video/post_panel/view.dart
index 198d9ed83..33c6d3090 100644
--- a/lib/pages/video/post_panel/view.dart
+++ b/lib/pages/video/post_panel/view.dart
@@ -112,7 +112,6 @@ class _PostPanelState extends CommonCollapseSlidePageState {
clipBehavior: Clip.none,
children: [
SingleChildScrollView(
- key: const PageStorageKey('segment_list'),
controller: _controller,
physics: const AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.only(bottom: 88 + bottom),
diff --git a/lib/pages/video/view_point/view.dart b/lib/pages/video/view_point/view.dart
index 43b929bed..297b00eca 100644
--- a/lib/pages/video/view_point/view.dart
+++ b/lib/pages/video/view_point/view.dart
@@ -96,7 +96,6 @@ class _ViewPointsPageState
@override
Widget buildList(ThemeData theme) {
return ListView.builder(
- key: const PageStorageKey('viewpoint'),
controller: _controller,
physics: const AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.only(