enable Impeller rendering engine
This commit is contained in:
parent
969187444b
commit
c89441bb78
6 changed files with 14 additions and 14 deletions
9
.github/workflows/release.yml
vendored
9
.github/workflows/release.yml
vendored
|
@ -43,20 +43,15 @@ jobs:
|
||||||
# `KEY_JKS` should contain the result of:
|
# `KEY_JKS` should contain the result of:
|
||||||
# gpg -c --armor keystore.jks
|
# gpg -c --armor keystore.jks
|
||||||
# `KEY_JKS_PASSPHRASE` should contain the passphrase used for the command above
|
# `KEY_JKS_PASSPHRASE` should contain the passphrase used for the command above
|
||||||
# The SkSL bundle must be produced with the same Flutter engine as the one used to build the artifact
|
|
||||||
# flutter build <subcommand> --bundle-sksl-path shaders.sksl.json
|
|
||||||
# do not bundle shaders for izzy/libre flavours, to avoid crashes in some environments:
|
|
||||||
# cf https://github.com/deckerst/aves/issues/388
|
|
||||||
# cf https://github.com/deckerst/aves/issues/398
|
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.KEY_JKS }}" > release.keystore.asc
|
echo "${{ secrets.KEY_JKS }}" > release.keystore.asc
|
||||||
gpg -d --passphrase "${{ secrets.KEY_JKS_PASSPHRASE }}" --batch release.keystore.asc > $AVES_STORE_FILE
|
gpg -d --passphrase "${{ secrets.KEY_JKS_PASSPHRASE }}" --batch release.keystore.asc > $AVES_STORE_FILE
|
||||||
rm release.keystore.asc
|
rm release.keystore.asc
|
||||||
mkdir outputs
|
mkdir outputs
|
||||||
scripts/apply_flavor_play.sh
|
scripts/apply_flavor_play.sh
|
||||||
./flutterw build appbundle -t lib/main_play.dart --flavor play --bundle-sksl-path shaders.sksl.json
|
./flutterw build appbundle -t lib/main_play.dart --flavor play
|
||||||
cp build/app/outputs/bundle/playRelease/*.aab outputs
|
cp build/app/outputs/bundle/playRelease/*.aab outputs
|
||||||
./flutterw build apk -t lib/main_play.dart --flavor play --bundle-sksl-path shaders.sksl.json
|
./flutterw build apk -t lib/main_play.dart --flavor play
|
||||||
cp build/app/outputs/apk/play/release/*.apk outputs
|
cp build/app/outputs/apk/play/release/*.apk outputs
|
||||||
scripts/apply_flavor_izzy.sh
|
scripts/apply_flavor_izzy.sh
|
||||||
./flutterw build apk -t lib/main_izzy.dart --flavor izzy --split-per-abi
|
./flutterw build apk -t lib/main_izzy.dart --flavor izzy --split-per-abi
|
||||||
|
|
|
@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## <a id="unreleased"></a>[Unreleased]
|
## <a id="unreleased"></a>[Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- enable Impeller rendering engine
|
||||||
|
|
||||||
## <a id="v1.12.8"></a>[v1.12.8] - 2025-03-25
|
## <a id="v1.12.8"></a>[v1.12.8] - 2025-03-25
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
@ -335,6 +335,6 @@
|
||||||
-->
|
-->
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="io.flutter.embedding.android.EnableImpeller"
|
android:name="io.flutter.embedding.android.EnableImpeller"
|
||||||
android:value="false" />
|
android:value="true" />
|
||||||
</application>
|
</application>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:aves/model/settings/settings.dart';
|
import 'package:aves/model/settings/settings.dart';
|
||||||
|
@ -220,6 +221,7 @@ class AvesFloatingBar extends StatefulWidget {
|
||||||
class _AvesFloatingBarState extends State<AvesFloatingBar> with RouteAware {
|
class _AvesFloatingBarState extends State<AvesFloatingBar> with RouteAware {
|
||||||
// prevent expensive blurring when the current page is hidden
|
// prevent expensive blurring when the current page is hidden
|
||||||
final ValueNotifier<bool> _isBlurAllowedNotifier = ValueNotifier(true);
|
final ValueNotifier<bool> _isBlurAllowedNotifier = ValueNotifier(true);
|
||||||
|
Timer? _blurBlockTimer;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
|
@ -240,6 +242,8 @@ class _AvesFloatingBarState extends State<AvesFloatingBar> with RouteAware {
|
||||||
@override
|
@override
|
||||||
void didPopNext() {
|
void didPopNext() {
|
||||||
// post to prevent single frame flash during hero
|
// post to prevent single frame flash during hero
|
||||||
|
_blurBlockTimer?.cancel();
|
||||||
|
_blurBlockTimer = null;
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
_isBlurAllowedNotifier.value = true;
|
_isBlurAllowedNotifier.value = true;
|
||||||
|
@ -249,8 +253,9 @@ class _AvesFloatingBarState extends State<AvesFloatingBar> with RouteAware {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didPushNext() {
|
void didPushNext() {
|
||||||
// post to prevent single frame flash during hero
|
// delay blur disabling, otherwise visual artifacts appear during page transition with Impeller
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
_blurBlockTimer?.cancel();
|
||||||
|
_blurBlockTimer = Timer(ADurations.pageTransitionLoose, () {
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
_isBlurAllowedNotifier.value = false;
|
_isBlurAllowedNotifier.value = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,9 +159,6 @@ flutter:
|
||||||
################################################################################
|
################################################################################
|
||||||
# Test driver
|
# Test driver
|
||||||
|
|
||||||
# capture shaders (profile mode, real device only):
|
|
||||||
# % ./flutterw drive --flavor play -t test_driver/driver_shaders.dart --profile --cache-sksl --write-sksl-on-exit shaders.sksl.json
|
|
||||||
|
|
||||||
# generate screenshots (profile mode, specific collection):
|
# generate screenshots (profile mode, specific collection):
|
||||||
# % ./flutterw drive --flavor play -t test_driver/driver_screenshots.dart --profile
|
# % ./flutterw drive --flavor play -t test_driver/driver_screenshots.dart --profile
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue