M android/app/build.gradle => android/app/build.gradle +1 -1
@@ 32,7 32,7 @@ if (keystorePropertiesFile.exists()) {
}
android {
- compileSdkVersion 29
+ compileSdkVersion 31
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
M android/app/src/main/AndroidManifest.xml => android/app/src/main/AndroidManifest.xml +1 -1
@@ 9,7 9,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
- android:name="io.flutter.app.FlutterApplication"
+ android:name="${applicationName}"
android:label="Fluent Reader"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
M android/build.gradle => android/build.gradle +2 -2
@@ 1,12 1,12 @@
buildscript {
- ext.kotlin_version = '1.3.50'
+ ext.kotlin_version = '1.7.0'
repositories {
google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.0'
+ classpath 'com.android.tools.build:gradle:7.0.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
M android/gradle/wrapper/gradle-wrapper.properties => android/gradle/wrapper/gradle-wrapper.properties +1 -1
@@ 3,4 3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
M ios/Podfile => ios/Podfile +4 -0
@@ 37,5 37,9 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
+ target.build_configurations.each do |config|
+ config.build_settings['ENABLE_BITCODE'] = 'NO'
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
+ end
end
end
M ios/Podfile.lock => ios/Podfile.lock +23 -23
@@ 5,32 5,32 @@ PODS:
- FMDB/standard (2.7.5)
- package_info (0.0.1):
- Flutter
- - path_provider (0.0.1):
+ - path_provider_ios (0.0.1):
- Flutter
- share (0.0.1):
- Flutter
- - shared_preferences (0.0.1):
+ - shared_preferences_ios (0.0.1):
- Flutter
- sqflite (0.0.2):
- Flutter
- FMDB (>= 2.7.5)
- uni_links (0.0.1):
- Flutter
- - url_launcher (0.0.1):
+ - url_launcher_ios (0.0.1):
- Flutter
- - webview_flutter (0.0.1):
+ - webview_flutter_wkwebview (0.0.1):
- Flutter
DEPENDENCIES:
- Flutter (from `Flutter`)
- package_info (from `.symlinks/plugins/package_info/ios`)
- - path_provider (from `.symlinks/plugins/path_provider/ios`)
+ - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- share (from `.symlinks/plugins/share/ios`)
- - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
+ - shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
- uni_links (from `.symlinks/plugins/uni_links/ios`)
- - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
- - webview_flutter (from `.symlinks/plugins/webview_flutter/ios`)
+ - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
+ - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
SPEC REPOS:
trunk:
@@ 41,33 41,33 @@ EXTERNAL SOURCES:
:path: Flutter
package_info:
:path: ".symlinks/plugins/package_info/ios"
- path_provider:
- :path: ".symlinks/plugins/path_provider/ios"
+ path_provider_ios:
+ :path: ".symlinks/plugins/path_provider_ios/ios"
share:
:path: ".symlinks/plugins/share/ios"
- shared_preferences:
- :path: ".symlinks/plugins/shared_preferences/ios"
+ shared_preferences_ios:
+ :path: ".symlinks/plugins/shared_preferences_ios/ios"
sqflite:
:path: ".symlinks/plugins/sqflite/ios"
uni_links:
:path: ".symlinks/plugins/uni_links/ios"
- url_launcher:
- :path: ".symlinks/plugins/url_launcher/ios"
- webview_flutter:
- :path: ".symlinks/plugins/webview_flutter/ios"
+ url_launcher_ios:
+ :path: ".symlinks/plugins/url_launcher_ios/ios"
+ webview_flutter_wkwebview:
+ :path: ".symlinks/plugins/webview_flutter_wkwebview/ios"
SPEC CHECKSUMS:
- Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
+ Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
- path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
+ path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
share: 0b2c3e82132f5888bccca3351c504d0003b3b410
- shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
+ shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
- url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
- webview_flutter: 3603125dfd3bcbc9d8d418c3f80aeecf331c068b
+ url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
+ webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f
-PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
+PODFILE CHECKSUM: c228b831dc9a93a7cc7fac97cfb31e9d63a09fc8
-COCOAPODS: 1.10.1
+COCOAPODS: 1.11.3
M ios/Runner.xcodeproj/project.pbxproj => ios/Runner.xcodeproj/project.pbxproj +50 -38
@@ 9,8 9,8 @@
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
+ 69102B74C3FB3851516028E7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F8E1696BEF66D76ADCCCFC5 /* Pods_Runner.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
- 964F0316F934C372F9A289DD /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABF26D092DCFA7AFECAE1958 /* Pods_Runner.framework */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
@@ 30,6 30,7 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 0F8E1696BEF66D76ADCCCFC5 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
324ACECE25C909AD00CD3591 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
@@ 37,11 38,11 @@
3271990C25BBF9C8008EA00E /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
32AC73DE263AED42001F500B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
- 40360520B75D3E668845C254 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
- 6462689146C9FF38DFEA397D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
+ 41C31CD68862869459844070 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
+ 92992B7F89A00C3FEAF362EE /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ 49,8 50,11 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
- ABF26D092DCFA7AFECAE1958 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F01A29D929A45761F4F09D5C /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
+ E30184022867BA2B005DCAE6 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
+ E30184032867BA70005DCAE6 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
+ E30184042867BA7D005DCAE6 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
+ E30184052867BAB1005DCAE6 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
+ FA1C5CF9893C1976B07DEA5C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ 58,7 62,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 964F0316F934C372F9A289DD /* Pods_Runner.framework in Frameworks */,
+ 69102B74C3FB3851516028E7 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ 68,9 72,9 @@
84F9BE3D376DA5597C2A8714 /* Pods */ = {
isa = PBXGroup;
children = (
- 6462689146C9FF38DFEA397D /* Pods-Runner.debug.xcconfig */,
- F01A29D929A45761F4F09D5C /* Pods-Runner.release.xcconfig */,
- 40360520B75D3E668845C254 /* Pods-Runner.profile.xcconfig */,
+ 92992B7F89A00C3FEAF362EE /* Pods-Runner.debug.xcconfig */,
+ 41C31CD68862869459844070 /* Pods-Runner.release.xcconfig */,
+ FA1C5CF9893C1976B07DEA5C /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@@ 93,7 97,7 @@
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
84F9BE3D376DA5597C2A8714 /* Pods */,
- C460029D548F8C8E174E1334 /* Frameworks */,
+ AF41901B4D172011464D7F15 /* Frameworks */,
);
sourceTree = "<group>";
};
@@ 121,10 125,10 @@
path = Runner;
sourceTree = "<group>";
};
- C460029D548F8C8E174E1334 /* Frameworks */ = {
+ AF41901B4D172011464D7F15 /* Frameworks */ = {
isa = PBXGroup;
children = (
- ABF26D092DCFA7AFECAE1958 /* Pods_Runner.framework */,
+ 0F8E1696BEF66D76ADCCCFC5 /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ 136,14 140,14 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
- FB456ADB33087A52E724411C /* [CP] Check Pods Manifest.lock */,
+ 0E377F3B35F2F701FC4437F8 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
- E2146C78C0EA89D54DE23218 /* [CP] Embed Pods Frameworks */,
+ EDF7AD31FEF5B9471435A47E /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ 160,7 164,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1020;
+ LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ 179,6 183,10 @@
"zh-Hans",
es,
de,
+ fr,
+ hr,
+ "pt-BR",
+ uk,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
@@ 205,6 213,28 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 0E377F3B35F2F701FC4437F8 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ 233,7 263,7 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
- E2146C78C0EA89D54DE23218 /* [CP] Embed Pods Frameworks */ = {
+ EDF7AD31FEF5B9471435A47E /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ 250,28 280,6 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- FB456ADB33087A52E724411C /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
- };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ 302,6 310,10 @@
3271990C25BBF9C8008EA00E /* zh-Hans */,
324ACECE25C909AD00CD3591 /* es */,
32AC73DE263AED42001F500B /* de */,
+ E30184022867BA2B005DCAE6 /* fr */,
+ E30184032867BA70005DCAE6 /* hr */,
+ E30184042867BA7D005DCAE6 /* pt-BR */,
+ E30184052867BAB1005DCAE6 /* uk */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
M ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme => ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +1 -1
@@ 1,6 1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1020"
+ LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
M ios/Runner/Info.plist => ios/Runner/Info.plist +2 -0
@@ 63,5 63,7 @@
<false/>
<key>io.flutter.embedded_views_preview</key>
<true/>
+ <key>CADisableMinimumFrameDurationOnPhone</key>
+ <true/>
</dict>
</plist>
A ios/Runner/fr.lproj/LaunchScreen.strings => ios/Runner/fr.lproj/LaunchScreen.strings +1 -0
A ios/Runner/hr.lproj/LaunchScreen.strings => ios/Runner/hr.lproj/LaunchScreen.strings +1 -0
A ios/Runner/pt-BR.lproj/LaunchScreen.strings => ios/Runner/pt-BR.lproj/LaunchScreen.strings +1 -0
A ios/Runner/uk.lproj/LaunchScreen.strings => ios/Runner/uk.lproj/LaunchScreen.strings +1 -0
M lib/components/cupertino_toolbar.dart => lib/components/cupertino_toolbar.dart +0 -1
@@ 7,7 7,6 @@
import 'package:fluent_reader_lite/utils/colors.dart';
import 'package:fluent_reader_lite/utils/global.dart';
import 'package:flutter/cupertino.dart';
-import 'package:flutter/widgets.dart';
/// Display a persistent bottom iOS styled toolbar for Cupertino theme
///
A lib/l10n/intl_fr.arb => lib/l10n/intl_fr.arb +98 -0
@@ 0,0 1,98 @@
+{
+ "all": "Tous les articles",
+ "unread": "Non lu(s)",
+ "starred": "Favoris",
+ "allArticles": "Tous les articles",
+ "allSubscriptions": "Tous vos abonnements",
+ "filter": "filtres",
+ "feed": "Feed",
+ "subscriptions": "Abonnements",
+ "groups": "Groupes",
+ "settings": "Paramètres",
+ "service": "Service",
+ "preferences": "Préférences",
+ "about": "A propos",
+ "theme": "Thème",
+ "followSystem": "Follow system",
+ "light": "Mode jour",
+ "dark": "Mode nuit",
+ "language": "Langue",
+ "markRead": "Marquer comme lu",
+ "markUnread": "Marquer comme non lu",
+ "markAll": "Tout marquer en lu",
+ "markAbove": "Marquer ci-dessus comme lu",
+ "markBelow": "Marquer ci-dessous comme lu",
+ "daysAgo": "{days,plural, =1{Over 1 day ago}other{Over {days} days ago}}",
+ "star": "Mettre en favoris",
+ "unstar": "Enlever des favoris",
+ "share": "Partager",
+ "cancel": "Annuler",
+ "close": "Fermer",
+ "save": "Sauvegarder",
+ "reading": "Lus",
+ "account": "Compte",
+ "app": "App",
+ "general": "General",
+ "version": "Version",
+ "openSource": "Un projet open source",
+ "feedback": "Feedback",
+ "showThumb": "Voir la miniature",
+ "showSnippet": "Voir un extrait",
+ "dimRead": "Dim read articles",
+ "gestures": "Gestes",
+ "swipeLeft": "Glisser à gauche",
+ "swipeRight": "Glisser à droite",
+ "toggleRead": "Toggle read",
+ "toggleStar": "Toggle star",
+ "openMenu": "Ouvrir le menu",
+ "openExternal": "Ouvrir dans un nouvel onglet",
+ "fontSize": "Taille de police",
+ "edit": "Editer",
+ "name": "Nom",
+ "icon": "Icon",
+ "openTarget": "Default open target",
+ "rssText": "Rss texte en entier",
+ "loadWebpage": "Charger la page web",
+ "loadFull": "Charger tout le contenu",
+ "invalidValue": "Vaeurs invalides",
+ "unreadOnly": "Non lus uniquement",
+ "starredOnly": "Favoris uniquement",
+ "search": "Recherche",
+ "editKeyword": "Editer le clavier",
+ "clearSearch": "Nettoyer les recherches",
+ "storage": "Stockage",
+ "clearCache": "Vider le cache",
+ "autoDelete": "Automatiquement supprimer les items",
+ "sync": "Synchroniser",
+ "syncOnStart": "Synchroniser au démarrage",
+ "inAppBrowser": "Navigateur intégré",
+ "lastSyncSuccess": "Dernière synchronisation réussie",
+ "lastSyncFailure": "La dernière synchronisation a échoué",
+ "welcome": "Bienvenue",
+ "credentials": "Credentials",
+ "endpoint": "Endpoint",
+ "username": "Pseudo",
+ "password": "Mot de passe",
+ "fetchLimit": "Limite de récupération",
+ "enter": "Requis",
+ "entered": "Entrer",
+ "serviceFailure": "Impossible de se connecter au service.",
+ "serviceFailureHint": "Veuillez vérifier la configuration du service ou l'état du réseau.",
+ "logOut": "Se deconnecter",
+ "logOutWarning": "Toutes les informations stockées sur votre téléphone vont être supprimées, êtes vous sure ?",
+ "confirm": "Confirmer",
+ "allLoaded": "Tout a été chargé",
+ "removeAd": "Supprimer les pubs",
+ "getApiKey": "Récupérer l'id et la clé de l'api",
+ "getApiKeyHint": "In \"Préférences\" > \"Développeur\"",
+ "prev": "Précédent",
+ "next": "Suivant",
+ "wentWrong": "Quelque chose s'est mal passé.",
+ "retry": "Réessayer",
+ "copy": "Copier",
+ "errorLog": "Journal des erreurs",
+ "unreadSourceTip": "Vous pouvez appuyer longuement sur le titre de cette page pour basculer entre tous les abonnements et les abonnements non lus",
+ "uncategorized": "Non classé(s)",
+ "showUncategorized": "Voir les non classé(s)",
+ "serviceExists": "Un service existe déjà. Veuillez vous déconnecter avant d'importer."
+ }
R lib/l10n/intl_ptBR.arb => lib/l10n/intl_pt.arb +0 -0
A lib/l10n/intl_uk.arb => lib/l10n/intl_uk.arb +98 -0
@@ 0,0 1,98 @@
+{
+ "all": "Усі статті",
+ "unread": "Непрочитані",
+ "starred": "Обране",
+ "allArticles": "Усі статті",
+ "allSubscriptions": "Усі підписки",
+ "filter": "Фільтр",
+ "feed": "Стрічка",
+ "subscriptions": "Підписки",
+ "groups": "Групи",
+ "settings": "Налаштування",
+ "service": "Сервіс",
+ "preferences": "Параметри",
+ "about": "Про додаток",
+ "theme": "Тема",
+ "followSystem": "Слідувати системі",
+ "light": "Світлий режим",
+ "dark": "Темний режим",
+ "language": "Мова",
+ "markRead": "Позначити як прочитане",
+ "markUnread": "Позначити як непрочитане",
+ "markAll": "Позначити все як прочитане",
+ "markAbove": "Позначити вище як прочитане",
+ "markBelow": "Позначити нижче як прочитане",
+ "daysAgo": "{days,plural, =1{Більше 1 дня тому}other{Понад {days} дні/-ів тому}}",
+ "star": "Додати в обране",
+ "unstar": "Видалити з обраних",
+ "share": "Поділитися",
+ "cancel": "Скасувати",
+ "close": "Закрити",
+ "save": "Зберегти",
+ "reading": "Читання",
+ "account": "Персональний аккаунт",
+ "app": "Додаток",
+ "general": "Загальні",
+ "version": "Версія",
+ "openSource": "Проект з відкритим кодом",
+ "feedback": "Зворотній зв'язок",
+ "showThumb": "Показати ескіз",
+ "showSnippet": "Показати фрагмент",
+ "dimRead": "Затінювати прочитанні статті",
+ "gestures": "Жести",
+ "swipeLeft": "Проведіть пальцем ліворуч",
+ "swipeRight": "Проведіть пальцем праворуч",
+ "toggleRead": "Змінити прочитане / непрочитане",
+ "toggleStar": "Змінити улюблене",
+ "openMenu": "Відкрити меню",
+ "openExternal": "Відкрити зовні",
+ "fontSize": "Розмір шрифту",
+ "edit": "Редагувати",
+ "name": "Назва",
+ "icon": "Значок",
+ "openTarget": "Режим відкриття за замовчуванням",
+ "rssText": "Повний текст RSS",
+ "loadWebpage": "Завантажити веб-сторінку",
+ "loadFull": "Завантажити повний вміст",
+ "invalidValue": "Недійсне значення",
+ "unreadOnly": "Лише непрочитане",
+ "starredOnly": "Тільки улюблені",
+ "search": "Пошук",
+ "editKeyword": "Редагувати ключове слово",
+ "clearSearch": "Очистити пошук",
+ "storage": "Місце зберігання",
+ "clearCache": "Очистити кеш",
+ "autoDelete": "Автоматичне видалення елементів",
+ "sync": "Синхронізувати",
+ "syncOnStart": "Синхронізувати на старті",
+ "inAppBrowser": "Вбудований браузер",
+ "lastSyncSuccess": "Остання успішна синхронізація о",
+ "lastSyncFailure": "Остання неуспішна синхронізація о",
+ "welcome": "Ласкаво просимо",
+ "credentials": "Облікові дані",
+ "endpoint": "Кінцева точка",
+ "username": "Ім'я користувача",
+ "password": "Пароль",
+ "fetchLimit": "Ліміт запиту",
+ "enter": "Ввести",
+ "entered": "Введено",
+ "serviceFailure": "Не вдається підключитися до служби",
+ "serviceFailureHint": "Перевірте налаштування служби або стан мережі.",
+ "logOut": "Вийти",
+ "logOutWarning": "Усі локальні дані будуть видалені. Ви впевнені?",
+ "confirm": "Підтвердити",
+ "allLoaded": "Все завантажено",
+ "removeAd": "Вилучити рекламу",
+ "getApiKey": "Отримати ідентифікатор та ключ API",
+ "getApiKeyHint": "В \"Preferences\" > \"Developer\"",
+ "prev": "Попередній",
+ "next": "Наступний",
+ "wentWrong": "Щось пішло не так.",
+ "retry": "Повторити спробу",
+ "copy": "Копіювати",
+ "errorLog": "Журнал помилок",
+ "unreadSourceTip": "Ви можете довго натискати на заголовок цієї сторінки, щоб перемикатися між усіма та непрочитаними підписками.",
+ "uncategorized": "Без категорії",
+ "showUncategorized": "Показати без категорії",
+ "serviceExists": "Служба вже існує. Будь ласка, вийдіть з системи перед імпортом."
+ }<
\ No newline at end of file
M lib/main.dart => lib/main.dart +18 -9
@@ 42,8 42,9 @@ void main() async {
SystemChannels.lifecycle.setMessageHandler((msg) {
if (msg == AppLifecycleState.resumed.toString()) {
if (Global.server != null) Global.server.restart();
- if (Global.globalModel.syncOnStart
- && DateTime.now().difference(Global.syncModel.lastSynced).inMinutes >= 10) {
+ if (Global.globalModel.syncOnStart &&
+ DateTime.now().difference(Global.syncModel.lastSynced).inMinutes >=
+ 10) {
Global.syncModel.syncWithService();
}
}
@@ 67,7 68,8 @@ class MyApp extends StatelessWidget {
"/settings/service/inoreader": (context) => InoreaderPage(),
"/settings/service/greader": (context) => GReaderPage(),
"/settings/service": (context) {
- var serviceType = SyncService.values[Store.sp.getInt(StoreKeys.SYNC_SERVICE) ?? 0];
+ var serviceType =
+ SyncService.values[Store.sp.getInt(StoreKeys.SYNC_SERVICE) ?? 0];
switch (serviceType) {
case SyncService.None:
break;
@@ 114,12 116,19 @@ class MyApp extends StatelessWidget {
const Locale("en"),
const Locale("es"),
const Locale("zh"),
+ const Locale("fr"),
+ const Locale("uk"),
+ const Locale("hr"),
+ const Locale("pt"),
],
localeResolutionCallback: (_locale, supportedLocales) {
_locale = Locale(_locale.languageCode);
- if (globalModel.locale != null) return globalModel.locale;
- else if (supportedLocales.contains(_locale)) return _locale;
- else return Locale("en");
+ if (globalModel.locale != null)
+ return globalModel.locale;
+ else if (supportedLocales.contains(_locale))
+ return _locale;
+ else
+ return Locale("en");
},
theme: CupertinoThemeData(
primaryColor: CupertinoColors.systemBlue,
@@ 133,9 142,9 @@ class MyApp extends StatelessWidget {
final mediaQueryData = MediaQuery.of(context);
if (Global.globalModel.textScale == null) return child;
return MediaQuery(
- data: mediaQueryData.copyWith(textScaleFactor: Global.globalModel.textScale),
- child: child
- );
+ data: mediaQueryData.copyWith(
+ textScaleFactor: Global.globalModel.textScale),
+ child: child);
},
),
),
M lib/pages/settings/general_page.dart => lib/pages/settings/general_page.dart +143 -126
@@ 4,7 4,6 @@ import 'package:fluent_reader_lite/generated/l10n.dart';
import 'package:fluent_reader_lite/models/global_model.dart';
import 'package:fluent_reader_lite/utils/colors.dart';
import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
@@ 19,137 18,155 @@ class _GeneralPageState extends State<GeneralPage> {
double textScale;
void _clearCache() async {
- setState(() { _clearingCache = true; });
+ setState(() {
+ _clearingCache = true;
+ });
await DefaultCacheManager().emptyCache();
if (!mounted) return;
- setState(() { _clearingCache = false; });
+ setState(() {
+ _clearingCache = false;
+ });
}
@override
Widget build(BuildContext context) => CupertinoPageScaffold(
- backgroundColor: MyColors.background,
- navigationBar: CupertinoNavigationBar(
- middle: Text(S.of(context).general),
- ),
- child: Consumer<GlobalModel>(
- builder: (context, globalModel, child) {
- final useSystemTextScale = globalModel.textScale == null;
- final textScaleItems = ListTileGroup([
- MyListTile(
- title: Text(S.of(context).followSystem),
- trailing: CupertinoSwitch(
- value: useSystemTextScale,
- onChanged: (v) {
- textScale = null;
- globalModel.textScale = v ? null : 1;
+ backgroundColor: MyColors.background,
+ navigationBar: CupertinoNavigationBar(
+ middle: Text(S.of(context).general),
+ ),
+ child: Consumer<GlobalModel>(
+ builder: (context, globalModel, child) {
+ final useSystemTextScale = globalModel.textScale == null;
+ final textScaleItems = ListTileGroup([
+ MyListTile(
+ title: Text(S.of(context).followSystem),
+ trailing: CupertinoSwitch(
+ value: useSystemTextScale,
+ onChanged: (v) {
+ textScale = null;
+ globalModel.textScale = v ? null : 1;
+ },
+ ),
+ trailingChevron: false,
+ withDivider: !useSystemTextScale,
+ ),
+ if (!useSystemTextScale)
+ MyListTile(
+ title: Expanded(
+ child: CupertinoSlider(
+ min: 0.5,
+ max: 1.5,
+ divisions: 8,
+ value: textScale ?? globalModel.textScale,
+ onChanged: (v) {
+ setState(() {
+ textScale = v;
+ });
+ },
+ onChangeEnd: (v) {
+ textScale = null;
+ globalModel.textScale = v;
+ },
+ )),
+ trailingChevron: false,
+ withDivider: false,
+ ),
+ ], title: S.of(context).fontSize);
+ final syncItems = ListTileGroup([
+ MyListTile(
+ title: Text(S.of(context).syncOnStart),
+ trailing: CupertinoSwitch(
+ value: globalModel.syncOnStart,
+ onChanged: (v) {
+ globalModel.syncOnStart = v;
+ setState(() {});
+ },
+ ),
+ trailingChevron: false,
+ ),
+ MyListTile(
+ title: Text(S.of(context).inAppBrowser),
+ trailing: CupertinoSwitch(
+ value: globalModel.inAppBrowser,
+ onChanged: (v) {
+ globalModel.inAppBrowser = v;
+ setState(() {});
+ },
+ ),
+ trailingChevron: false,
+ withDivider: false,
+ ),
+ ], title: S.of(context).preferences);
+ final storageItems = ListTileGroup([
+ MyListTile(
+ title: Text(S.of(context).clearCache),
+ onTap: _clearingCache ? null : _clearCache,
+ trailing: _clearingCache ? CupertinoActivityIndicator() : null,
+ trailingChevron: !_clearingCache,
+ ),
+ MyListTile(
+ title: Text(S.of(context).autoDelete),
+ trailing:
+ Text(S.of(context).daysAgo(globalModel.keepItemsDays)),
+ trailingChevron: false,
+ withDivider: false,
+ ),
+ MyListTile(
+ title: Expanded(
+ child: CupertinoSlider(
+ min: 1,
+ max: 4,
+ divisions: 3,
+ value: (globalModel.keepItemsDays ~/ 7).toDouble(),
+ onChanged: (v) {
+ globalModel.keepItemsDays = (v * 7).toInt();
+ setState(() {});
+ },
+ )),
+ trailingChevron: false,
+ withDivider: false,
+ ),
+ ], title: S.of(context).storage);
+ final themeItems = ListTileGroup.fromOptions(
+ [
+ Tuple2(S.of(context).followSystem, ThemeSetting.Default),
+ Tuple2(S.of(context).light, ThemeSetting.Light),
+ Tuple2(S.of(context).dark, ThemeSetting.Dark),
+ ],
+ globalModel.theme,
+ (t) {
+ globalModel.theme = t;
},
- ),
- trailingChevron: false,
- withDivider: !useSystemTextScale,
- ),
- if (!useSystemTextScale) MyListTile(
- title: Expanded(child: CupertinoSlider(
- min: 0.5,
- max: 1.5,
- divisions: 8,
- value: textScale ?? globalModel.textScale,
- onChanged: (v) {
- setState(() { textScale = v; });
+ title: S.of(context).theme,
+ );
+ final localeItems = ListTileGroup.fromOptions(
+ [
+ Tuple2(S.of(context).followSystem, null),
+ const Tuple2("Deutsch", Locale("de")),
+ const Tuple2("English", Locale("en")),
+ const Tuple2("Español", Locale("es")),
+ const Tuple2("Français", Locale("fr")),
+ const Tuple2("hrvatski", Locale("hr")),
+ const Tuple2("Português do Brasil", Locale("pt")),
+ const Tuple2("Українська", Locale("uk")),
+ const Tuple2("中文(简体)", Locale("zh")),
+ ],
+ globalModel.locale,
+ (l) {
+ globalModel.locale = l;
},
- onChangeEnd: (v) {
- textScale = null;
- globalModel.textScale = v;
- },
- )),
- trailingChevron: false,
- withDivider: false,
- ),
- ], title: S.of(context).fontSize);
- final syncItems = ListTileGroup([
- MyListTile(
- title: Text(S.of(context).syncOnStart),
- trailing: CupertinoSwitch(
- value: globalModel.syncOnStart,
- onChanged: (v) {
- globalModel.syncOnStart = v;
- setState(() {});
- },
- ),
- trailingChevron: false,
- ),
- MyListTile(
- title: Text(S.of(context).inAppBrowser),
- trailing: CupertinoSwitch(
- value: globalModel.inAppBrowser,
- onChanged: (v) {
- globalModel.inAppBrowser = v;
- setState(() {});
- },
- ),
- trailingChevron: false,
- withDivider: false,
- ),
- ], title: S.of(context).preferences);
- final storageItems = ListTileGroup([
- MyListTile(
- title: Text(S.of(context).clearCache),
- onTap: _clearingCache ? null : _clearCache,
- trailing: _clearingCache ? CupertinoActivityIndicator() : null,
- trailingChevron: !_clearingCache,
- ),
- MyListTile(
- title: Text(S.of(context).autoDelete),
- trailing: Text(S.of(context).daysAgo(globalModel.keepItemsDays)),
- trailingChevron: false,
- withDivider: false,
- ),
- MyListTile(
- title: Expanded(child: CupertinoSlider(
- min: 1,
- max: 4,
- divisions: 3,
- value: (globalModel.keepItemsDays ~/ 7).toDouble(),
- onChanged: (v) {
- globalModel.keepItemsDays = (v * 7).toInt();
- setState(() { });
- },
- )),
- trailingChevron: false,
- withDivider: false,
- ),
- ], title: S.of(context).storage);
- final themeItems = ListTileGroup.fromOptions(
- [
- Tuple2(S.of(context).followSystem, ThemeSetting.Default),
- Tuple2(S.of(context).light, ThemeSetting.Light),
- Tuple2(S.of(context).dark, ThemeSetting.Dark),
- ],
- globalModel.theme,
- (t) { globalModel.theme = t; },
- title: S.of(context).theme,
- );
- final localeItems = ListTileGroup.fromOptions(
- [
- Tuple2(S.of(context).followSystem, null),
- const Tuple2("Deutsch", Locale("de")),
- const Tuple2("English", Locale("en")),
- const Tuple2("Español", Locale("es")),
- const Tuple2("中文(简体)", Locale("zh")),
- ],
- globalModel.locale,
- (l) { globalModel.locale = l; },
- title: S.of(context).language,
- );
- return ListView(
- children: [
- syncItems,
- textScaleItems,
- storageItems,
- themeItems,
- localeItems,
- ],
- );
- },
- ),
- );
+ title: S.of(context).language,
+ );
+ return ListView(
+ children: [
+ syncItems,
+ textScaleItems,
+ storageItems,
+ themeItems,
+ localeItems,
+ ],
+ );
+ },
+ ),
+ );
}
M lib/pages/settings/source_edit_page.dart => lib/pages/settings/source_edit_page.dart +0 -1
@@ 8,7 8,6 @@ import 'package:fluent_reader_lite/utils/colors.dart';
import 'package:fluent_reader_lite/utils/global.dart';
import 'package:fluent_reader_lite/utils/utils.dart';
import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
M lib/utils/utils.dart => lib/utils/utils.dart +0 -1
@@ 1,6 1,5 @@
import 'package:fluent_reader_lite/generated/l10n.dart';
import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:lpinyin/lpinyin.dart';
import 'package:url_launcher/url_launcher.dart';
M pubspec.lock => pubspec.lock +153 -62
@@ 7,7 7,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
- version: "2.6.1"
+ version: "2.8.2"
auth_header:
dependency: transitive
description:
@@ 28,21 28,35 @@ packages:
name: cached_network_image
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.0"
+ version: "3.2.1"
+ cached_network_image_platform_interface:
+ dependency: transitive
+ description:
+ name: cached_network_image_platform_interface
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.0.0"
+ cached_network_image_web:
+ dependency: transitive
+ description:
+ name: cached_network_image_web
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.0.1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.0"
+ version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
- version: "1.2.0"
+ version: "1.3.1"
clock:
dependency: transitive
description:
@@ 56,49 70,49 @@ packages:
name: collection
url: "https://pub.dartlang.org"
source: hosted
- version: "1.15.0"
+ version: "1.16.0"
crypto:
dependency: "direct main"
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.1"
+ version: "3.0.2"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
- version: "0.17.0"
+ version: "0.17.2"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.3"
+ version: "1.0.5"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
- version: "1.2.0"
+ version: "1.3.0"
ffi:
dependency: transitive
description:
name: ffi
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.0"
+ version: "2.0.1"
file:
dependency: transitive
description:
name: file
url: "https://pub.dartlang.org"
source: hosted
- version: "6.1.0"
+ version: "6.1.2"
flutter:
dependency: "direct main"
description: flutter
@@ 110,14 124,14 @@ packages:
name: flutter_blurhash
url: "https://pub.dartlang.org"
source: hosted
- version: "0.6.0"
+ version: "0.7.0"
flutter_cache_manager:
dependency: "direct main"
description:
name: flutter_cache_manager
url: "https://pub.dartlang.org"
source: hosted
- version: "3.1.2"
+ version: "3.3.0"
flutter_localizations:
dependency: "direct main"
description: flutter
@@ 146,14 160,14 @@ packages:
name: http
url: "https://pub.dartlang.org"
source: hosted
- version: "0.13.3"
+ version: "0.13.4"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
- version: "4.0.0"
+ version: "4.0.1"
http_server:
dependency: transitive
description:
@@ 174,7 188,7 @@ packages:
name: jaguar
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.11"
+ version: "3.1.3"
jaguar_common:
dependency: transitive
description:
@@ 195,14 209,14 @@ packages:
name: js
url: "https://pub.dartlang.org"
source: hosted
- version: "0.6.3"
+ version: "0.6.4"
logging:
dependency: transitive
description:
name: logging
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.1"
+ version: "1.0.2"
lpinyin:
dependency: "direct main"
description:
@@ 216,28 230,35 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
- version: "0.12.10"
+ version: "0.12.11"
+ material_color_utilities:
+ dependency: transitive
+ description:
+ name: material_color_utilities
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.1.4"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
- version: "1.3.0"
+ version: "1.7.0"
mime:
dependency: transitive
description:
name: mime
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.0"
+ version: "1.0.2"
modal_bottom_sheet:
dependency: "direct main"
description:
name: modal_bottom_sheet
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0"
nested:
dependency: transitive
description:
@@ 251,14 272,14 @@ packages:
name: octo_image
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.0+1"
+ version: "1.0.2"
overlay_dialog:
dependency: "direct main"
description:
name: overlay_dialog
url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.0"
+ version: "0.2.1"
package_info:
dependency: "direct main"
description:
@@ 272,42 293,56 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
- version: "1.8.0"
+ version: "1.8.1"
path_provider:
dependency: transitive
description:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.2"
+ version: "2.0.11"
+ path_provider_android:
+ dependency: transitive
+ description:
+ name: path_provider_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.15"
+ path_provider_ios:
+ dependency: transitive
+ description:
+ name: path_provider_ios
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.10"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.7"
path_provider_macos:
dependency: transitive
description:
name: path_provider_macos
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.0.6"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.0.4"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.1.0"
path_tree:
dependency: transitive
description:
@@ 321,56 356,56 @@ packages:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
- version: "1.11.0"
+ version: "1.11.1"
platform:
dependency: transitive
description:
name: platform
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.0"
+ version: "3.1.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.1.2"
process:
dependency: transitive
description:
name: process
url: "https://pub.dartlang.org"
source: hosted
- version: "4.2.1"
+ version: "4.2.4"
provider:
dependency: "direct main"
description:
name: provider
url: "https://pub.dartlang.org"
source: hosted
- version: "5.0.0"
+ version: "6.0.3"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.1"
+ version: "3.1.0"
responsive_builder:
dependency: "direct main"
description:
name: responsive_builder
url: "https://pub.dartlang.org"
source: hosted
- version: "0.4.1"
+ version: "0.4.2"
rxdart:
dependency: transitive
description:
name: rxdart
url: "https://pub.dartlang.org"
source: hosted
- version: "0.27.1"
+ version: "0.27.4"
share:
dependency: "direct main"
description:
@@ 384,21 419,35 @@ packages:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.6"
+ version: "2.0.15"
+ shared_preferences_android:
+ dependency: transitive
+ description:
+ name: shared_preferences_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.12"
+ shared_preferences_ios:
+ dependency: transitive
+ description:
+ name: shared_preferences_ios
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.1.1"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.1"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.0.4"
shared_preferences_platform_interface:
dependency: transitive
description:
@@ 412,14 461,14 @@ packages:
name: shared_preferences_web
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.0.4"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.1"
sky_engine:
dependency: transitive
description: flutter
@@ 431,21 480,21 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
- version: "1.8.1"
+ version: "1.8.2"
sqflite:
dependency: "direct main"
description:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0+3"
+ version: "2.0.2+1"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0+2"
+ version: "2.2.1+1"
stack_trace:
dependency: transitive
description:
@@ 473,7 522,7 @@ packages:
name: synchronized
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.0"
+ version: "3.0.0+2"
term_glyph:
dependency: transitive
description:
@@ 487,7 536,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
- version: "0.3.0"
+ version: "0.4.9"
tuple:
dependency: "direct main"
description:
@@ 501,7 550,7 @@ packages:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
- version: "1.3.0"
+ version: "1.3.1"
uni_links:
dependency: "direct main"
description:
@@ 523,83 572,125 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.0"
+ universal_io:
+ dependency: transitive
+ description:
+ name: universal_io
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.4"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
- version: "6.0.9"
+ version: "6.1.4"
+ url_launcher_android:
+ dependency: transitive
+ description:
+ name: url_launcher_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.0.17"
+ url_launcher_ios:
+ dependency: transitive
+ description:
+ name: url_launcher_ios
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.0.17"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "3.0.1"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "3.0.1"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.4"
+ version: "2.1.0"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.0.12"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "3.0.1"
uuid:
dependency: transitive
description:
name: uuid
url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.4"
+ version: "3.0.6"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.0"
+ version: "2.1.2"
webview_flutter:
dependency: "direct main"
description:
name: webview_flutter
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.10"
+ version: "3.0.4"
+ webview_flutter_android:
+ dependency: transitive
+ description:
+ name: webview_flutter_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.8.14"
+ webview_flutter_platform_interface:
+ dependency: transitive
+ description:
+ name: webview_flutter_platform_interface
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.9.1"
+ webview_flutter_wkwebview:
+ dependency: transitive
+ description:
+ name: webview_flutter_wkwebview
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.8.1"
win32:
dependency: transitive
description:
name: win32
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.5"
+ version: "2.7.0"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.0"
+ version: "0.2.0+1"
sdks:
- dart: ">=2.12.0 <3.0.0"
- flutter: ">=2.0.0"
+ dart: ">=2.17.0 <3.0.0"
+ flutter: ">=3.0.0"
M pubspec.yaml => pubspec.yaml +9 -9
@@ 15,7 15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
-version: 1.0.2+8
+version: 1.0.3+10
environment:
sdk: ">=2.7.0 <3.0.0"
@@ 25,13 25,13 @@ dependencies:
sdk: flutter
flutter_localizations:
sdk: flutter
- provider: ^5.0.0
+ provider: ^6.0.3
tuple: ^2.0.0
- shared_preferences: ^2.0.6
- intl: ^0.17.0-nullsafety.2
- http: ^0.13.3
+ shared_preferences: ^2.0.15
+ intl: ^0.17.0
+ http: ^0.13.4
html: ^0.15.0
- webview_flutter: ^2.0.10
+ webview_flutter: ^3.0.4
jaguar: ^3.0.11
jaguar_flutter_asset: ^3.0.0
url_launcher: ^6.0.9
@@ 41,11 41,11 @@ dependencies:
package_info: ^2.0.2
crypto: ^3.0.1
responsive_builder: ^0.4.1
- cached_network_image: ^3.0.0
- flutter_cache_manager: ^3.1.2
+ cached_network_image: ^3.2.1
+ flutter_cache_manager: ^3.3.0
lpinyin: ^2.0.3
uni_links: ^0.5.1
- modal_bottom_sheet: ^2.0.0
+ modal_bottom_sheet: ^2.1.0
overlay_dialog: ^0.2.0