Fix large cache size (#437)
* Add custom cache manager * Fix * Add cleanup * Remove prints for debugging * Remove unnecessary code * Change nr of max cache objects
This commit is contained in:
parent
eb3d09749f
commit
f72614afa7
8 changed files with 244 additions and 187 deletions
44
lib/cache_manager.dart
Normal file
44
lib/cache_manager.dart
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
class CustomCacheManager {
|
||||
static const key = 'libCachedImageData';
|
||||
static final _repo = CacheObjectProvider(databaseName: key);
|
||||
static final instance = CacheManager(
|
||||
Config(
|
||||
key,
|
||||
stalePeriod: const Duration(days: 30),
|
||||
maxNrOfCacheObjects: 10000,
|
||||
repo: _repo,
|
||||
),
|
||||
);
|
||||
|
||||
static Future<void> removeOrphanedCacheFiles() async {
|
||||
final tempDir = await getTemporaryDirectory();
|
||||
final cacheDir = Directory('${tempDir.path}/$key');
|
||||
|
||||
if (!await cacheDir.exists()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final allFiles = cacheDir.listSync(recursive: true).toList();
|
||||
|
||||
await _repo.open();
|
||||
final cachedObjects = await _repo.getAllObjects();
|
||||
final dbFiles = cachedObjects.map((e) => e.relativePath).toSet();
|
||||
|
||||
final orphanedFiles = allFiles.where((file) {
|
||||
final relativePath = file.path.split('$key/').last;
|
||||
return !dbFiles.contains(relativePath);
|
||||
}).toList();
|
||||
|
||||
final deletions = orphanedFiles.map((file) => file.delete()).toList();
|
||||
|
||||
try {
|
||||
await Future.wait(deletions);
|
||||
// ignore: empty_catches
|
||||
} catch (e) {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ import 'package:frosty/apis/bttv_api.dart';
|
|||
import 'package:frosty/apis/ffz_api.dart';
|
||||
import 'package:frosty/apis/seventv_api.dart';
|
||||
import 'package:frosty/apis/twitch_api.dart';
|
||||
import 'package:frosty/cache_manager.dart';
|
||||
import 'package:frosty/firebase_options.dart';
|
||||
import 'package:frosty/screens/home/home.dart';
|
||||
import 'package:frosty/screens/onboarding/onboarding_intro.dart';
|
||||
|
|
@ -26,6 +27,8 @@ import 'package:shared_preferences/shared_preferences.dart';
|
|||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
CustomCacheManager.removeOrphanedCacheFiles();
|
||||
|
||||
await Firebase.initializeApp(
|
||||
options: DefaultFirebaseOptions.currentPlatform,
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import 'package:flutter/gestures.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:frosty/cache_manager.dart';
|
||||
import 'package:frosty/constants.dart';
|
||||
import 'package:frosty/models/badges.dart';
|
||||
import 'package:frosty/models/emotes.dart';
|
||||
|
|
@ -199,6 +200,7 @@ class IRCMessage {
|
|||
preferBelow: false,
|
||||
message: 'Sent from ${sourceChannelUser.displayName}',
|
||||
child: CachedNetworkImage(
|
||||
cacheManager: CustomCacheManager.instance,
|
||||
imageUrl: sourceChannelUser.profileImageUrl,
|
||||
imageBuilder: (context, imageProvider) => Container(
|
||||
width: badgeSize,
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
|||
import 'package:firebase_performance/firebase_performance.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
|
||||
import 'package:flutter_mobx/flutter_mobx.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:frosty/cache_manager.dart';
|
||||
import 'package:frosty/screens/settings/stores/settings_store.dart';
|
||||
import 'package:frosty/screens/settings/widgets/release_notes.dart';
|
||||
import 'package:frosty/screens/settings/widgets/settings_list_switch.dart';
|
||||
|
|
@ -111,7 +111,8 @@ class _OtherSettingsState extends State<OtherSettings> {
|
|||
onTap: () async {
|
||||
HapticFeedback.mediumImpact();
|
||||
|
||||
await DefaultCacheManager().emptyCache();
|
||||
await CustomCacheManager.instance.emptyCache();
|
||||
await CustomCacheManager.removeOrphanedCacheFiles();
|
||||
|
||||
if (!context.mounted) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:frosty/cache_manager.dart';
|
||||
|
||||
/// A wrapper around [CachedNetworkImage] that adds custom defaults for Frosty.
|
||||
class FrostyCachedNetworkImage extends StatelessWidget {
|
||||
|
|
@ -43,6 +44,7 @@ class FrostyCachedNetworkImage extends StatelessWidget {
|
|||
fadeInCurve: Curves.easeOut,
|
||||
fadeOutCurve: Curves.easeIn,
|
||||
fit: fit,
|
||||
cacheManager: CustomCacheManager.instance,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:frosty/cache_manager.dart';
|
||||
import 'package:frosty/theme.dart';
|
||||
import 'package:photo_view/photo_view.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
|
@ -28,7 +29,10 @@ class _FrostyPhotoViewDialogState extends State<FrostyPhotoViewDialog> {
|
|||
: DismissDirection.none,
|
||||
onDismissed: Navigator.of(context).pop,
|
||||
child: PhotoView(
|
||||
imageProvider: CachedNetworkImageProvider(widget.imageUrl),
|
||||
imageProvider: CachedNetworkImageProvider(
|
||||
widget.imageUrl,
|
||||
cacheManager: CustomCacheManager.instance,
|
||||
),
|
||||
scaleStateChangedCallback: (value) =>
|
||||
setState(() => photoViewScaleState = value),
|
||||
backgroundDecoration:
|
||||
|
|
|
|||
|
|
@ -806,7 +806,7 @@ packages:
|
|||
source: hosted
|
||||
version: "1.1.0"
|
||||
path_provider:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: path_provider
|
||||
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
|
||||
|
|
|
|||
367
pubspec.yaml
367
pubspec.yaml
|
|
@ -20,7 +20,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
|||
version: 4.9.1+57
|
||||
|
||||
environment:
|
||||
sdk: ^3.5.0
|
||||
sdk: ^3.5.0
|
||||
|
||||
# Dependencies specify other packages that your package needs in order to work.
|
||||
# To automatically upgrade your package dependencies to the latest versions
|
||||
|
|
@ -29,216 +29,217 @@ environment:
|
|||
# the latest version available on pub.dev. To see which dependencies have newer
|
||||
# versions available, run `flutter pub outdated`.
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
json_annotation: ^4.6.0
|
||||
flutter:
|
||||
sdk: flutter
|
||||
json_annotation: ^4.6.0
|
||||
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.2
|
||||
http: ^1.1.0
|
||||
web_socket_channel: ^3.0.0
|
||||
flutter_secure_storage: ^9.0.0
|
||||
intl: ^0.20.1
|
||||
cached_network_image: ^3.1.0
|
||||
webview_flutter: ^4.2.0
|
||||
provider: ^6.0.1
|
||||
mobx: ^2.0.7+4
|
||||
flutter_mobx: ^2.0.0
|
||||
shared_preferences: ^2.0.8
|
||||
flutter_svg: ^2.0.5
|
||||
url_launcher: ^6.0.17
|
||||
package_info_plus: ^8.0.0
|
||||
collection: ^1.16.0
|
||||
flutter_cache_manager: ^3.3.0
|
||||
device_info_plus: ^11.1.1
|
||||
wakelock_plus: ^1.1.2
|
||||
simple_icons: ^14.6.1
|
||||
simple_pip_mode:
|
||||
git:
|
||||
url: https://github.com/tommyxchow/simple_pip_mode_flutter
|
||||
firebase_core: ^3.7.0
|
||||
firebase_crashlytics: ^4.1.4
|
||||
firebase_performance: ^0.10.0+9
|
||||
firebase_analytics: ^11.3.4
|
||||
advanced_in_app_review: ^1.1.3
|
||||
webview_flutter_android: ^4.0.2
|
||||
webview_flutter_wkwebview: ^3.4.3
|
||||
photo_view: ^0.15.0
|
||||
flutter_markdown: ^0.7.3+1
|
||||
flutter_colorpicker: ^1.1.0
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.2
|
||||
http: ^1.1.0
|
||||
web_socket_channel: ^3.0.0
|
||||
flutter_secure_storage: ^9.0.0
|
||||
intl: ^0.20.1
|
||||
cached_network_image: ^3.1.0
|
||||
webview_flutter: ^4.2.0
|
||||
provider: ^6.0.1
|
||||
mobx: ^2.0.7+4
|
||||
flutter_mobx: ^2.0.0
|
||||
shared_preferences: ^2.0.8
|
||||
flutter_svg: ^2.0.5
|
||||
url_launcher: ^6.0.17
|
||||
package_info_plus: ^8.0.0
|
||||
collection: ^1.16.0
|
||||
flutter_cache_manager: ^3.3.0
|
||||
device_info_plus: ^11.1.1
|
||||
wakelock_plus: ^1.1.2
|
||||
simple_icons: ^14.6.1
|
||||
simple_pip_mode:
|
||||
git:
|
||||
url: https://github.com/tommyxchow/simple_pip_mode_flutter
|
||||
firebase_core: ^3.7.0
|
||||
firebase_crashlytics: ^4.1.4
|
||||
firebase_performance: ^0.10.0+9
|
||||
firebase_analytics: ^11.3.4
|
||||
advanced_in_app_review: ^1.1.3
|
||||
webview_flutter_android: ^4.0.2
|
||||
webview_flutter_wkwebview: ^3.4.3
|
||||
photo_view: ^0.15.0
|
||||
flutter_markdown: ^0.7.3+1
|
||||
flutter_colorpicker: ^1.1.0
|
||||
path_provider: ^2.1.5
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
# The "flutter_lints" package below contains a set of recommended lints to
|
||||
# encourage good coding practices. The lint set provided by the package is
|
||||
# activated in the `analysis_options.yaml` file located at the root of your
|
||||
# package. See that file for information about deactivating specific lint
|
||||
# rules and activating additional ones.
|
||||
flutter_lints: ^5.0.0
|
||||
build_runner: ^2.1.1
|
||||
json_serializable: ^6.0.0
|
||||
mobx_codegen: ^2.0.6
|
||||
flutter_native_splash: ^2.0.5
|
||||
flutter_launcher_icons: ^0.14.1
|
||||
# The "flutter_lints" package below contains a set of recommended lints to
|
||||
# encourage good coding practices. The lint set provided by the package is
|
||||
# activated in the `analysis_options.yaml` file located at the root of your
|
||||
# package. See that file for information about deactivating specific lint
|
||||
# rules and activating additional ones.
|
||||
flutter_lints: ^5.0.0
|
||||
build_runner: ^2.1.1
|
||||
json_serializable: ^6.0.0
|
||||
mobx_codegen: ^2.0.6
|
||||
flutter_native_splash: ^2.0.5
|
||||
flutter_launcher_icons: ^0.14.1
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
||||
# The following section is specific to Flutter packages.
|
||||
flutter:
|
||||
# The following line ensures that the Material Icons font is
|
||||
# included with your application, so that you can use the icons in
|
||||
# the material Icons class.
|
||||
uses-material-design: true
|
||||
# The following line ensures that the Material Icons font is
|
||||
# included with your application, so that you can use the icons in
|
||||
# the material Icons class.
|
||||
uses-material-design: true
|
||||
|
||||
fonts:
|
||||
- family: Inter
|
||||
fonts:
|
||||
- asset: assets/fonts/Inter-Thin.ttf
|
||||
- asset: assets/fonts/Inter-ExtraLight.ttf
|
||||
- asset: assets/fonts/Inter-Light.ttf
|
||||
- asset: assets/fonts/Inter-Regular.ttf
|
||||
- asset: assets/fonts/Inter-Medium.ttf
|
||||
- asset: assets/fonts/Inter-SemiBold.ttf
|
||||
- asset: assets/fonts/Inter-Bold.ttf
|
||||
- asset: assets/fonts/Inter-ExtraBold.ttf
|
||||
- asset: assets/fonts/Inter-Black.ttf
|
||||
- asset: assets/fonts/Inter-ThinItalic.ttf
|
||||
- asset: assets/fonts/Inter-ExtraLightItalic.ttf
|
||||
- asset: assets/fonts/Inter-LightItalic.ttf
|
||||
- asset: assets/fonts/Inter-Italic.ttf
|
||||
- asset: assets/fonts/Inter-MediumItalic.ttf
|
||||
- asset: assets/fonts/Inter-SemiBoldItalic.ttf
|
||||
- asset: assets/fonts/Inter-BoldItalic.ttf
|
||||
- asset: assets/fonts/Inter-ExtraBoldItalic.ttf
|
||||
- asset: assets/fonts/Inter-BlackItalic.ttf
|
||||
fonts:
|
||||
- family: Inter
|
||||
fonts:
|
||||
- asset: assets/fonts/Inter-Thin.ttf
|
||||
- asset: assets/fonts/Inter-ExtraLight.ttf
|
||||
- asset: assets/fonts/Inter-Light.ttf
|
||||
- asset: assets/fonts/Inter-Regular.ttf
|
||||
- asset: assets/fonts/Inter-Medium.ttf
|
||||
- asset: assets/fonts/Inter-SemiBold.ttf
|
||||
- asset: assets/fonts/Inter-Bold.ttf
|
||||
- asset: assets/fonts/Inter-ExtraBold.ttf
|
||||
- asset: assets/fonts/Inter-Black.ttf
|
||||
- asset: assets/fonts/Inter-ThinItalic.ttf
|
||||
- asset: assets/fonts/Inter-ExtraLightItalic.ttf
|
||||
- asset: assets/fonts/Inter-LightItalic.ttf
|
||||
- asset: assets/fonts/Inter-Italic.ttf
|
||||
- asset: assets/fonts/Inter-MediumItalic.ttf
|
||||
- asset: assets/fonts/Inter-SemiBoldItalic.ttf
|
||||
- asset: assets/fonts/Inter-BoldItalic.ttf
|
||||
- asset: assets/fonts/Inter-ExtraBoldItalic.ttf
|
||||
- asset: assets/fonts/Inter-BlackItalic.ttf
|
||||
|
||||
# To add assets to your application, add an assets section, like this:
|
||||
# assets:
|
||||
# - images/a_dot_burr.jpeg
|
||||
# - images/a_dot_ham.jpeg
|
||||
# To add assets to your application, add an assets section, like this:
|
||||
# assets:
|
||||
# - images/a_dot_burr.jpeg
|
||||
# - images/a_dot_ham.jpeg
|
||||
|
||||
assets:
|
||||
- assets/icons/logo.svg
|
||||
- assets/fonts/
|
||||
- assets/release-notes.md
|
||||
assets:
|
||||
- assets/icons/logo.svg
|
||||
- assets/fonts/
|
||||
- assets/release-notes.md
|
||||
|
||||
# An image asset can refer to one or more resolution-specific "variants", see
|
||||
# https://flutter.dev/to/resolution-aware-images
|
||||
# An image asset can refer to one or more resolution-specific "variants", see
|
||||
# https://flutter.dev/to/resolution-aware-images
|
||||
|
||||
# For details regarding adding assets from package dependencies, see
|
||||
# https://flutter.dev/to/asset-from-package
|
||||
# For details regarding adding assets from package dependencies, see
|
||||
# https://flutter.dev/to/asset-from-package
|
||||
|
||||
# To add custom fonts to your application, add a fonts section here,
|
||||
# in this "flutter" section. Each entry in this list should have a
|
||||
# "family" key with the font family name, and a "fonts" key with a
|
||||
# list giving the asset and other descriptors for the font. For
|
||||
# example:
|
||||
# fonts:
|
||||
# - family: Schyler
|
||||
# fonts:
|
||||
# - asset: fonts/Schyler-Regular.ttf
|
||||
# - asset: fonts/Schyler-Italic.ttf
|
||||
# style: italic
|
||||
# - family: Trajan Pro
|
||||
# fonts:
|
||||
# - asset: fonts/TrajanPro.ttf
|
||||
# - asset: fonts/TrajanPro_Bold.ttf
|
||||
# weight: 700
|
||||
#
|
||||
# For details regarding fonts from package dependencies,
|
||||
# see https://flutter.dev/to/font-from-package
|
||||
# To add custom fonts to your application, add a fonts section here,
|
||||
# in this "flutter" section. Each entry in this list should have a
|
||||
# "family" key with the font family name, and a "fonts" key with a
|
||||
# list giving the asset and other descriptors for the font. For
|
||||
# example:
|
||||
# fonts:
|
||||
# - family: Schyler
|
||||
# fonts:
|
||||
# - asset: fonts/Schyler-Regular.ttf
|
||||
# - asset: fonts/Schyler-Italic.ttf
|
||||
# style: italic
|
||||
# - family: Trajan Pro
|
||||
# fonts:
|
||||
# - asset: fonts/TrajanPro.ttf
|
||||
# - asset: fonts/TrajanPro_Bold.ttf
|
||||
# weight: 700
|
||||
#
|
||||
# For details regarding fonts from package dependencies,
|
||||
# see https://flutter.dev/to/font-from-package
|
||||
|
||||
flutter_native_splash:
|
||||
# This package generates native code to customize Flutter's default white native splash screen
|
||||
# with background color and splash image.
|
||||
# Customize the parameters below, and run the following command in the terminal:
|
||||
# flutter pub run flutter_native_splash:create
|
||||
# To restore Flutter's default white splash screen, run the following command in the terminal:
|
||||
# flutter pub run flutter_native_splash:remove
|
||||
# This package generates native code to customize Flutter's default white native splash screen
|
||||
# with background color and splash image.
|
||||
# Customize the parameters below, and run the following command in the terminal:
|
||||
# flutter pub run flutter_native_splash:create
|
||||
# To restore Flutter's default white splash screen, run the following command in the terminal:
|
||||
# flutter pub run flutter_native_splash:remove
|
||||
|
||||
# color or background_image is the only required parameter. Use color to set the background
|
||||
# of your splash screen to a solid color. Use background_image to set the background of your
|
||||
# splash screen to a png image. This is useful for gradients. The image will be stretch to the
|
||||
# size of the app. Only one parameter can be used, color and background_image cannot both be set.
|
||||
# color: "#000000"
|
||||
background_image: "assets/icons/bg.png"
|
||||
# color or background_image is the only required parameter. Use color to set the background
|
||||
# of your splash screen to a solid color. Use background_image to set the background of your
|
||||
# splash screen to a png image. This is useful for gradients. The image will be stretch to the
|
||||
# size of the app. Only one parameter can be used, color and background_image cannot both be set.
|
||||
# color: "#000000"
|
||||
background_image: "assets/icons/bg.png"
|
||||
|
||||
# Optional parameters are listed below. To enable a parameter, uncomment the line by removing
|
||||
# the leading # character.
|
||||
# Optional parameters are listed below. To enable a parameter, uncomment the line by removing
|
||||
# the leading # character.
|
||||
|
||||
# The image parameter allows you to specify an image used in the splash screen. It must be a
|
||||
# png file and should be sized for 4x pixel density.
|
||||
image: assets/icons/logo.png
|
||||
# The image parameter allows you to specify an image used in the splash screen. It must be a
|
||||
# png file and should be sized for 4x pixel density.
|
||||
image: assets/icons/logo.png
|
||||
|
||||
# This property allows you to specify an image used as branding in the splash screen. It must be
|
||||
# a png file. Currently, it is only supported for Android and iOS.
|
||||
# branding: assets/dart.png
|
||||
# This property allows you to specify an image used as branding in the splash screen. It must be
|
||||
# a png file. Currently, it is only supported for Android and iOS.
|
||||
# branding: assets/dart.png
|
||||
|
||||
# Specify your branding image for dark mode.
|
||||
#branding_dark: assets/dart_dark.png
|
||||
# Specify your branding image for dark mode.
|
||||
#branding_dark: assets/dart_dark.png
|
||||
|
||||
# To position the branding image at the bottom of the screen you can use bottom, bottomRight,
|
||||
# and bottomLeft. The default values is bottom if not specified or specified something else.
|
||||
#
|
||||
# Make sure this content mode value should not be similar to android_gravity value and ios_content_mode
|
||||
# value.
|
||||
# branding_mode: bottom
|
||||
# To position the branding image at the bottom of the screen you can use bottom, bottomRight,
|
||||
# and bottomLeft. The default values is bottom if not specified or specified something else.
|
||||
#
|
||||
# Make sure this content mode value should not be similar to android_gravity value and ios_content_mode
|
||||
# value.
|
||||
# branding_mode: bottom
|
||||
|
||||
# The color_dark, background_image_dark, and image_dark are parameters that set the background
|
||||
# and image when the device is in dark mode. If they are not specified, the app will use the
|
||||
# parameters from above. If the image_dark parameter is specified, color_dark or
|
||||
# background_image_dark must be specified. color_dark and background_image_dark cannot both be
|
||||
# set.
|
||||
#color_dark: "#042a49"
|
||||
#background_image_dark: "assets/dark-background.png"
|
||||
#image_dark: assets/splash-invert.png
|
||||
# The color_dark, background_image_dark, and image_dark are parameters that set the background
|
||||
# and image when the device is in dark mode. If they are not specified, the app will use the
|
||||
# parameters from above. If the image_dark parameter is specified, color_dark or
|
||||
# background_image_dark must be specified. color_dark and background_image_dark cannot both be
|
||||
# set.
|
||||
#color_dark: "#042a49"
|
||||
#background_image_dark: "assets/dark-background.png"
|
||||
#image_dark: assets/splash-invert.png
|
||||
|
||||
# The android, ios and web parameters can be used to disable generating a splash screen on a given
|
||||
# platform.
|
||||
#android: false
|
||||
#ios: false
|
||||
#web: false
|
||||
# The android, ios and web parameters can be used to disable generating a splash screen on a given
|
||||
# platform.
|
||||
#android: false
|
||||
#ios: false
|
||||
#web: false
|
||||
|
||||
# The position of the splash image can be set with android_gravity, ios_content_mode, and
|
||||
# web_image_mode parameters. All default to center.
|
||||
#
|
||||
# android_gravity can be one of the following Android Gravity (see
|
||||
# https://developer.android.com/reference/android/view/Gravity): bottom, center,
|
||||
# center_horizontal, center_vertical, clip_horizontal, clip_vertical, end, fill, fill_horizontal,
|
||||
# fill_vertical, left, right, start, or top.
|
||||
#android_gravity: center
|
||||
#
|
||||
# ios_content_mode can be one of the following iOS UIView.ContentMode (see
|
||||
# https://developer.apple.com/documentation/uikit/uiview/contentmode): scaleToFill,
|
||||
# scaleAspectFit, scaleAspectFill, center, top, bottom, left, right, topLeft, topRight,
|
||||
# bottomLeft, or bottomRight.
|
||||
#ios_content_mode: center
|
||||
#
|
||||
# web_image_mode can be one of the following modes: center, contain, stretch, and cover.
|
||||
#web_image_mode: center
|
||||
# The position of the splash image can be set with android_gravity, ios_content_mode, and
|
||||
# web_image_mode parameters. All default to center.
|
||||
#
|
||||
# android_gravity can be one of the following Android Gravity (see
|
||||
# https://developer.android.com/reference/android/view/Gravity): bottom, center,
|
||||
# center_horizontal, center_vertical, clip_horizontal, clip_vertical, end, fill, fill_horizontal,
|
||||
# fill_vertical, left, right, start, or top.
|
||||
#android_gravity: center
|
||||
#
|
||||
# ios_content_mode can be one of the following iOS UIView.ContentMode (see
|
||||
# https://developer.apple.com/documentation/uikit/uiview/contentmode): scaleToFill,
|
||||
# scaleAspectFit, scaleAspectFill, center, top, bottom, left, right, topLeft, topRight,
|
||||
# bottomLeft, or bottomRight.
|
||||
#ios_content_mode: center
|
||||
#
|
||||
# web_image_mode can be one of the following modes: center, contain, stretch, and cover.
|
||||
#web_image_mode: center
|
||||
|
||||
# To hide the notification bar, use the fullscreen parameter. Has no affect in web since web
|
||||
# has no notification bar. Defaults to false.
|
||||
# NOTE: Unlike Android, iOS will not automatically show the notification bar when the app loads.
|
||||
# To show the notification bar, add the following code to your Flutter app:
|
||||
# WidgetsFlutterBinding.ensureInitialized();
|
||||
# SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom, SystemUiOverlay.top]);
|
||||
#fullscreen: true
|
||||
# To hide the notification bar, use the fullscreen parameter. Has no affect in web since web
|
||||
# has no notification bar. Defaults to false.
|
||||
# NOTE: Unlike Android, iOS will not automatically show the notification bar when the app loads.
|
||||
# To show the notification bar, add the following code to your Flutter app:
|
||||
# WidgetsFlutterBinding.ensureInitialized();
|
||||
# SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom, SystemUiOverlay.top]);
|
||||
#fullscreen: true
|
||||
|
||||
# If you have changed the name(s) of your info.plist file(s), you can specify the filename(s)
|
||||
# with the info_plist_files parameter. Remove only the # characters in the three lines below,
|
||||
# do not remove any spaces:
|
||||
#info_plist_files:
|
||||
# - 'ios/Runner/Info-Debug.plist'
|
||||
# - 'ios/Runner/Info-Release.plist'
|
||||
# If you have changed the name(s) of your info.plist file(s), you can specify the filename(s)
|
||||
# with the info_plist_files parameter. Remove only the # characters in the three lines below,
|
||||
# do not remove any spaces:
|
||||
#info_plist_files:
|
||||
# - 'ios/Runner/Info-Debug.plist'
|
||||
# - 'ios/Runner/Info-Release.plist'
|
||||
|
||||
flutter_launcher_icons:
|
||||
image_path_android: "assets/icons/icon_android.png"
|
||||
image_path_ios: "assets/icons/icon_ios.png"
|
||||
android: true
|
||||
ios: true
|
||||
remove_alpha_ios: true
|
||||
image_path_android: "assets/icons/icon_android.png"
|
||||
image_path_ios: "assets/icons/icon_ios.png"
|
||||
android: true
|
||||
ios: true
|
||||
remove_alpha_ios: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue