~repos /only-bible-app
GIT_CONFIG_PARAMETERS="'http.version=HTTP/1.1'" git clone
https://git.pyrossh.dev/only-bible-app.git
Discussions:
https://groups.google.com/g/rust-embed-devs
The only bible app you will ever need. No ads. No in-app purchases. No distractions.
3fa12d5b
—
pyrossh 1 month ago
fix flutter app
- .flutter-plugins-dependencies +1 -0
- .gitignore +5 -0
- .idea/deploymentTargetSelector.xml +1 -1
- .idea/gradle.xml +1 -1
- .metadata +19 -7
- android/.gitignore +2 -1
- android/Gemfile +0 -3
- android/Gemfile.lock +0 -218
- android/app/build.gradle +0 -88
- android/app/build.gradle.kts +44 -0
- android/app/src/main/AndroidManifest.xml +14 -4
- android/app/src/main/app_icon-playstore.png +0 -0
- android/app/src/main/kotlin/sh/pyros/only_bible_app/MainActivity.kt +1 -2
- android/app/src/main/res/drawable-hdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-hdpi/splash.png +0 -0
- android/app/src/main/res/drawable-mdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-mdpi/splash.png +0 -0
- android/app/src/main/res/drawable-night-hdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-night-mdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-night-xhdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-night-xxhdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-v21/background.png +0 -0
- android/app/src/main/res/drawable-v21/launch_background.xml +9 -6
- android/app/src/main/res/drawable-xhdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-xhdpi/splash.png +0 -0
- android/app/src/main/res/drawable-xxhdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-xxhdpi/splash.png +0 -0
- android/app/src/main/res/drawable-xxxhdpi/android12splash.png +0 -0
- android/app/src/main/res/drawable-xxxhdpi/splash.png +0 -0
- android/app/src/main/res/drawable/app_icon_background.xml +0 -22
- android/app/src/main/res/drawable/app_icon_foreground.xml +0 -16
- android/app/src/main/res/drawable/background.png +0 -0
- android/app/src/main/res/drawable/launch_background.xml +9 -6
- android/app/src/main/res/mipmap-anydpi-v26/app_icon.xml +0 -5
- android/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml +0 -5
- android/app/src/main/res/mipmap-hdpi/app_icon.webp +0 -0
- android/app/src/main/res/mipmap-hdpi/app_icon_round.webp +0 -0
- android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- android/app/src/main/res/mipmap-mdpi/app_icon.webp +0 -0
- android/app/src/main/res/mipmap-mdpi/app_icon_round.webp +0 -0
- android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- android/app/src/main/res/mipmap-xhdpi/app_icon.webp +0 -0
- android/app/src/main/res/mipmap-xhdpi/app_icon_round.webp +0 -0
- android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- android/app/src/main/res/mipmap-xxhdpi/app_icon.webp +0 -0
- android/app/src/main/res/mipmap-xxhdpi/app_icon_round.webp +0 -0
- android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- android/app/src/main/res/mipmap-xxxhdpi/app_icon.webp +0 -0
- android/app/src/main/res/mipmap-xxxhdpi/app_icon_round.webp +0 -0
- android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- android/app/src/main/res/values-night-v31/styles.xml +0 -21
- android/app/src/main/res/values-night/styles.xml +0 -4
- android/app/src/main/res/values-v31/styles.xml +0 -21
- android/app/src/main/res/values/styles.xml +0 -4
- android/build.gradle +0 -18
- android/build.gradle.kts +24 -0
- android/fastlane/Appfile +0 -2
- android/fastlane/Fastfile +0 -38
- android/fastlane/metadata/android/en-GB/changelogs/10.txt +0 -2
- android/fastlane/metadata/android/en-GB/changelogs/9.txt +0 -2
- android/fastlane/metadata/android/en-GB/full_description.txt +0 -15
- android/fastlane/metadata/android/en-GB/images/featureGraphic.png +0 -0
- android/fastlane/metadata/android/en-GB/images/icon.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/1_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/2_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/3_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/4_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/5_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/6_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/phoneScreenshots/7_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/1_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/2_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/3_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/4_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/1_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/2_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/3_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/4_en-GB.png +0 -0
- android/fastlane/metadata/android/en-GB/short_description.txt +0 -1
- android/fastlane/metadata/android/en-GB/title.txt +0 -1
- android/fastlane/metadata/android/en-GB/video.txt +0 -0
- android/gradle.properties +1 -2
- android/gradle/wrapper/gradle-wrapper.properties +1 -1
- android/key.properties +0 -4
- android/settings.gradle +0 -25
- android/settings.gradle.kts +26 -0
- devtools_options.yaml +3 -0
- ios/.gitignore +0 -1
- ios/Flutter/AppFrameworkInfo.plist +0 -2
- ios/Gemfile +0 -3
- ios/Gemfile.lock +0 -218
- ios/Podfile +1 -10
- ios/Podfile.lock +20 -31
- ios/Runner.xcodeproj/project.pbxproj +64 -80
- ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +3 -0
- ios/Runner/AppDelegate.swift +7 -4
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json +0 -21
- ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png +0 -0
- ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +5 -5
- ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
- ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected] +0 -0
- ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected] +0 -0
- ios/Runner/Base.lproj/LaunchScreen.storyboard +5 -12
- ios/Runner/Info.plist +22 -5
- ios/Runner/SceneDelegate.swift +6 -0
- ios/export_options.plist +0 -21
- ios/fastlane/Appfile +0 -8
- ios/fastlane/Deliverfile +0 -3
- ios/fastlane/Fastfile +0 -25
- ios/fastlane/metadata/copyright.txt +0 -1
- ios/fastlane/metadata/en-US/apple_tv_privacy_policy.txt +0 -1
- ios/fastlane/metadata/en-US/description.txt +0 -15
- ios/fastlane/metadata/en-US/keywords.txt +0 -1
- ios/fastlane/metadata/en-US/marketing_url.txt +0 -1
- ios/fastlane/metadata/en-US/name.txt +0 -1
- ios/fastlane/metadata/en-US/privacy_url.txt +0 -1
- ios/fastlane/metadata/en-US/promotional_text.txt +0 -1
- ios/fastlane/metadata/en-US/release_notes.txt +0 -2
- ios/fastlane/metadata/en-US/subtitle.txt +0 -1
- ios/fastlane/metadata/en-US/support_url.txt +0 -1
- ios/fastlane/metadata/primary_category.txt +0 -1
- ios/fastlane/metadata/primary_first_sub_category.txt +0 -1
- ios/fastlane/metadata/primary_second_sub_category.txt +0 -1
- ios/fastlane/metadata/review_information/demo_password.txt +0 -1
- ios/fastlane/metadata/review_information/demo_user.txt +0 -1
- ios/fastlane/metadata/review_information/email_address.txt +0 -1
- ios/fastlane/metadata/review_information/first_name.txt +0 -1
- ios/fastlane/metadata/review_information/last_name.txt +0 -1
- ios/fastlane/metadata/review_information/notes.txt +0 -1
- ios/fastlane/metadata/review_information/phone_number.txt +0 -1
- ios/fastlane/metadata/secondary_category.txt +0 -1
- ios/fastlane/metadata/secondary_first_sub_category.txt +0 -1
- ios/fastlane/metadata/secondary_second_sub_category.txt +0 -1
- ios/fastlane/screenshots/README.txt +0 -30
- ios/fastlane/screenshots/en-US/0_APP_IPAD_PRO_129_0.png +0 -0
- ios/fastlane/screenshots/en-US/0_APP_IPAD_PRO_3GEN_129_0.png +0 -0
- ios/fastlane/screenshots/en-US/0_APP_IPHONE_55_0.png +0 -0
- ios/fastlane/screenshots/en-US/0_APP_IPHONE_67_0.png +0 -0
- ios/fastlane/screenshots/en-US/1_APP_IPAD_PRO_129_1.png +0 -0
- ios/fastlane/screenshots/en-US/1_APP_IPAD_PRO_3GEN_129_1.png +0 -0
- ios/fastlane/screenshots/en-US/1_APP_IPHONE_55_1.png +0 -0
- ios/fastlane/screenshots/en-US/1_APP_IPHONE_67_1.png +0 -0
- ios/fastlane/screenshots/en-US/2_APP_IPAD_PRO_129_2.png +0 -0
- ios/fastlane/screenshots/en-US/2_APP_IPAD_PRO_3GEN_129_2.png +0 -0
- ios/fastlane/screenshots/en-US/2_APP_IPHONE_67_2.png +0 -0
- ios/fastlane/screenshots/en-US/3_APP_IPHONE_67_3.png +0 -0
- ios/fastlane/screenshots/en-US/4_APP_IPHONE_67_4.png +0 -0
- ios/fastlane/screenshots/en-US/5_APP_IPHONE_67_5.png +0 -0
- ios/fastlane/screenshots/en-US/6_APP_IPHONE_67_6.png +0 -0
- lib/app.dart +1 -1
- lib/dialog.dart +3 -3
- lib/gen/assets.gen.dart +68 -0
- lib/gen/fonts.gen.dart +16 -0
- lib/l10n/app_localizations.dart +708 -0
- lib/l10n/app_localizations_bn.dart +274 -0
- lib/l10n/app_localizations_en.dart +275 -0
- lib/l10n/app_localizations_gu.dart +274 -0
- lib/l10n/app_localizations_hi.dart +274 -0
- lib/l10n/app_localizations_kn.dart +274 -0
- lib/l10n/app_localizations_ml.dart +274 -0
- lib/l10n/app_localizations_ne.dart +274 -0
- lib/l10n/app_localizations_or.dart +275 -0
- lib/l10n/app_localizations_pa.dart +275 -0
- lib/l10n/app_localizations_ta.dart +274 -0
- lib/l10n/app_localizations_te.dart +274 -0
- lib/main.dart +28 -28
- lib/models.dart +1 -1
- lib/navigation.dart +33 -33
- lib/screens/book_select_screen.dart +1 -1
- lib/screens/chapter_view_screen.dart +5 -5
- lib/screens/webview_screen.dart +1 -1
- lib/sheets/actions_sheet.dart +1 -1
- lib/sheets/highlight_sheet.dart +1 -1
- lib/sheets/settings_sheet.dart +5 -5
- lib/store/state.dart +8 -8
- lib/theme.dart +21 -21
- lib/utils.dart +34 -26
- lib/widgets/modal_button.dart +1 -1
- lib/widgets/scaffold_menu.dart +2 -2
- lib/widgets/sliver_heading.dart +1 -1
- lib/widgets/verses_view.dart +5 -5
- linux/.gitignore +1 -0
- linux/CMakeLists.txt +128 -0
- linux/flutter/CMakeLists.txt +88 -0
- linux/flutter/generated_plugin_registrant.cc +15 -0
- linux/flutter/generated_plugin_registrant.h +15 -0
- linux/flutter/generated_plugins.cmake +24 -0
- linux/runner/CMakeLists.txt +26 -0
- linux/runner/main.cc +6 -0
- linux/runner/my_application.cc +148 -0
- linux/runner/my_application.h +21 -0
- macos/.gitignore +7 -0
- macos/Flutter/Flutter-Debug.xcconfig +2 -0
- macos/Flutter/Flutter-Release.xcconfig +2 -0
- macos/Flutter/GeneratedPluginRegistrant.swift +26 -0
- macos/Podfile +42 -0
- macos/Runner.xcodeproj/project.pbxproj +705 -0
- macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +99 -0
- macos/Runner.xcworkspace/contents.xcworkspacedata +7 -0
- macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- macos/Runner/AppDelegate.swift +13 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
- macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
- macos/Runner/Base.lproj/MainMenu.xib +343 -0
- macos/Runner/Configs/AppInfo.xcconfig +14 -0
- macos/Runner/Configs/Debug.xcconfig +2 -0
- macos/Runner/Configs/Release.xcconfig +2 -0
- macos/Runner/Configs/Warnings.xcconfig +13 -0
- macos/Runner/DebugProfile.entitlements +12 -0
- macos/Runner/Info.plist +32 -0
- macos/Runner/MainFlutterWindow.swift +15 -0
- macos/Runner/Release.entitlements +8 -0
- macos/RunnerTests/RunnerTests.swift +12 -0
- pubspec.lock +405 -293
- pubspec.yaml +18 -15
- scripts/generate_book_names.dart +12 -12
- scripts/scrape.dart +9 -8
- secrets.properties +5 -0
- test/widget_test.dart +30 -0
- web/favicon.png +0 -0
- web/icons/Icon-192.png +0 -0
- web/icons/Icon-512.png +0 -0
- web/icons/Icon-maskable-192.png +0 -0
- web/icons/Icon-maskable-512.png +0 -0
- web/index.html +46 -0
- web/manifest.json +35 -0
- windows/.gitignore +17 -0
- windows/CMakeLists.txt +108 -0
- windows/flutter/CMakeLists.txt +109 -0
- windows/flutter/generated_plugin_registrant.cc +17 -0
- windows/flutter/generated_plugin_registrant.h +15 -0
- windows/flutter/generated_plugins.cmake +25 -0
- windows/runner/CMakeLists.txt +40 -0
- windows/runner/Runner.rc +121 -0
- windows/runner/flutter_window.cpp +71 -0
- windows/runner/flutter_window.h +33 -0
- windows/runner/main.cpp +43 -0
- windows/runner/resource.h +16 -0
- windows/runner/resources/app_icon.ico +0 -0
- windows/runner/runner.exe.manifest +14 -0
- windows/runner/utils.cpp +65 -0
- windows/runner/utils.h +19 -0
- windows/runner/win32_window.cpp +288 -0
- windows/runner/win32_window.h +102 -0
.flutter-plugins-dependencies
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"app_review","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/app_review-3.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"audio_session","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/audio_session-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_native_splash","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"integration_test","path":"/opt/homebrew/share/flutter/packages/integration_test/","native_build":true,"dependencies":[],"dev_dependency":true},{"name":"just_audio","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/just_audio-0.10.5/","shared_darwin_source":true,"native_build":true,"dependencies":["audio_session"],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.6.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/share_plus-12.0.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_ios","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/url_launcher_ios-6.4.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"webview_flutter_wkwebview","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.24.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"app_review","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/app_review-3.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"audio_session","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/audio_session-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_native_splash","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"integration_test","path":"/opt/homebrew/share/flutter/packages/integration_test/","native_build":true,"dependencies":[],"dev_dependency":true},{"name":"just_audio","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/just_audio-0.10.5/","native_build":true,"dependencies":["audio_session"],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/share_plus-12.0.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.21/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_android","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.28/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"webview_flutter_android","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/webview_flutter_android-4.10.13/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"app_review","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/app_review-3.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"audio_session","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/audio_session-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"just_audio","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/just_audio-0.10.5/","shared_darwin_source":true,"native_build":true,"dependencies":["audio_session"],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.6.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/share_plus-12.0.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_macos","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"webview_flutter_wkwebview","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.24.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"package_info_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/share_plus-12.0.1/","native_build":false,"dependencies":["url_launcher_linux"],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false},{"name":"url_launcher_linux","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.2/","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"package_info_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/share_plus-12.0.1/","native_build":true,"dependencies":["url_launcher_windows"],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false},{"name":"url_launcher_windows","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.5/","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[{"name":"audio_session","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/audio_session-0.2.3/","dependencies":[],"dev_dependency":false},{"name":"flutter_native_splash","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.7/","dependencies":[],"dev_dependency":false},{"name":"just_audio_web","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/just_audio_web-0.4.16/","dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/","dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/share_plus-12.0.1/","dependencies":["url_launcher_web"],"dev_dependency":false},{"name":"shared_preferences_web","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false},{"name":"url_launcher_web","path":"/Users/pyrossh/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.2/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"app_review","dependencies":[]},{"name":"audio_session","dependencies":[]},{"name":"flutter_native_splash","dependencies":[]},{"name":"integration_test","dependencies":[]},{"name":"just_audio","dependencies":["just_audio_web","audio_session","path_provider"]},{"name":"just_audio_web","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]},{"name":"webview_flutter","dependencies":["webview_flutter_android","webview_flutter_wkwebview"]},{"name":"webview_flutter_android","dependencies":[]},{"name":"webview_flutter_wkwebview","dependencies":[]}],"date_created":"2026-03-21 18:21:22.875489","version":"3.41.4","swift_package_manager_enabled":{"ios":false,"macos":false}}
|
.gitignore
CHANGED
|
@@ -18,3 +18,8 @@ local.properties
|
|
|
18
18
|
keystore.properties
|
|
19
19
|
upload-keystore.jks
|
|
20
20
|
svc.json
|
|
21
|
+
.dart_tool
|
|
22
|
+
.idea
|
|
23
|
+
composeApp
|
|
24
|
+
target
|
|
25
|
+
ui
|
.idea/deploymentTargetSelector.xml
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</DropdownSelection>
|
|
14
14
|
<DialogSelection />
|
|
15
15
|
</SelectionState>
|
|
16
|
-
<SelectionState runConfigName="
|
|
16
|
+
<SelectionState runConfigName="composeApp">
|
|
17
17
|
<option name="selectionMode" value="DROPDOWN" />
|
|
18
18
|
</SelectionState>
|
|
19
19
|
</selectionStates>
|
.idea/gradle.xml
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<component name="GradleSettings">
|
|
5
5
|
<option name="linkedExternalProjectsSettings">
|
|
6
6
|
<GradleProjectSettings>
|
|
7
|
+
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
|
7
8
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
8
9
|
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
|
9
10
|
<option name="modules">
|
|
@@ -12,7 +13,6 @@
|
|
|
12
13
|
<option value="$PROJECT_DIR$/app" />
|
|
13
14
|
</set>
|
|
14
15
|
</option>
|
|
15
|
-
<option name="resolveExternalAnnotations" value="false" />
|
|
16
16
|
</GradleProjectSettings>
|
|
17
17
|
</option>
|
|
18
18
|
</component>
|
.metadata
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# This file should be version controlled and should not be manually edited.
|
|
5
5
|
|
|
6
6
|
version:
|
|
7
|
-
revision: "
|
|
7
|
+
revision: "ff37bef603469fb030f2b72995ab929ccfc227f0"
|
|
8
8
|
channel: "stable"
|
|
9
9
|
|
|
10
10
|
project_type: app
|
|
@@ -13,14 +13,26 @@ project_type: app
|
|
|
13
13
|
migration:
|
|
14
14
|
platforms:
|
|
15
15
|
- platform: root
|
|
16
|
-
create_revision:
|
|
16
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
17
|
-
base_revision:
|
|
17
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
18
18
|
- platform: android
|
|
19
|
-
create_revision:
|
|
19
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
20
|
-
base_revision:
|
|
20
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
21
21
|
- platform: ios
|
|
22
|
-
create_revision:
|
|
22
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
23
|
-
base_revision:
|
|
23
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
24
|
+
- platform: linux
|
|
25
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
26
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
27
|
+
- platform: macos
|
|
28
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
29
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
30
|
+
- platform: web
|
|
31
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
32
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
33
|
+
- platform: windows
|
|
34
|
+
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
35
|
+
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
|
|
24
36
|
|
|
25
37
|
# User provided section
|
|
26
38
|
|
android/.gitignore
CHANGED
|
@@ -5,9 +5,10 @@ gradle-wrapper.jar
|
|
|
5
5
|
/gradlew.bat
|
|
6
6
|
/local.properties
|
|
7
7
|
GeneratedPluginRegistrant.java
|
|
8
|
+
.cxx/
|
|
8
9
|
|
|
9
10
|
# Remember to never publicly share your keystore.
|
|
10
|
-
# See https://flutter.dev/
|
|
11
|
+
# See https://flutter.dev/to/reference-keystore
|
|
11
12
|
key.properties
|
|
12
13
|
**/*.keystore
|
|
13
14
|
**/*.jks
|
android/Gemfile
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
source "https://rubygems.org"
|
|
2
|
-
|
|
3
|
-
gem "fastlane"
|
android/Gemfile.lock
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
GEM
|
|
2
|
-
remote: https://rubygems.org/
|
|
3
|
-
specs:
|
|
4
|
-
CFPropertyList (3.0.7)
|
|
5
|
-
base64
|
|
6
|
-
nkf
|
|
7
|
-
rexml
|
|
8
|
-
addressable (2.8.6)
|
|
9
|
-
public_suffix (>= 2.0.2, < 6.0)
|
|
10
|
-
artifactory (3.0.17)
|
|
11
|
-
atomos (0.1.3)
|
|
12
|
-
aws-eventstream (1.3.0)
|
|
13
|
-
aws-partitions (1.922.0)
|
|
14
|
-
aws-sdk-core (3.194.0)
|
|
15
|
-
aws-eventstream (~> 1, >= 1.3.0)
|
|
16
|
-
aws-partitions (~> 1, >= 1.651.0)
|
|
17
|
-
aws-sigv4 (~> 1.8)
|
|
18
|
-
jmespath (~> 1, >= 1.6.1)
|
|
19
|
-
aws-sdk-kms (1.80.0)
|
|
20
|
-
aws-sdk-core (~> 3, >= 3.193.0)
|
|
21
|
-
aws-sigv4 (~> 1.1)
|
|
22
|
-
aws-sdk-s3 (1.149.0)
|
|
23
|
-
aws-sdk-core (~> 3, >= 3.194.0)
|
|
24
|
-
aws-sdk-kms (~> 1)
|
|
25
|
-
aws-sigv4 (~> 1.8)
|
|
26
|
-
aws-sigv4 (1.8.0)
|
|
27
|
-
aws-eventstream (~> 1, >= 1.0.2)
|
|
28
|
-
babosa (1.0.4)
|
|
29
|
-
base64 (0.2.0)
|
|
30
|
-
claide (1.1.0)
|
|
31
|
-
colored (1.2)
|
|
32
|
-
colored2 (3.1.2)
|
|
33
|
-
commander (4.6.0)
|
|
34
|
-
highline (~> 2.0.0)
|
|
35
|
-
declarative (0.0.20)
|
|
36
|
-
digest-crc (0.6.5)
|
|
37
|
-
rake (>= 12.0.0, < 14.0.0)
|
|
38
|
-
domain_name (0.6.20240107)
|
|
39
|
-
dotenv (2.8.1)
|
|
40
|
-
emoji_regex (3.2.3)
|
|
41
|
-
excon (0.110.0)
|
|
42
|
-
faraday (1.10.3)
|
|
43
|
-
faraday-em_http (~> 1.0)
|
|
44
|
-
faraday-em_synchrony (~> 1.0)
|
|
45
|
-
faraday-excon (~> 1.1)
|
|
46
|
-
faraday-httpclient (~> 1.0)
|
|
47
|
-
faraday-multipart (~> 1.0)
|
|
48
|
-
faraday-net_http (~> 1.0)
|
|
49
|
-
faraday-net_http_persistent (~> 1.0)
|
|
50
|
-
faraday-patron (~> 1.0)
|
|
51
|
-
faraday-rack (~> 1.0)
|
|
52
|
-
faraday-retry (~> 1.0)
|
|
53
|
-
ruby2_keywords (>= 0.0.4)
|
|
54
|
-
faraday-cookie_jar (0.0.7)
|
|
55
|
-
faraday (>= 0.8.0)
|
|
56
|
-
http-cookie (~> 1.0.0)
|
|
57
|
-
faraday-em_http (1.0.0)
|
|
58
|
-
faraday-em_synchrony (1.0.0)
|
|
59
|
-
faraday-excon (1.1.0)
|
|
60
|
-
faraday-httpclient (1.0.1)
|
|
61
|
-
faraday-multipart (1.0.4)
|
|
62
|
-
multipart-post (~> 2)
|
|
63
|
-
faraday-net_http (1.0.1)
|
|
64
|
-
faraday-net_http_persistent (1.2.0)
|
|
65
|
-
faraday-patron (1.0.0)
|
|
66
|
-
faraday-rack (1.0.0)
|
|
67
|
-
faraday-retry (1.0.3)
|
|
68
|
-
faraday_middleware (1.2.0)
|
|
69
|
-
faraday (~> 1.0)
|
|
70
|
-
fastimage (2.3.1)
|
|
71
|
-
fastlane (2.220.0)
|
|
72
|
-
CFPropertyList (>= 2.3, < 4.0.0)
|
|
73
|
-
addressable (>= 2.8, < 3.0.0)
|
|
74
|
-
artifactory (~> 3.0)
|
|
75
|
-
aws-sdk-s3 (~> 1.0)
|
|
76
|
-
babosa (>= 1.0.3, < 2.0.0)
|
|
77
|
-
bundler (>= 1.12.0, < 3.0.0)
|
|
78
|
-
colored (~> 1.2)
|
|
79
|
-
commander (~> 4.6)
|
|
80
|
-
dotenv (>= 2.1.1, < 3.0.0)
|
|
81
|
-
emoji_regex (>= 0.1, < 4.0)
|
|
82
|
-
excon (>= 0.71.0, < 1.0.0)
|
|
83
|
-
faraday (~> 1.0)
|
|
84
|
-
faraday-cookie_jar (~> 0.0.6)
|
|
85
|
-
faraday_middleware (~> 1.0)
|
|
86
|
-
fastimage (>= 2.1.0, < 3.0.0)
|
|
87
|
-
gh_inspector (>= 1.1.2, < 2.0.0)
|
|
88
|
-
google-apis-androidpublisher_v3 (~> 0.3)
|
|
89
|
-
google-apis-playcustomapp_v1 (~> 0.1)
|
|
90
|
-
google-cloud-env (>= 1.6.0, < 2.0.0)
|
|
91
|
-
google-cloud-storage (~> 1.31)
|
|
92
|
-
highline (~> 2.0)
|
|
93
|
-
http-cookie (~> 1.0.5)
|
|
94
|
-
json (< 3.0.0)
|
|
95
|
-
jwt (>= 2.1.0, < 3)
|
|
96
|
-
mini_magick (>= 4.9.4, < 5.0.0)
|
|
97
|
-
multipart-post (>= 2.0.0, < 3.0.0)
|
|
98
|
-
naturally (~> 2.2)
|
|
99
|
-
optparse (>= 0.1.1, < 1.0.0)
|
|
100
|
-
plist (>= 3.1.0, < 4.0.0)
|
|
101
|
-
rubyzip (>= 2.0.0, < 3.0.0)
|
|
102
|
-
security (= 0.1.5)
|
|
103
|
-
simctl (~> 1.6.3)
|
|
104
|
-
terminal-notifier (>= 2.0.0, < 3.0.0)
|
|
105
|
-
terminal-table (~> 3)
|
|
106
|
-
tty-screen (>= 0.6.3, < 1.0.0)
|
|
107
|
-
tty-spinner (>= 0.8.0, < 1.0.0)
|
|
108
|
-
word_wrap (~> 1.0.0)
|
|
109
|
-
xcodeproj (>= 1.13.0, < 2.0.0)
|
|
110
|
-
xcpretty (~> 0.3.0)
|
|
111
|
-
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
|
112
|
-
gh_inspector (1.1.3)
|
|
113
|
-
google-apis-androidpublisher_v3 (0.54.0)
|
|
114
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
115
|
-
google-apis-core (0.11.3)
|
|
116
|
-
addressable (~> 2.5, >= 2.5.1)
|
|
117
|
-
googleauth (>= 0.16.2, < 2.a)
|
|
118
|
-
httpclient (>= 2.8.1, < 3.a)
|
|
119
|
-
mini_mime (~> 1.0)
|
|
120
|
-
representable (~> 3.0)
|
|
121
|
-
retriable (>= 2.0, < 4.a)
|
|
122
|
-
rexml
|
|
123
|
-
google-apis-iamcredentials_v1 (0.17.0)
|
|
124
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
125
|
-
google-apis-playcustomapp_v1 (0.13.0)
|
|
126
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
127
|
-
google-apis-storage_v1 (0.31.0)
|
|
128
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
129
|
-
google-cloud-core (1.7.0)
|
|
130
|
-
google-cloud-env (>= 1.0, < 3.a)
|
|
131
|
-
google-cloud-errors (~> 1.0)
|
|
132
|
-
google-cloud-env (1.6.0)
|
|
133
|
-
faraday (>= 0.17.3, < 3.0)
|
|
134
|
-
google-cloud-errors (1.4.0)
|
|
135
|
-
google-cloud-storage (1.47.0)
|
|
136
|
-
addressable (~> 2.8)
|
|
137
|
-
digest-crc (~> 0.4)
|
|
138
|
-
google-apis-iamcredentials_v1 (~> 0.1)
|
|
139
|
-
google-apis-storage_v1 (~> 0.31.0)
|
|
140
|
-
google-cloud-core (~> 1.6)
|
|
141
|
-
googleauth (>= 0.16.2, < 2.a)
|
|
142
|
-
mini_mime (~> 1.0)
|
|
143
|
-
googleauth (1.8.1)
|
|
144
|
-
faraday (>= 0.17.3, < 3.a)
|
|
145
|
-
jwt (>= 1.4, < 3.0)
|
|
146
|
-
multi_json (~> 1.11)
|
|
147
|
-
os (>= 0.9, < 2.0)
|
|
148
|
-
signet (>= 0.16, < 2.a)
|
|
149
|
-
highline (2.0.3)
|
|
150
|
-
http-cookie (1.0.5)
|
|
151
|
-
domain_name (~> 0.5)
|
|
152
|
-
httpclient (2.8.3)
|
|
153
|
-
jmespath (1.6.2)
|
|
154
|
-
json (2.7.2)
|
|
155
|
-
jwt (2.8.1)
|
|
156
|
-
base64
|
|
157
|
-
mini_magick (4.12.0)
|
|
158
|
-
mini_mime (1.1.5)
|
|
159
|
-
multi_json (1.15.0)
|
|
160
|
-
multipart-post (2.4.0)
|
|
161
|
-
nanaimo (0.3.0)
|
|
162
|
-
naturally (2.2.1)
|
|
163
|
-
nkf (0.2.0)
|
|
164
|
-
optparse (0.5.0)
|
|
165
|
-
os (1.1.4)
|
|
166
|
-
plist (3.7.1)
|
|
167
|
-
public_suffix (5.0.5)
|
|
168
|
-
rake (13.2.1)
|
|
169
|
-
representable (3.2.0)
|
|
170
|
-
declarative (< 0.1.0)
|
|
171
|
-
trailblazer-option (>= 0.1.1, < 0.2.0)
|
|
172
|
-
uber (< 0.2.0)
|
|
173
|
-
retriable (3.1.2)
|
|
174
|
-
rexml (3.2.6)
|
|
175
|
-
rouge (2.0.7)
|
|
176
|
-
ruby2_keywords (0.0.5)
|
|
177
|
-
rubyzip (2.3.2)
|
|
178
|
-
security (0.1.5)
|
|
179
|
-
signet (0.19.0)
|
|
180
|
-
addressable (~> 2.8)
|
|
181
|
-
faraday (>= 0.17.5, < 3.a)
|
|
182
|
-
jwt (>= 1.5, < 3.0)
|
|
183
|
-
multi_json (~> 1.10)
|
|
184
|
-
simctl (1.6.10)
|
|
185
|
-
CFPropertyList
|
|
186
|
-
naturally
|
|
187
|
-
terminal-notifier (2.0.0)
|
|
188
|
-
terminal-table (3.0.2)
|
|
189
|
-
unicode-display_width (>= 1.1.1, < 3)
|
|
190
|
-
trailblazer-option (0.1.2)
|
|
191
|
-
tty-cursor (0.7.1)
|
|
192
|
-
tty-screen (0.8.2)
|
|
193
|
-
tty-spinner (0.9.3)
|
|
194
|
-
tty-cursor (~> 0.7)
|
|
195
|
-
uber (0.1.0)
|
|
196
|
-
unicode-display_width (2.5.0)
|
|
197
|
-
word_wrap (1.0.0)
|
|
198
|
-
xcodeproj (1.24.0)
|
|
199
|
-
CFPropertyList (>= 2.3.3, < 4.0)
|
|
200
|
-
atomos (~> 0.1.3)
|
|
201
|
-
claide (>= 1.0.2, < 2.0)
|
|
202
|
-
colored2 (~> 3.1)
|
|
203
|
-
nanaimo (~> 0.3.0)
|
|
204
|
-
rexml (~> 3.2.4)
|
|
205
|
-
xcpretty (0.3.0)
|
|
206
|
-
rouge (~> 2.0.7)
|
|
207
|
-
xcpretty-travis-formatter (1.0.1)
|
|
208
|
-
xcpretty (~> 0.2, >= 0.0.7)
|
|
209
|
-
|
|
210
|
-
PLATFORMS
|
|
211
|
-
arm64-darwin-23
|
|
212
|
-
ruby
|
|
213
|
-
|
|
214
|
-
DEPENDENCIES
|
|
215
|
-
fastlane
|
|
216
|
-
|
|
217
|
-
BUNDLED WITH
|
|
218
|
-
2.5.9
|
android/app/build.gradle
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
plugins {
|
|
2
|
-
id "com.android.application"
|
|
3
|
-
id "kotlin-android"
|
|
4
|
-
id "dev.flutter.flutter-gradle-plugin"
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
def localProperties = new Properties()
|
|
8
|
-
def localPropertiesFile = rootProject.file('local.properties')
|
|
9
|
-
if (localPropertiesFile.exists()) {
|
|
10
|
-
localPropertiesFile.withReader('UTF-8') { reader ->
|
|
11
|
-
localProperties.load(reader)
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
|
16
|
-
if (flutterVersionCode == null) {
|
|
17
|
-
throw new GradleException("flutter.versionCode is required")
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
def flutterVersionName = localProperties.getProperty('flutter.versionName')
|
|
21
|
-
if (flutterVersionName == null) {
|
|
22
|
-
throw new GradleException("flutter.versionName is required")
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
def keystoreProperties = new Properties()
|
|
26
|
-
def keystorePropertiesFile = rootProject.file('key.properties')
|
|
27
|
-
if (keystorePropertiesFile.exists()) {
|
|
28
|
-
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
android {
|
|
32
|
-
namespace "sh.pyros.only_bible_app"
|
|
33
|
-
compileSdkVersion flutter.compileSdkVersion
|
|
34
|
-
ndkVersion flutter.ndkVersion
|
|
35
|
-
|
|
36
|
-
compileOptions {
|
|
37
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
|
38
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
kotlinOptions {
|
|
42
|
-
jvmTarget = '1.8'
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
sourceSets {
|
|
46
|
-
main.java.srcDirs += 'src/main/kotlin'
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
defaultConfig {
|
|
50
|
-
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
|
51
|
-
applicationId "sh.pyros.only_bible_app"
|
|
52
|
-
// You can update the following values to match your application needs.
|
|
53
|
-
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
|
54
|
-
minSdkVersion 30
|
|
55
|
-
targetSdkVersion 33
|
|
56
|
-
versionCode flutterVersionCode.toInteger()
|
|
57
|
-
versionName flutterVersionName
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
signingConfigs {
|
|
61
|
-
release {
|
|
62
|
-
keyAlias keystoreProperties['keyAlias']
|
|
63
|
-
keyPassword keystoreProperties['keyPassword']
|
|
64
|
-
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
|
|
65
|
-
storePassword keystoreProperties['storePassword']
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
buildTypes {
|
|
70
|
-
release {
|
|
71
|
-
signingConfig signingConfigs.release
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
flutter {
|
|
77
|
-
source '../..'
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
configurations.all {
|
|
81
|
-
resolutionStrategy {
|
|
82
|
-
eachDependency {
|
|
83
|
-
if ((requested.group == "org.jetbrains.kotlin") && (requested.name.startsWith("kotlin-stdlib"))) {
|
|
84
|
-
useVersion("1.8.0")
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
android/app/build.gradle.kts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
plugins {
|
|
2
|
+
id("com.android.application")
|
|
3
|
+
id("kotlin-android")
|
|
4
|
+
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
|
|
5
|
+
id("dev.flutter.flutter-gradle-plugin")
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
android {
|
|
9
|
+
namespace = "sh.pyros.only_bible_app"
|
|
10
|
+
compileSdk = flutter.compileSdkVersion
|
|
11
|
+
ndkVersion = flutter.ndkVersion
|
|
12
|
+
|
|
13
|
+
compileOptions {
|
|
14
|
+
sourceCompatibility = JavaVersion.VERSION_17
|
|
15
|
+
targetCompatibility = JavaVersion.VERSION_17
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
kotlinOptions {
|
|
19
|
+
jvmTarget = JavaVersion.VERSION_17.toString()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
defaultConfig {
|
|
23
|
+
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
|
24
|
+
applicationId = "sh.pyros.only_bible_app"
|
|
25
|
+
// You can update the following values to match your application needs.
|
|
26
|
+
// For more information, see: https://flutter.dev/to/review-gradle-config.
|
|
27
|
+
minSdk = flutter.minSdkVersion
|
|
28
|
+
targetSdk = flutter.targetSdkVersion
|
|
29
|
+
versionCode = flutter.versionCode
|
|
30
|
+
versionName = flutter.versionName
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
buildTypes {
|
|
34
|
+
release {
|
|
35
|
+
// TODO: Add your own signing config for the release build.
|
|
36
|
+
// Signing with the debug keys for now, so `flutter run --release` works.
|
|
37
|
+
signingConfig = signingConfigs.getByName("debug")
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
flutter {
|
|
43
|
+
source = "../.."
|
|
44
|
+
}
|
android/app/src/main/AndroidManifest.xml
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
2
2
|
<application
|
|
3
|
-
android:label="
|
|
3
|
+
android:label="only_bible_app"
|
|
4
4
|
android:name="${applicationName}"
|
|
5
|
-
android:icon="@mipmap/
|
|
5
|
+
android:icon="@mipmap/ic_launcher">
|
|
6
6
|
<activity
|
|
7
7
|
android:name=".MainActivity"
|
|
8
8
|
android:exported="true"
|
|
9
9
|
android:launchMode="singleTop"
|
|
10
|
+
android:taskAffinity=""
|
|
10
11
|
android:theme="@style/LaunchTheme"
|
|
11
12
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
|
12
13
|
android:hardwareAccelerated="true"
|
|
@@ -30,6 +31,15 @@
|
|
|
30
31
|
android:name="flutterEmbedding"
|
|
31
32
|
android:value="2" />
|
|
32
33
|
</application>
|
|
34
|
+
<!-- Required to query activities that can process text, see:
|
|
35
|
+
https://developer.android.com/training/package-visibility and
|
|
36
|
+
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
|
|
37
|
+
|
|
38
|
+
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
|
|
39
|
+
<queries>
|
|
40
|
+
<intent>
|
|
33
|
-
|
|
41
|
+
<action android:name="android.intent.action.PROCESS_TEXT"/>
|
|
34
|
-
|
|
42
|
+
<data android:mimeType="text/plain"/>
|
|
43
|
+
</intent>
|
|
44
|
+
</queries>
|
|
35
45
|
</manifest>
|
android/app/src/main/app_icon-playstore.png
DELETED
|
Binary file
|
android/app/src/main/kotlin/sh/pyros/only_bible_app/MainActivity.kt
CHANGED
|
@@ -2,5 +2,4 @@ package sh.pyros.only_bible_app
|
|
|
2
2
|
|
|
3
3
|
import io.flutter.embedding.android.FlutterActivity
|
|
4
4
|
|
|
5
|
-
class MainActivity: FlutterActivity()
|
|
5
|
+
class MainActivity : FlutterActivity()
|
|
6
|
-
}
|
android/app/src/main/res/drawable-hdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-hdpi/splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-mdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-mdpi/splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-night-hdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-night-mdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-night-xhdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-night-xxhdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-v21/background.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-v21/launch_background.xml
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Modify this file to customize your launch splash screen -->
|
|
2
3
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
|
4
|
+
<item android:drawable="?android:colorBackground" />
|
|
5
|
+
|
|
6
|
+
<!-- You can insert your own image assets here -->
|
|
3
|
-
<item>
|
|
7
|
+
<!-- <item>
|
|
8
|
+
<bitmap
|
|
9
|
+
android:gravity="center"
|
|
4
|
-
|
|
10
|
+
android:src="@mipmap/launch_image" />
|
|
5
|
-
</item>
|
|
11
|
+
</item> -->
|
|
6
|
-
<item>
|
|
7
|
-
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
|
8
|
-
</item>
|
|
9
12
|
</layer-list>
|
android/app/src/main/res/drawable-xhdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-xhdpi/splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-xxhdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-xxhdpi/splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-xxxhdpi/android12splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable-xxxhdpi/splash.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable/app_icon_background.xml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
-
android:width="108dp"
|
|
3
|
-
android:height="108dp"
|
|
4
|
-
android:viewportWidth="108.05"
|
|
5
|
-
android:viewportHeight="108.1">
|
|
6
|
-
<group android:scaleX="0.99953747"
|
|
7
|
-
android:translateX="0.024988437">
|
|
8
|
-
<path
|
|
9
|
-
android:pathData="M20.18,0.05L108.05,0.05L108.05,108.05L20.18,108.05L20.18,0.05Z"
|
|
10
|
-
android:fillColor="#aa504c"
|
|
11
|
-
android:fillType="nonZero"
|
|
12
|
-
android:strokeColor="#00000000"/>
|
|
13
|
-
<path
|
|
14
|
-
android:pathData="M0.05,0.05L20.18,0.05L20.18,108.05L6.61,108.05L0.05,108.05L0.05,0.05Z"
|
|
15
|
-
android:strokeLineJoin="round"
|
|
16
|
-
android:strokeWidth="0.1"
|
|
17
|
-
android:fillColor="#7f3c3c"
|
|
18
|
-
android:fillType="nonZero"
|
|
19
|
-
android:strokeColor="#7d3837"
|
|
20
|
-
android:strokeLineCap="butt"/>
|
|
21
|
-
</group>
|
|
22
|
-
</vector>
|
android/app/src/main/res/drawable/app_icon_foreground.xml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
-
android:width="108dp"
|
|
3
|
-
android:height="108dp"
|
|
4
|
-
android:viewportWidth="45.074"
|
|
5
|
-
android:viewportHeight="72.118">
|
|
6
|
-
<group android:scaleX="0.38576603"
|
|
7
|
-
android:scaleY="0.61722225"
|
|
8
|
-
android:translateX="13.842991"
|
|
9
|
-
android:translateY="13.802584">
|
|
10
|
-
<path
|
|
11
|
-
android:pathData="M42.82,15.776L29.298,15.776L29.298,2.254C29.298,1.009 28.289,0 27.044,0L18.03,0C16.785,0 15.776,1.009 15.776,2.254L15.776,15.776L2.254,15.776C1.009,15.776 0,16.785 0,18.03L0,27.044C0,28.289 1.009,29.298 2.254,29.298L15.776,29.298L15.776,69.865C15.776,71.109 16.785,72.118 18.03,72.118L27.044,72.118C28.289,72.118 29.298,71.109 29.298,69.865L29.298,29.298L42.82,29.298C44.065,29.298 45.074,28.289 45.074,27.044L45.074,18.03C45.074,16.785 44.065,15.776 42.82,15.776Z"
|
|
12
|
-
android:fillColor="#ffb441"
|
|
13
|
-
android:fillType="nonZero"
|
|
14
|
-
android:strokeColor="#00000000"/>
|
|
15
|
-
</group>
|
|
16
|
-
</vector>
|
android/app/src/main/res/drawable/background.png
DELETED
|
Binary file
|
android/app/src/main/res/drawable/launch_background.xml
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Modify this file to customize your launch splash screen -->
|
|
2
3
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
|
4
|
+
<item android:drawable="@android:color/white" />
|
|
5
|
+
|
|
6
|
+
<!-- You can insert your own image assets here -->
|
|
3
|
-
<item>
|
|
7
|
+
<!-- <item>
|
|
8
|
+
<bitmap
|
|
9
|
+
android:gravity="center"
|
|
4
|
-
|
|
10
|
+
android:src="@mipmap/launch_image" />
|
|
5
|
-
</item>
|
|
11
|
+
</item> -->
|
|
6
|
-
<item>
|
|
7
|
-
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
|
8
|
-
</item>
|
|
9
12
|
</layer-list>
|
android/app/src/main/res/mipmap-anydpi-v26/app_icon.xml
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
|
3
|
-
<background android:drawable="@drawable/app_icon_background"/>
|
|
4
|
-
<foreground android:drawable="@drawable/app_icon_foreground"/>
|
|
5
|
-
</adaptive-icon>
|
android/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
|
3
|
-
<background android:drawable="@drawable/app_icon_background"/>
|
|
4
|
-
<foreground android:drawable="@drawable/app_icon_foreground"/>
|
|
5
|
-
</adaptive-icon>
|
android/app/src/main/res/mipmap-hdpi/app_icon.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-hdpi/app_icon_round.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-hdpi/ic_launcher.png
ADDED
|
Binary file
|
android/app/src/main/res/mipmap-mdpi/app_icon.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-mdpi/app_icon_round.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-mdpi/ic_launcher.png
ADDED
|
Binary file
|
android/app/src/main/res/mipmap-xhdpi/app_icon.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-xhdpi/app_icon_round.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
ADDED
|
Binary file
|
android/app/src/main/res/mipmap-xxhdpi/app_icon.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-xxhdpi/app_icon_round.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
ADDED
|
Binary file
|
android/app/src/main/res/mipmap-xxxhdpi/app_icon.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-xxxhdpi/app_icon_round.webp
DELETED
|
Binary file
|
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
ADDED
|
Binary file
|
android/app/src/main/res/values-night-v31/styles.xml
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<resources>
|
|
3
|
-
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
|
|
4
|
-
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
|
5
|
-
<item name="android:forceDarkAllowed">false</item>
|
|
6
|
-
<item name="android:windowFullscreen">false</item>
|
|
7
|
-
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
8
|
-
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
|
9
|
-
<item name="android:windowSplashScreenBackground">#FFFFFF</item>
|
|
10
|
-
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
|
11
|
-
</style>
|
|
12
|
-
<!-- Theme applied to the Android Window as soon as the process has started.
|
|
13
|
-
This theme determines the color of the Android Window while your
|
|
14
|
-
Flutter UI initializes, as well as behind your Flutter UI while its
|
|
15
|
-
running.
|
|
16
|
-
|
|
17
|
-
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
|
18
|
-
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
|
19
|
-
<item name="android:windowBackground">?android:colorBackground</item>
|
|
20
|
-
</style>
|
|
21
|
-
</resources>
|
android/app/src/main/res/values-night/styles.xml
CHANGED
|
@@ -5,10 +5,6 @@
|
|
|
5
5
|
<!-- Show a splash screen on the activity. Automatically removed when
|
|
6
6
|
the Flutter engine draws its first frame -->
|
|
7
7
|
<item name="android:windowBackground">@drawable/launch_background</item>
|
|
8
|
-
<item name="android:forceDarkAllowed">false</item>
|
|
9
|
-
<item name="android:windowFullscreen">false</item>
|
|
10
|
-
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
11
|
-
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
|
12
8
|
</style>
|
|
13
9
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
|
14
10
|
This theme determines the color of the Android Window while your
|
android/app/src/main/res/values-v31/styles.xml
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<resources>
|
|
3
|
-
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
|
|
4
|
-
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
|
5
|
-
<item name="android:forceDarkAllowed">false</item>
|
|
6
|
-
<item name="android:windowFullscreen">false</item>
|
|
7
|
-
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
8
|
-
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
|
9
|
-
<item name="android:windowSplashScreenBackground">#FFFFFF</item>
|
|
10
|
-
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
|
11
|
-
</style>
|
|
12
|
-
<!-- Theme applied to the Android Window as soon as the process has started.
|
|
13
|
-
This theme determines the color of the Android Window while your
|
|
14
|
-
Flutter UI initializes, as well as behind your Flutter UI while its
|
|
15
|
-
running.
|
|
16
|
-
|
|
17
|
-
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
|
18
|
-
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
|
19
|
-
<item name="android:windowBackground">?android:colorBackground</item>
|
|
20
|
-
</style>
|
|
21
|
-
</resources>
|
android/app/src/main/res/values/styles.xml
CHANGED
|
@@ -5,10 +5,6 @@
|
|
|
5
5
|
<!-- Show a splash screen on the activity. Automatically removed when
|
|
6
6
|
the Flutter engine draws its first frame -->
|
|
7
7
|
<item name="android:windowBackground">@drawable/launch_background</item>
|
|
8
|
-
<item name="android:forceDarkAllowed">false</item>
|
|
9
|
-
<item name="android:windowFullscreen">false</item>
|
|
10
|
-
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
11
|
-
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
|
12
8
|
</style>
|
|
13
9
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
|
14
10
|
This theme determines the color of the Android Window while your
|
android/build.gradle
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
allprojects {
|
|
2
|
-
repositories {
|
|
3
|
-
google()
|
|
4
|
-
mavenCentral()
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
rootProject.buildDir = '../build'
|
|
9
|
-
subprojects {
|
|
10
|
-
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
|
11
|
-
}
|
|
12
|
-
subprojects {
|
|
13
|
-
project.evaluationDependsOn(':app')
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
tasks.register("clean", Delete) {
|
|
17
|
-
delete rootProject.buildDir
|
|
18
|
-
}
|
android/build.gradle.kts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
allprojects {
|
|
2
|
+
repositories {
|
|
3
|
+
google()
|
|
4
|
+
mavenCentral()
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
val newBuildDir: Directory =
|
|
9
|
+
rootProject.layout.buildDirectory
|
|
10
|
+
.dir("../../build")
|
|
11
|
+
.get()
|
|
12
|
+
rootProject.layout.buildDirectory.value(newBuildDir)
|
|
13
|
+
|
|
14
|
+
subprojects {
|
|
15
|
+
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
|
|
16
|
+
project.layout.buildDirectory.value(newSubprojectBuildDir)
|
|
17
|
+
}
|
|
18
|
+
subprojects {
|
|
19
|
+
project.evaluationDependsOn(":app")
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
tasks.register<Delete>("clean") {
|
|
23
|
+
delete(rootProject.layout.buildDirectory)
|
|
24
|
+
}
|
android/fastlane/Appfile
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
json_key_file("pc-api-6297146122987569611-934-3fe14b04a8de.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
|
|
2
|
-
package_name("sh.pyros.only_bible_app") # e.g. com.krausefx.app
|
android/fastlane/Fastfile
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# This file contains the fastlane.tools configuration
|
|
2
|
-
# You can find the documentation at https://docs.fastlane.tools
|
|
3
|
-
#
|
|
4
|
-
# For a list of all available actions, check out
|
|
5
|
-
#
|
|
6
|
-
# https://docs.fastlane.tools/actions
|
|
7
|
-
#
|
|
8
|
-
# For a list of all available plugins, check out
|
|
9
|
-
#
|
|
10
|
-
# https://docs.fastlane.tools/plugins/available-plugins
|
|
11
|
-
#
|
|
12
|
-
|
|
13
|
-
# Uncomment the line if you want fastlane to automatically update itself
|
|
14
|
-
# update_fastlane
|
|
15
|
-
|
|
16
|
-
default_platform(:android)
|
|
17
|
-
|
|
18
|
-
platform :android do
|
|
19
|
-
desc "Runs all the tests"
|
|
20
|
-
lane :test do
|
|
21
|
-
gradle(task: "test")
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
desc "Submit a new Beta Build to Crashlytics Beta"
|
|
25
|
-
lane :beta do
|
|
26
|
-
gradle(task: "clean assembleRelease")
|
|
27
|
-
crashlytics
|
|
28
|
-
|
|
29
|
-
# sh "your_script.sh"
|
|
30
|
-
# You can also use other beta testing services here
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
desc "Deploy a new version to the Google Play"
|
|
34
|
-
lane :deploy do
|
|
35
|
-
gradle(task: "clean assembleRelease")
|
|
36
|
-
upload_to_play_store
|
|
37
|
-
end
|
|
38
|
-
end
|
android/fastlane/metadata/android/en-GB/changelogs/10.txt
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
Remove markdown
|
|
2
|
-
Improve audio loading
|
android/fastlane/metadata/android/en-GB/changelogs/9.txt
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
Remove notes feature
|
|
2
|
-
Fixed some issues
|
android/fastlane/metadata/android/en-GB/full_description.txt
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
A minimalistic bible app with a simplistic design for easy reading everyday
|
|
2
|
-
You can highlight verses and share them as well.
|
|
3
|
-
Audio playback is available for some of the languages.
|
|
4
|
-
These are the languages currently available in the app,
|
|
5
|
-
Bengali
|
|
6
|
-
English
|
|
7
|
-
Gujarati
|
|
8
|
-
Hindi
|
|
9
|
-
Kannada
|
|
10
|
-
Malayalam
|
|
11
|
-
Nepali
|
|
12
|
-
Oriya
|
|
13
|
-
Punjabi
|
|
14
|
-
Tamil
|
|
15
|
-
Telugu
|
android/fastlane/metadata/android/en-GB/images/featureGraphic.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/icon.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/1_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/2_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/3_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/4_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/5_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/6_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/phoneScreenshots/7_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/1_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/2_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/3_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/sevenInchScreenshots/4_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/1_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/2_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/3_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/images/tenInchScreenshots/4_en-GB.png
DELETED
|
Binary file
|
android/fastlane/metadata/android/en-GB/short_description.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
A minimalistic bible app with a simplistic design for easy reading everyday
|
android/fastlane/metadata/android/en-GB/title.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Only Bible App
|
android/fastlane/metadata/android/en-GB/video.txt
DELETED
|
File without changes
|
android/gradle.properties
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
org.gradle.jvmargs=-
|
|
1
|
+
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
|
|
2
2
|
android.useAndroidX=true
|
|
3
|
-
android.enableJetifier=true
|
android/gradle/wrapper/gradle-wrapper.properties
CHANGED
|
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
3
|
zipStoreBase=GRADLE_USER_HOME
|
|
4
4
|
zipStorePath=wrapper/dists
|
|
5
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-
|
|
5
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip
|
android/key.properties
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
storePassword=enter_pass
|
|
2
|
-
keyPassword=enter_pass
|
|
3
|
-
keyAlias=upload
|
|
4
|
-
storeFile=../upload-keystore.jks
|
android/settings.gradle
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
pluginManagement {
|
|
2
|
-
def flutterSdkPath = {
|
|
3
|
-
def properties = new Properties()
|
|
4
|
-
file("local.properties").withInputStream { properties.load(it) }
|
|
5
|
-
def flutterSdkPath = properties.getProperty("flutter.sdk")
|
|
6
|
-
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
|
|
7
|
-
return flutterSdkPath
|
|
8
|
-
}()
|
|
9
|
-
|
|
10
|
-
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
|
|
11
|
-
|
|
12
|
-
repositories {
|
|
13
|
-
google()
|
|
14
|
-
mavenCentral()
|
|
15
|
-
gradlePluginPortal()
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
plugins {
|
|
20
|
-
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
|
21
|
-
id "com.android.application" version "7.3.0" apply false
|
|
22
|
-
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
include ":app"
|
android/settings.gradle.kts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
pluginManagement {
|
|
2
|
+
val flutterSdkPath =
|
|
3
|
+
run {
|
|
4
|
+
val properties = java.util.Properties()
|
|
5
|
+
file("local.properties").inputStream().use { properties.load(it) }
|
|
6
|
+
val flutterSdkPath = properties.getProperty("flutter.sdk")
|
|
7
|
+
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
|
|
8
|
+
flutterSdkPath
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
|
|
12
|
+
|
|
13
|
+
repositories {
|
|
14
|
+
google()
|
|
15
|
+
mavenCentral()
|
|
16
|
+
gradlePluginPortal()
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
plugins {
|
|
21
|
+
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
|
22
|
+
id("com.android.application") version "8.11.1" apply false
|
|
23
|
+
id("org.jetbrains.kotlin.android") version "2.2.20" apply false
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
include(":app")
|
devtools_options.yaml
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
description: This file stores settings for Dart & Flutter DevTools.
|
|
2
|
+
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
|
|
3
|
+
extensions:
|
ios/.gitignore
CHANGED
|
@@ -32,4 +32,3 @@ Runner/GeneratedPluginRegistrant.*
|
|
|
32
32
|
!default.mode2v3
|
|
33
33
|
!default.pbxuser
|
|
34
34
|
!default.perspectivev3
|
|
35
|
-
/fastlane/Preview.html
|
ios/Flutter/AppFrameworkInfo.plist
CHANGED
|
@@ -20,7 +20,5 @@
|
|
|
20
20
|
<string>????</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
22
|
<string>1.0</string>
|
|
23
|
-
<key>MinimumOSVersion</key>
|
|
24
|
-
<string>12.0</string>
|
|
25
23
|
</dict>
|
|
26
24
|
</plist>
|
ios/Gemfile
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
source "https://rubygems.org"
|
|
2
|
-
|
|
3
|
-
gem "fastlane"
|
ios/Gemfile.lock
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
GEM
|
|
2
|
-
remote: https://rubygems.org/
|
|
3
|
-
specs:
|
|
4
|
-
CFPropertyList (3.0.7)
|
|
5
|
-
base64
|
|
6
|
-
nkf
|
|
7
|
-
rexml
|
|
8
|
-
addressable (2.8.6)
|
|
9
|
-
public_suffix (>= 2.0.2, < 6.0)
|
|
10
|
-
artifactory (3.0.17)
|
|
11
|
-
atomos (0.1.3)
|
|
12
|
-
aws-eventstream (1.3.0)
|
|
13
|
-
aws-partitions (1.922.0)
|
|
14
|
-
aws-sdk-core (3.194.0)
|
|
15
|
-
aws-eventstream (~> 1, >= 1.3.0)
|
|
16
|
-
aws-partitions (~> 1, >= 1.651.0)
|
|
17
|
-
aws-sigv4 (~> 1.8)
|
|
18
|
-
jmespath (~> 1, >= 1.6.1)
|
|
19
|
-
aws-sdk-kms (1.80.0)
|
|
20
|
-
aws-sdk-core (~> 3, >= 3.193.0)
|
|
21
|
-
aws-sigv4 (~> 1.1)
|
|
22
|
-
aws-sdk-s3 (1.149.0)
|
|
23
|
-
aws-sdk-core (~> 3, >= 3.194.0)
|
|
24
|
-
aws-sdk-kms (~> 1)
|
|
25
|
-
aws-sigv4 (~> 1.8)
|
|
26
|
-
aws-sigv4 (1.8.0)
|
|
27
|
-
aws-eventstream (~> 1, >= 1.0.2)
|
|
28
|
-
babosa (1.0.4)
|
|
29
|
-
base64 (0.2.0)
|
|
30
|
-
claide (1.1.0)
|
|
31
|
-
colored (1.2)
|
|
32
|
-
colored2 (3.1.2)
|
|
33
|
-
commander (4.6.0)
|
|
34
|
-
highline (~> 2.0.0)
|
|
35
|
-
declarative (0.0.20)
|
|
36
|
-
digest-crc (0.6.5)
|
|
37
|
-
rake (>= 12.0.0, < 14.0.0)
|
|
38
|
-
domain_name (0.6.20240107)
|
|
39
|
-
dotenv (2.8.1)
|
|
40
|
-
emoji_regex (3.2.3)
|
|
41
|
-
excon (0.110.0)
|
|
42
|
-
faraday (1.10.3)
|
|
43
|
-
faraday-em_http (~> 1.0)
|
|
44
|
-
faraday-em_synchrony (~> 1.0)
|
|
45
|
-
faraday-excon (~> 1.1)
|
|
46
|
-
faraday-httpclient (~> 1.0)
|
|
47
|
-
faraday-multipart (~> 1.0)
|
|
48
|
-
faraday-net_http (~> 1.0)
|
|
49
|
-
faraday-net_http_persistent (~> 1.0)
|
|
50
|
-
faraday-patron (~> 1.0)
|
|
51
|
-
faraday-rack (~> 1.0)
|
|
52
|
-
faraday-retry (~> 1.0)
|
|
53
|
-
ruby2_keywords (>= 0.0.4)
|
|
54
|
-
faraday-cookie_jar (0.0.7)
|
|
55
|
-
faraday (>= 0.8.0)
|
|
56
|
-
http-cookie (~> 1.0.0)
|
|
57
|
-
faraday-em_http (1.0.0)
|
|
58
|
-
faraday-em_synchrony (1.0.0)
|
|
59
|
-
faraday-excon (1.1.0)
|
|
60
|
-
faraday-httpclient (1.0.1)
|
|
61
|
-
faraday-multipart (1.0.4)
|
|
62
|
-
multipart-post (~> 2)
|
|
63
|
-
faraday-net_http (1.0.1)
|
|
64
|
-
faraday-net_http_persistent (1.2.0)
|
|
65
|
-
faraday-patron (1.0.0)
|
|
66
|
-
faraday-rack (1.0.0)
|
|
67
|
-
faraday-retry (1.0.3)
|
|
68
|
-
faraday_middleware (1.2.0)
|
|
69
|
-
faraday (~> 1.0)
|
|
70
|
-
fastimage (2.3.1)
|
|
71
|
-
fastlane (2.220.0)
|
|
72
|
-
CFPropertyList (>= 2.3, < 4.0.0)
|
|
73
|
-
addressable (>= 2.8, < 3.0.0)
|
|
74
|
-
artifactory (~> 3.0)
|
|
75
|
-
aws-sdk-s3 (~> 1.0)
|
|
76
|
-
babosa (>= 1.0.3, < 2.0.0)
|
|
77
|
-
bundler (>= 1.12.0, < 3.0.0)
|
|
78
|
-
colored (~> 1.2)
|
|
79
|
-
commander (~> 4.6)
|
|
80
|
-
dotenv (>= 2.1.1, < 3.0.0)
|
|
81
|
-
emoji_regex (>= 0.1, < 4.0)
|
|
82
|
-
excon (>= 0.71.0, < 1.0.0)
|
|
83
|
-
faraday (~> 1.0)
|
|
84
|
-
faraday-cookie_jar (~> 0.0.6)
|
|
85
|
-
faraday_middleware (~> 1.0)
|
|
86
|
-
fastimage (>= 2.1.0, < 3.0.0)
|
|
87
|
-
gh_inspector (>= 1.1.2, < 2.0.0)
|
|
88
|
-
google-apis-androidpublisher_v3 (~> 0.3)
|
|
89
|
-
google-apis-playcustomapp_v1 (~> 0.1)
|
|
90
|
-
google-cloud-env (>= 1.6.0, < 2.0.0)
|
|
91
|
-
google-cloud-storage (~> 1.31)
|
|
92
|
-
highline (~> 2.0)
|
|
93
|
-
http-cookie (~> 1.0.5)
|
|
94
|
-
json (< 3.0.0)
|
|
95
|
-
jwt (>= 2.1.0, < 3)
|
|
96
|
-
mini_magick (>= 4.9.4, < 5.0.0)
|
|
97
|
-
multipart-post (>= 2.0.0, < 3.0.0)
|
|
98
|
-
naturally (~> 2.2)
|
|
99
|
-
optparse (>= 0.1.1, < 1.0.0)
|
|
100
|
-
plist (>= 3.1.0, < 4.0.0)
|
|
101
|
-
rubyzip (>= 2.0.0, < 3.0.0)
|
|
102
|
-
security (= 0.1.5)
|
|
103
|
-
simctl (~> 1.6.3)
|
|
104
|
-
terminal-notifier (>= 2.0.0, < 3.0.0)
|
|
105
|
-
terminal-table (~> 3)
|
|
106
|
-
tty-screen (>= 0.6.3, < 1.0.0)
|
|
107
|
-
tty-spinner (>= 0.8.0, < 1.0.0)
|
|
108
|
-
word_wrap (~> 1.0.0)
|
|
109
|
-
xcodeproj (>= 1.13.0, < 2.0.0)
|
|
110
|
-
xcpretty (~> 0.3.0)
|
|
111
|
-
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
|
112
|
-
gh_inspector (1.1.3)
|
|
113
|
-
google-apis-androidpublisher_v3 (0.54.0)
|
|
114
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
115
|
-
google-apis-core (0.11.3)
|
|
116
|
-
addressable (~> 2.5, >= 2.5.1)
|
|
117
|
-
googleauth (>= 0.16.2, < 2.a)
|
|
118
|
-
httpclient (>= 2.8.1, < 3.a)
|
|
119
|
-
mini_mime (~> 1.0)
|
|
120
|
-
representable (~> 3.0)
|
|
121
|
-
retriable (>= 2.0, < 4.a)
|
|
122
|
-
rexml
|
|
123
|
-
google-apis-iamcredentials_v1 (0.17.0)
|
|
124
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
125
|
-
google-apis-playcustomapp_v1 (0.13.0)
|
|
126
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
127
|
-
google-apis-storage_v1 (0.31.0)
|
|
128
|
-
google-apis-core (>= 0.11.0, < 2.a)
|
|
129
|
-
google-cloud-core (1.7.0)
|
|
130
|
-
google-cloud-env (>= 1.0, < 3.a)
|
|
131
|
-
google-cloud-errors (~> 1.0)
|
|
132
|
-
google-cloud-env (1.6.0)
|
|
133
|
-
faraday (>= 0.17.3, < 3.0)
|
|
134
|
-
google-cloud-errors (1.4.0)
|
|
135
|
-
google-cloud-storage (1.47.0)
|
|
136
|
-
addressable (~> 2.8)
|
|
137
|
-
digest-crc (~> 0.4)
|
|
138
|
-
google-apis-iamcredentials_v1 (~> 0.1)
|
|
139
|
-
google-apis-storage_v1 (~> 0.31.0)
|
|
140
|
-
google-cloud-core (~> 1.6)
|
|
141
|
-
googleauth (>= 0.16.2, < 2.a)
|
|
142
|
-
mini_mime (~> 1.0)
|
|
143
|
-
googleauth (1.8.1)
|
|
144
|
-
faraday (>= 0.17.3, < 3.a)
|
|
145
|
-
jwt (>= 1.4, < 3.0)
|
|
146
|
-
multi_json (~> 1.11)
|
|
147
|
-
os (>= 0.9, < 2.0)
|
|
148
|
-
signet (>= 0.16, < 2.a)
|
|
149
|
-
highline (2.0.3)
|
|
150
|
-
http-cookie (1.0.5)
|
|
151
|
-
domain_name (~> 0.5)
|
|
152
|
-
httpclient (2.8.3)
|
|
153
|
-
jmespath (1.6.2)
|
|
154
|
-
json (2.7.2)
|
|
155
|
-
jwt (2.8.1)
|
|
156
|
-
base64
|
|
157
|
-
mini_magick (4.12.0)
|
|
158
|
-
mini_mime (1.1.5)
|
|
159
|
-
multi_json (1.15.0)
|
|
160
|
-
multipart-post (2.4.0)
|
|
161
|
-
nanaimo (0.3.0)
|
|
162
|
-
naturally (2.2.1)
|
|
163
|
-
nkf (0.2.0)
|
|
164
|
-
optparse (0.5.0)
|
|
165
|
-
os (1.1.4)
|
|
166
|
-
plist (3.7.1)
|
|
167
|
-
public_suffix (5.0.5)
|
|
168
|
-
rake (13.2.1)
|
|
169
|
-
representable (3.2.0)
|
|
170
|
-
declarative (< 0.1.0)
|
|
171
|
-
trailblazer-option (>= 0.1.1, < 0.2.0)
|
|
172
|
-
uber (< 0.2.0)
|
|
173
|
-
retriable (3.1.2)
|
|
174
|
-
rexml (3.2.6)
|
|
175
|
-
rouge (2.0.7)
|
|
176
|
-
ruby2_keywords (0.0.5)
|
|
177
|
-
rubyzip (2.3.2)
|
|
178
|
-
security (0.1.5)
|
|
179
|
-
signet (0.19.0)
|
|
180
|
-
addressable (~> 2.8)
|
|
181
|
-
faraday (>= 0.17.5, < 3.a)
|
|
182
|
-
jwt (>= 1.5, < 3.0)
|
|
183
|
-
multi_json (~> 1.10)
|
|
184
|
-
simctl (1.6.10)
|
|
185
|
-
CFPropertyList
|
|
186
|
-
naturally
|
|
187
|
-
terminal-notifier (2.0.0)
|
|
188
|
-
terminal-table (3.0.2)
|
|
189
|
-
unicode-display_width (>= 1.1.1, < 3)
|
|
190
|
-
trailblazer-option (0.1.2)
|
|
191
|
-
tty-cursor (0.7.1)
|
|
192
|
-
tty-screen (0.8.2)
|
|
193
|
-
tty-spinner (0.9.3)
|
|
194
|
-
tty-cursor (~> 0.7)
|
|
195
|
-
uber (0.1.0)
|
|
196
|
-
unicode-display_width (2.5.0)
|
|
197
|
-
word_wrap (1.0.0)
|
|
198
|
-
xcodeproj (1.24.0)
|
|
199
|
-
CFPropertyList (>= 2.3.3, < 4.0)
|
|
200
|
-
atomos (~> 0.1.3)
|
|
201
|
-
claide (>= 1.0.2, < 2.0)
|
|
202
|
-
colored2 (~> 3.1)
|
|
203
|
-
nanaimo (~> 0.3.0)
|
|
204
|
-
rexml (~> 3.2.4)
|
|
205
|
-
xcpretty (0.3.0)
|
|
206
|
-
rouge (~> 2.0.7)
|
|
207
|
-
xcpretty-travis-formatter (1.0.1)
|
|
208
|
-
xcpretty (~> 0.2, >= 0.0.7)
|
|
209
|
-
|
|
210
|
-
PLATFORMS
|
|
211
|
-
arm64-darwin-23
|
|
212
|
-
ruby
|
|
213
|
-
|
|
214
|
-
DEPENDENCIES
|
|
215
|
-
fastlane
|
|
216
|
-
|
|
217
|
-
BUNDLED WITH
|
|
218
|
-
2.5.9
|
ios/Podfile
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Uncomment this line to define a global platform for your project
|
|
2
|
-
|
|
2
|
+
platform :ios, '13.0'
|
|
3
3
|
|
|
4
4
|
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
|
5
5
|
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
|
@@ -29,7 +29,6 @@ flutter_ios_podfile_setup
|
|
|
29
29
|
|
|
30
30
|
target 'Runner' do
|
|
31
31
|
use_frameworks!
|
|
32
|
-
use_modular_headers!
|
|
33
32
|
|
|
34
33
|
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
|
|
35
34
|
target 'RunnerTests' do
|
|
@@ -40,13 +39,5 @@ end
|
|
|
40
39
|
post_install do |installer|
|
|
41
40
|
installer.pods_project.targets.each do |target|
|
|
42
41
|
flutter_additional_ios_build_settings(target)
|
|
43
|
-
|
|
44
|
-
# ADDED TO REMOVE MICROPHONE_PERMISSION
|
|
45
|
-
target.build_configurations.each do |config|
|
|
46
|
-
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
|
|
47
|
-
'$(inherited)',
|
|
48
|
-
'AUDIO_SESSION_MICROPHONE=0'
|
|
49
|
-
]
|
|
50
|
-
end
|
|
51
42
|
end
|
|
52
43
|
end
|
ios/Podfile.lock
CHANGED
|
@@ -4,19 +4,15 @@ PODS:
|
|
|
4
4
|
- audio_session (0.0.1):
|
|
5
5
|
- Flutter
|
|
6
6
|
- Flutter (1.0.0)
|
|
7
|
-
- flutter_native_splash (
|
|
7
|
+
- flutter_native_splash (2.4.3):
|
|
8
8
|
- Flutter
|
|
9
9
|
- integration_test (0.0.1):
|
|
10
10
|
- Flutter
|
|
11
11
|
- just_audio (0.0.1):
|
|
12
12
|
- Flutter
|
|
13
|
-
- package_info (0.0.1):
|
|
14
|
-
-
|
|
13
|
+
- FlutterMacOS
|
|
15
14
|
- package_info_plus (0.4.5):
|
|
16
15
|
- Flutter
|
|
17
|
-
- path_provider_foundation (0.0.1):
|
|
18
|
-
- Flutter
|
|
19
|
-
- FlutterMacOS
|
|
20
16
|
- share_plus (0.0.1):
|
|
21
17
|
- Flutter
|
|
22
18
|
- shared_preferences_foundation (0.0.1):
|
|
@@ -26,6 +22,7 @@ PODS:
|
|
|
26
22
|
- Flutter
|
|
27
23
|
- webview_flutter_wkwebview (0.0.1):
|
|
28
24
|
- Flutter
|
|
25
|
+
- FlutterMacOS
|
|
29
26
|
|
|
30
27
|
DEPENDENCIES:
|
|
31
28
|
- app_review (from `.symlinks/plugins/app_review/ios`)
|
|
@@ -33,14 +30,12 @@ DEPENDENCIES:
|
|
|
33
30
|
- Flutter (from `Flutter`)
|
|
34
31
|
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
|
35
32
|
- integration_test (from `.symlinks/plugins/integration_test/ios`)
|
|
36
|
-
- just_audio (from `.symlinks/plugins/just_audio/
|
|
33
|
+
- just_audio (from `.symlinks/plugins/just_audio/darwin`)
|
|
37
|
-
- package_info (from `.symlinks/plugins/package_info/ios`)
|
|
38
34
|
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
|
39
|
-
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
|
40
35
|
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
|
41
36
|
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
|
42
37
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
|
43
|
-
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/
|
|
38
|
+
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
|
|
44
39
|
|
|
45
40
|
EXTERNAL SOURCES:
|
|
46
41
|
app_review:
|
|
@@ -54,13 +49,9 @@ EXTERNAL SOURCES:
|
|
|
54
49
|
integration_test:
|
|
55
50
|
:path: ".symlinks/plugins/integration_test/ios"
|
|
56
51
|
just_audio:
|
|
57
|
-
:path: ".symlinks/plugins/just_audio/
|
|
52
|
+
:path: ".symlinks/plugins/just_audio/darwin"
|
|
58
|
-
package_info:
|
|
59
|
-
:path: ".symlinks/plugins/package_info/ios"
|
|
60
53
|
package_info_plus:
|
|
61
54
|
:path: ".symlinks/plugins/package_info_plus/ios"
|
|
62
|
-
path_provider_foundation:
|
|
63
|
-
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
|
64
55
|
share_plus:
|
|
65
56
|
:path: ".symlinks/plugins/share_plus/ios"
|
|
66
57
|
shared_preferences_foundation:
|
|
@@ -68,23 +59,21 @@ EXTERNAL SOURCES:
|
|
|
68
59
|
url_launcher_ios:
|
|
69
60
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
|
70
61
|
webview_flutter_wkwebview:
|
|
71
|
-
:path: ".symlinks/plugins/webview_flutter_wkwebview/
|
|
62
|
+
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
|
|
72
63
|
|
|
73
64
|
SPEC CHECKSUMS:
|
|
74
|
-
app_review:
|
|
65
|
+
app_review: f75e3250ef5694e328a5ecb3f4c445bc7b32d821
|
|
75
|
-
audio_session:
|
|
66
|
+
audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
|
|
76
|
-
Flutter:
|
|
67
|
+
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
|
|
77
|
-
flutter_native_splash:
|
|
68
|
+
flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
|
|
78
|
-
integration_test:
|
|
69
|
+
integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e
|
|
79
|
-
just_audio:
|
|
70
|
+
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
|
|
80
|
-
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
|
|
81
|
-
package_info_plus:
|
|
71
|
+
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
|
|
82
|
-
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
|
|
83
|
-
share_plus:
|
|
72
|
+
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
|
|
84
|
-
shared_preferences_foundation:
|
|
73
|
+
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
|
|
85
|
-
url_launcher_ios:
|
|
74
|
+
url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
|
|
86
|
-
webview_flutter_wkwebview:
|
|
75
|
+
webview_flutter_wkwebview: 8ebf4fded22593026f7dbff1fbff31ea98573c8d
|
|
87
76
|
|
|
88
|
-
PODFILE CHECKSUM:
|
|
77
|
+
PODFILE CHECKSUM: 251cb053df7158f337c0712f2ab29f4e0fa474ce
|
|
89
78
|
|
|
90
|
-
COCOAPODS: 1.
|
|
79
|
+
COCOAPODS: 1.16.2
|
ios/Runner.xcodeproj/project.pbxproj
CHANGED
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
10
|
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
|
11
11
|
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
|
|
12
|
+
391BE44176019420B8A3CC71 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 47321D7A556A4A9BF16431AF /* Pods_RunnerTests.framework */; };
|
|
12
13
|
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
|
13
14
|
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
|
15
|
+
7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; };
|
|
14
16
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
|
15
17
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
|
16
18
|
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
|
17
|
-
|
|
19
|
+
B492E2663736AD73EF7204F6 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 547E0FBE28272A54761BA898 /* Pods_Runner.framework */; };
|
|
18
|
-
FB9F5403A3B57BAD1E770129 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5AD215C744494B08592005 /* Pods_RunnerTests.framework */; };
|
|
19
20
|
/* End PBXBuildFile section */
|
|
20
21
|
|
|
21
22
|
/* Begin PBXContainerItemProxy section */
|
|
@@ -42,18 +43,21 @@
|
|
|
42
43
|
/* End PBXCopyFilesBuildPhase section */
|
|
43
44
|
|
|
44
45
|
/* Begin PBXFileReference section */
|
|
45
|
-
11A3CB54E1C859033BF81ADE /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
|
|
46
46
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
|
47
47
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
|
48
48
|
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
|
|
49
49
|
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
50
50
|
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
|
51
|
-
|
|
51
|
+
43630B2A8F1EB61852D12394 /* 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>"; };
|
|
52
|
+
4420C6B24FA27C901C38F165 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
|
|
53
|
+
47321D7A556A4A9BF16431AF /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
54
|
+
547E0FBE28272A54761BA898 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
55
|
+
6044DC6CC5B6EC34A4CDDEAB /* 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>"; };
|
|
52
56
|
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
53
57
|
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
|
54
|
-
|
|
58
|
+
7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
|
|
55
59
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
|
56
|
-
|
|
60
|
+
8445FAB3A6845463961F425E /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
|
|
57
61
|
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
|
58
62
|
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
|
59
63
|
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
@@ -61,26 +65,24 @@
|
|
|
61
65
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
62
66
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
63
67
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
ED46548F0FD8B445F1271918 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
|
|
67
|
-
F1056E6225D7B9DFDC5810AC /* 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>"; };
|
|
68
|
+
B617937D6DA9BB0132F54E43 /* 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>"; };
|
|
69
|
+
D7CDE34E68CE03AC0364CCBE /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
|
|
68
70
|
/* End PBXFileReference section */
|
|
69
71
|
|
|
70
72
|
/* Begin PBXFrameworksBuildPhase section */
|
|
71
|
-
|
|
73
|
+
13AD50860C8A698628F45191 /* Frameworks */ = {
|
|
72
74
|
isa = PBXFrameworksBuildPhase;
|
|
73
75
|
buildActionMask = 2147483647;
|
|
74
76
|
files = (
|
|
75
|
-
|
|
77
|
+
391BE44176019420B8A3CC71 /* Pods_RunnerTests.framework in Frameworks */,
|
|
76
78
|
);
|
|
77
79
|
runOnlyForDeploymentPostprocessing = 0;
|
|
78
80
|
};
|
|
79
|
-
|
|
81
|
+
97C146EB1CF9000F007C117D /* Frameworks */ = {
|
|
80
82
|
isa = PBXFrameworksBuildPhase;
|
|
81
83
|
buildActionMask = 2147483647;
|
|
82
84
|
files = (
|
|
83
|
-
|
|
85
|
+
B492E2663736AD73EF7204F6 /* Pods_Runner.framework in Frameworks */,
|
|
84
86
|
);
|
|
85
87
|
runOnlyForDeploymentPostprocessing = 0;
|
|
86
88
|
};
|
|
@@ -95,13 +97,18 @@
|
|
|
95
97
|
path = RunnerTests;
|
|
96
98
|
sourceTree = "<group>";
|
|
97
99
|
};
|
|
98
|
-
|
|
100
|
+
818932C489EE28D703604D07 /* Pods */ = {
|
|
99
101
|
isa = PBXGroup;
|
|
100
102
|
children = (
|
|
103
|
+
6044DC6CC5B6EC34A4CDDEAB /* Pods-Runner.debug.xcconfig */,
|
|
101
|
-
|
|
104
|
+
B617937D6DA9BB0132F54E43 /* Pods-Runner.release.xcconfig */,
|
|
105
|
+
43630B2A8F1EB61852D12394 /* Pods-Runner.profile.xcconfig */,
|
|
106
|
+
4420C6B24FA27C901C38F165 /* Pods-RunnerTests.debug.xcconfig */,
|
|
107
|
+
D7CDE34E68CE03AC0364CCBE /* Pods-RunnerTests.release.xcconfig */,
|
|
102
|
-
|
|
108
|
+
8445FAB3A6845463961F425E /* Pods-RunnerTests.profile.xcconfig */,
|
|
103
|
-
);
|
|
109
|
+
);
|
|
104
|
-
name =
|
|
110
|
+
name = Pods;
|
|
111
|
+
path = Pods;
|
|
105
112
|
sourceTree = "<group>";
|
|
106
113
|
};
|
|
107
114
|
9740EEB11CF90186004384FC /* Flutter */ = {
|
|
@@ -122,8 +129,8 @@
|
|
|
122
129
|
97C146F01CF9000F007C117D /* Runner */,
|
|
123
130
|
97C146EF1CF9000F007C117D /* Products */,
|
|
124
131
|
331C8082294A63A400263BE5 /* RunnerTests */,
|
|
125
|
-
|
|
132
|
+
818932C489EE28D703604D07 /* Pods */,
|
|
126
|
-
|
|
133
|
+
AB430DFF6A3D37D341DBDBAC /* Frameworks */,
|
|
127
134
|
);
|
|
128
135
|
sourceTree = "<group>";
|
|
129
136
|
};
|
|
@@ -146,22 +153,19 @@
|
|
|
146
153
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
|
147
154
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
|
148
155
|
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
|
|
156
|
+
7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */,
|
|
149
157
|
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
|
|
150
158
|
);
|
|
151
159
|
path = Runner;
|
|
152
160
|
sourceTree = "<group>";
|
|
153
161
|
};
|
|
154
|
-
|
|
162
|
+
AB430DFF6A3D37D341DBDBAC /* Frameworks */ = {
|
|
155
163
|
isa = PBXGroup;
|
|
156
164
|
children = (
|
|
157
|
-
D6A5E72AE60CCEBCA26318AC /* Pods-Runner.debug.xcconfig */,
|
|
158
|
-
F1056E6225D7B9DFDC5810AC /* Pods-Runner.release.xcconfig */,
|
|
159
|
-
|
|
165
|
+
547E0FBE28272A54761BA898 /* Pods_Runner.framework */,
|
|
160
|
-
ED46548F0FD8B445F1271918 /* Pods-RunnerTests.debug.xcconfig */,
|
|
161
|
-
|
|
166
|
+
47321D7A556A4A9BF16431AF /* Pods_RunnerTests.framework */,
|
|
162
|
-
11A3CB54E1C859033BF81ADE /* Pods-RunnerTests.profile.xcconfig */,
|
|
163
167
|
);
|
|
164
|
-
|
|
168
|
+
name = Frameworks;
|
|
165
169
|
sourceTree = "<group>";
|
|
166
170
|
};
|
|
167
171
|
/* End PBXGroup section */
|
|
@@ -171,10 +175,10 @@
|
|
|
171
175
|
isa = PBXNativeTarget;
|
|
172
176
|
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
|
|
173
177
|
buildPhases = (
|
|
174
|
-
|
|
178
|
+
1B99EC6CBC943BDF479A1466 /* [CP] Check Pods Manifest.lock */,
|
|
175
179
|
331C807D294A63A400263BE5 /* Sources */,
|
|
176
180
|
331C807F294A63A400263BE5 /* Resources */,
|
|
177
|
-
|
|
181
|
+
13AD50860C8A698628F45191 /* Frameworks */,
|
|
178
182
|
);
|
|
179
183
|
buildRules = (
|
|
180
184
|
);
|
|
@@ -190,14 +194,14 @@
|
|
|
190
194
|
isa = PBXNativeTarget;
|
|
191
195
|
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
|
192
196
|
buildPhases = (
|
|
193
|
-
|
|
197
|
+
5DA2454F7F236B7C3EACFB0C /* [CP] Check Pods Manifest.lock */,
|
|
194
198
|
9740EEB61CF901F6004384FC /* Run Script */,
|
|
195
199
|
97C146EA1CF9000F007C117D /* Sources */,
|
|
196
200
|
97C146EB1CF9000F007C117D /* Frameworks */,
|
|
197
201
|
97C146EC1CF9000F007C117D /* Resources */,
|
|
198
202
|
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
|
199
203
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
|
200
|
-
|
|
204
|
+
C1FC2023EB277B23DF78E0EB /* [CP] Embed Pods Frameworks */,
|
|
201
205
|
);
|
|
202
206
|
buildRules = (
|
|
203
207
|
);
|
|
@@ -269,7 +273,7 @@
|
|
|
269
273
|
/* End PBXResourcesBuildPhase section */
|
|
270
274
|
|
|
271
275
|
/* Begin PBXShellScriptBuildPhase section */
|
|
272
|
-
|
|
276
|
+
1B99EC6CBC943BDF479A1466 /* [CP] Check Pods Manifest.lock */ = {
|
|
273
277
|
isa = PBXShellScriptBuildPhase;
|
|
274
278
|
buildActionMask = 2147483647;
|
|
275
279
|
files = (
|
|
@@ -284,7 +288,7 @@
|
|
|
284
288
|
outputFileListPaths = (
|
|
285
289
|
);
|
|
286
290
|
outputPaths = (
|
|
287
|
-
"$(DERIVED_FILE_DIR)/Pods-
|
|
291
|
+
"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
|
|
288
292
|
);
|
|
289
293
|
runOnlyForDeploymentPostprocessing = 0;
|
|
290
294
|
shellPath = /bin/sh;
|
|
@@ -305,9 +309,9 @@
|
|
|
305
309
|
);
|
|
306
310
|
runOnlyForDeploymentPostprocessing = 0;
|
|
307
311
|
shellPath = /bin/sh;
|
|
308
|
-
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin
|
|
312
|
+
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
|
309
313
|
};
|
|
310
|
-
|
|
314
|
+
5DA2454F7F236B7C3EACFB0C /* [CP] Check Pods Manifest.lock */ = {
|
|
311
315
|
isa = PBXShellScriptBuildPhase;
|
|
312
316
|
buildActionMask = 2147483647;
|
|
313
317
|
files = (
|
|
@@ -322,7 +326,7 @@
|
|
|
322
326
|
outputFileListPaths = (
|
|
323
327
|
);
|
|
324
328
|
outputPaths = (
|
|
325
|
-
"$(DERIVED_FILE_DIR)/Pods-
|
|
329
|
+
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
|
326
330
|
);
|
|
327
331
|
runOnlyForDeploymentPostprocessing = 0;
|
|
328
332
|
shellPath = /bin/sh;
|
|
@@ -342,9 +346,9 @@
|
|
|
342
346
|
);
|
|
343
347
|
runOnlyForDeploymentPostprocessing = 0;
|
|
344
348
|
shellPath = /bin/sh;
|
|
345
|
-
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build
|
|
349
|
+
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
|
346
350
|
};
|
|
347
|
-
|
|
351
|
+
C1FC2023EB277B23DF78E0EB /* [CP] Embed Pods Frameworks */ = {
|
|
348
352
|
isa = PBXShellScriptBuildPhase;
|
|
349
353
|
buildActionMask = 2147483647;
|
|
350
354
|
files = (
|
|
@@ -378,6 +382,7 @@
|
|
|
378
382
|
files = (
|
|
379
383
|
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
|
|
380
384
|
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
|
|
385
|
+
7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */,
|
|
381
386
|
);
|
|
382
387
|
runOnlyForDeploymentPostprocessing = 0;
|
|
383
388
|
};
|
|
@@ -415,6 +420,7 @@
|
|
|
415
420
|
isa = XCBuildConfiguration;
|
|
416
421
|
buildSettings = {
|
|
417
422
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
423
|
+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
|
418
424
|
CLANG_ANALYZER_NONNULL = YES;
|
|
419
425
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
420
426
|
CLANG_CXX_LIBRARY = "libc++";
|
|
@@ -444,6 +450,7 @@
|
|
|
444
450
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
445
451
|
ENABLE_NS_ASSERTIONS = NO;
|
|
446
452
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
453
|
+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
|
447
454
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
448
455
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
449
456
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
@@ -452,7 +459,7 @@
|
|
|
452
459
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
453
460
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
454
461
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
455
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
462
|
+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
|
456
463
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
457
464
|
SDKROOT = iphoneos;
|
|
458
465
|
SUPPORTED_PLATFORMS = iphoneos;
|
|
@@ -470,33 +477,28 @@
|
|
|
470
477
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
|
471
478
|
ENABLE_BITCODE = NO;
|
|
472
479
|
INFOPLIST_FILE = Runner/Info.plist;
|
|
473
|
-
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.books";
|
|
474
480
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
475
481
|
"$(inherited)",
|
|
476
482
|
"@executable_path/Frameworks",
|
|
477
483
|
);
|
|
478
|
-
PRODUCT_BUNDLE_IDENTIFIER =
|
|
484
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp;
|
|
479
485
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
480
|
-
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
481
|
-
SUPPORTS_MACCATALYST = NO;
|
|
482
|
-
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
483
486
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
|
484
487
|
SWIFT_VERSION = 5.0;
|
|
485
|
-
TARGETED_DEVICE_FAMILY = "1,2";
|
|
486
488
|
VERSIONING_SYSTEM = "apple-generic";
|
|
487
489
|
};
|
|
488
490
|
name = Profile;
|
|
489
491
|
};
|
|
490
492
|
331C8088294A63A400263BE5 /* Debug */ = {
|
|
491
493
|
isa = XCBuildConfiguration;
|
|
492
|
-
baseConfigurationReference =
|
|
494
|
+
baseConfigurationReference = 4420C6B24FA27C901C38F165 /* Pods-RunnerTests.debug.xcconfig */;
|
|
493
495
|
buildSettings = {
|
|
494
496
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
495
497
|
CODE_SIGN_STYLE = Automatic;
|
|
496
498
|
CURRENT_PROJECT_VERSION = 1;
|
|
497
499
|
GENERATE_INFOPLIST_FILE = YES;
|
|
498
500
|
MARKETING_VERSION = 1.0;
|
|
499
|
-
PRODUCT_BUNDLE_IDENTIFIER =
|
|
501
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp.RunnerTests;
|
|
500
502
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
501
503
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
502
504
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
@@ -507,14 +509,14 @@
|
|
|
507
509
|
};
|
|
508
510
|
331C8089294A63A400263BE5 /* Release */ = {
|
|
509
511
|
isa = XCBuildConfiguration;
|
|
510
|
-
baseConfigurationReference =
|
|
512
|
+
baseConfigurationReference = D7CDE34E68CE03AC0364CCBE /* Pods-RunnerTests.release.xcconfig */;
|
|
511
513
|
buildSettings = {
|
|
512
514
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
513
515
|
CODE_SIGN_STYLE = Automatic;
|
|
514
516
|
CURRENT_PROJECT_VERSION = 1;
|
|
515
517
|
GENERATE_INFOPLIST_FILE = YES;
|
|
516
518
|
MARKETING_VERSION = 1.0;
|
|
517
|
-
PRODUCT_BUNDLE_IDENTIFIER =
|
|
519
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp.RunnerTests;
|
|
518
520
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
519
521
|
SWIFT_VERSION = 5.0;
|
|
520
522
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
|
|
@@ -523,14 +525,14 @@
|
|
|
523
525
|
};
|
|
524
526
|
331C808A294A63A400263BE5 /* Profile */ = {
|
|
525
527
|
isa = XCBuildConfiguration;
|
|
526
|
-
baseConfigurationReference =
|
|
528
|
+
baseConfigurationReference = 8445FAB3A6845463961F425E /* Pods-RunnerTests.profile.xcconfig */;
|
|
527
529
|
buildSettings = {
|
|
528
530
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
529
531
|
CODE_SIGN_STYLE = Automatic;
|
|
530
532
|
CURRENT_PROJECT_VERSION = 1;
|
|
531
533
|
GENERATE_INFOPLIST_FILE = YES;
|
|
532
534
|
MARKETING_VERSION = 1.0;
|
|
533
|
-
PRODUCT_BUNDLE_IDENTIFIER =
|
|
535
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp.RunnerTests;
|
|
534
536
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
535
537
|
SWIFT_VERSION = 5.0;
|
|
536
538
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
|
|
@@ -541,6 +543,7 @@
|
|
|
541
543
|
isa = XCBuildConfiguration;
|
|
542
544
|
buildSettings = {
|
|
543
545
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
546
|
+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
|
544
547
|
CLANG_ANALYZER_NONNULL = YES;
|
|
545
548
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
546
549
|
CLANG_CXX_LIBRARY = "libc++";
|
|
@@ -570,6 +573,7 @@
|
|
|
570
573
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
571
574
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
572
575
|
ENABLE_TESTABILITY = YES;
|
|
576
|
+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
|
573
577
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
574
578
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
575
579
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
@@ -584,7 +588,7 @@
|
|
|
584
588
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
585
589
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
586
590
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
587
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
591
|
+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
|
588
592
|
MTL_ENABLE_DEBUG_INFO = YES;
|
|
589
593
|
ONLY_ACTIVE_ARCH = YES;
|
|
590
594
|
SDKROOT = iphoneos;
|
|
@@ -596,6 +600,7 @@
|
|
|
596
600
|
isa = XCBuildConfiguration;
|
|
597
601
|
buildSettings = {
|
|
598
602
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
603
|
+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
|
599
604
|
CLANG_ANALYZER_NONNULL = YES;
|
|
600
605
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
601
606
|
CLANG_CXX_LIBRARY = "libc++";
|
|
@@ -620,13 +625,12 @@
|
|
|
620
625
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
621
626
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
622
627
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
623
|
-
CODE_SIGN_IDENTITY = "Apple Distribution: Peter John (FXH8NUGFYY)";
|
|
624
|
-
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "
|
|
628
|
+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
625
|
-
CODE_SIGN_STYLE = Manual;
|
|
626
629
|
COPY_PHASE_STRIP = NO;
|
|
627
630
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
628
631
|
ENABLE_NS_ASSERTIONS = NO;
|
|
629
632
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
633
|
+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
|
630
634
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
631
635
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
632
636
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
@@ -635,7 +639,7 @@
|
|
|
635
639
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
636
640
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
637
641
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
638
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
642
|
+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
|
639
643
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
640
644
|
SDKROOT = iphoneos;
|
|
641
645
|
SUPPORTED_PLATFORMS = iphoneos;
|
|
@@ -652,26 +656,18 @@
|
|
|
652
656
|
buildSettings = {
|
|
653
657
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
654
658
|
CLANG_ENABLE_MODULES = YES;
|
|
655
|
-
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
|
656
659
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
|
657
|
-
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = FXH8NUGFYY;
|
|
658
660
|
ENABLE_BITCODE = NO;
|
|
659
661
|
INFOPLIST_FILE = Runner/Info.plist;
|
|
660
|
-
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.books";
|
|
661
662
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
662
663
|
"$(inherited)",
|
|
663
664
|
"@executable_path/Frameworks",
|
|
664
665
|
);
|
|
665
|
-
PRODUCT_BUNDLE_IDENTIFIER =
|
|
666
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp;
|
|
666
667
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
667
|
-
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "App Store Connect";
|
|
668
|
-
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
669
|
-
SUPPORTS_MACCATALYST = NO;
|
|
670
|
-
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
671
668
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
|
672
669
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
673
670
|
SWIFT_VERSION = 5.0;
|
|
674
|
-
TARGETED_DEVICE_FAMILY = "1,2";
|
|
675
671
|
VERSIONING_SYSTEM = "apple-generic";
|
|
676
672
|
};
|
|
677
673
|
name = Debug;
|
|
@@ -682,29 +678,17 @@
|
|
|
682
678
|
buildSettings = {
|
|
683
679
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
684
680
|
CLANG_ENABLE_MODULES = YES;
|
|
685
|
-
CODE_SIGN_IDENTITY = "Apple Distribution: Peter John (FXH8NUGFYY)";
|
|
686
|
-
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Distribution: Peter John (FXH8NUGFYY)";
|
|
687
|
-
CODE_SIGN_STYLE = Manual;
|
|
688
681
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
|
689
|
-
DEVELOPMENT_TEAM = FXH8NUGFYY;
|
|
690
|
-
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = FXH8NUGFYY;
|
|
691
682
|
ENABLE_BITCODE = NO;
|
|
692
683
|
INFOPLIST_FILE = Runner/Info.plist;
|
|
693
|
-
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.books";
|
|
694
684
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
695
685
|
"$(inherited)",
|
|
696
686
|
"@executable_path/Frameworks",
|
|
697
687
|
);
|
|
698
|
-
PRODUCT_BUNDLE_IDENTIFIER =
|
|
688
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp;
|
|
699
689
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
700
|
-
PROVISIONING_PROFILE_SPECIFIER = "App Store Connect";
|
|
701
|
-
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "App Store Connect";
|
|
702
|
-
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
703
|
-
SUPPORTS_MACCATALYST = NO;
|
|
704
|
-
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
705
690
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
|
706
691
|
SWIFT_VERSION = 5.0;
|
|
707
|
-
TARGETED_DEVICE_FAMILY = "1,2";
|
|
708
692
|
VERSIONING_SYSTEM = "apple-generic";
|
|
709
693
|
};
|
|
710
694
|
name = Release;
|
ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
buildConfiguration = "Debug"
|
|
27
27
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
28
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
+
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
|
|
29
30
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
31
|
<MacroExpansion>
|
|
31
32
|
<BuildableReference
|
|
@@ -54,11 +55,13 @@
|
|
|
54
55
|
buildConfiguration = "Debug"
|
|
55
56
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
56
57
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
58
|
+
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
|
|
57
59
|
launchStyle = "0"
|
|
58
60
|
useCustomWorkingDirectory = "NO"
|
|
59
61
|
ignoresPersistentStateOnLaunch = "NO"
|
|
60
62
|
debugDocumentVersioning = "YES"
|
|
61
63
|
debugServiceExtension = "internal"
|
|
64
|
+
enableGPUValidationMode = "1"
|
|
62
65
|
allowLocationSimulation = "YES">
|
|
63
66
|
<BuildableProductRunnable
|
|
64
67
|
runnableDebuggingMode = "0">
|
ios/Runner/AppDelegate.swift
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import UIKit
|
|
2
1
|
import Flutter
|
|
2
|
+
import UIKit
|
|
3
3
|
|
|
4
|
-
@
|
|
4
|
+
@main
|
|
5
|
-
@objc class AppDelegate: FlutterAppDelegate {
|
|
5
|
+
@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
|
|
6
6
|
override func application(
|
|
7
7
|
_ application: UIApplication,
|
|
8
8
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
|
9
9
|
) -> Bool {
|
|
10
|
-
GeneratedPluginRegistrant.register(with: self)
|
|
11
10
|
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
|
12
11
|
}
|
|
12
|
+
|
|
13
|
+
func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
|
|
14
|
+
GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
|
|
15
|
+
}
|
|
13
16
|
}
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"images" : [
|
|
3
|
-
{
|
|
4
|
-
"filename" : "background.png",
|
|
5
|
-
"idiom" : "universal",
|
|
6
|
-
"scale" : "1x"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"idiom" : "universal",
|
|
10
|
-
"scale" : "2x"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"idiom" : "universal",
|
|
14
|
-
"scale" : "3x"
|
|
15
|
-
}
|
|
16
|
-
],
|
|
17
|
-
"info" : {
|
|
18
|
-
"author" : "xcode",
|
|
19
|
-
"version" : 1
|
|
20
|
-
}
|
|
21
|
-
}
|
ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
DELETED
|
Binary file
|
ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"images" : [
|
|
3
3
|
{
|
|
4
|
-
"filename" : "LaunchImage.png",
|
|
5
4
|
"idiom" : "universal",
|
|
5
|
+
"filename" : "LaunchImage.png",
|
|
6
6
|
"scale" : "1x"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
|
-
"filename" : "[email protected]",
|
|
10
9
|
"idiom" : "universal",
|
|
10
|
+
"filename" : "[email protected]",
|
|
11
11
|
"scale" : "2x"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
"filename" : "[email protected]",
|
|
15
14
|
"idiom" : "universal",
|
|
15
|
+
"filename" : "[email protected]",
|
|
16
16
|
"scale" : "3x"
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"info" : {
|
|
20
|
+
"version" : 1,
|
|
20
|
-
"author" : "xcode"
|
|
21
|
+
"author" : "xcode"
|
|
21
|
-
"version" : 1
|
|
22
22
|
}
|
|
23
23
|
}
|
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected]
CHANGED
|
Binary file
|
ios/Runner/Base.lproj/LaunchScreen.storyboard
CHANGED
|
@@ -16,19 +16,13 @@
|
|
|
16
16
|
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
|
17
17
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
18
18
|
<subviews>
|
|
19
|
-
<imageView clipsSubviews="YES"
|
|
20
|
-
<
|
|
19
|
+
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
|
|
20
|
+
</imageView>
|
|
21
21
|
</subviews>
|
|
22
22
|
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
23
23
|
<constraints>
|
|
24
|
-
<constraint firstItem="YRO-k0-Ey4" firstAttribute="
|
|
24
|
+
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
|
|
25
|
-
<constraint firstItem="tWc-Dq-wcI" firstAttribute="bottom" secondItem="Ze5-6b-2t3" secondAttribute="bottom" id="RPx-PI-7Xg"/>
|
|
26
|
-
<constraint firstItem="tWc-Dq-wcI" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="SdS-ul-q2q"/>
|
|
27
|
-
<constraint firstAttribute="trailing" secondItem="tWc-Dq-wcI" secondAttribute="trailing" id="Swv-Gf-Rwn"/>
|
|
28
|
-
<constraint firstAttribute="trailing" secondItem="YRO-k0-Ey4" secondAttribute="trailing" id="TQA-XW-tRk"/>
|
|
29
|
-
<constraint firstItem="YRO-k0-Ey4" firstAttribute="
|
|
25
|
+
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
|
|
30
|
-
<constraint firstItem="tWc-Dq-wcI" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="kV7-tw-vXt"/>
|
|
31
|
-
<constraint firstItem="YRO-k0-Ey4" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="xPn-NY-SIU"/>
|
|
32
26
|
</constraints>
|
|
33
27
|
</view>
|
|
34
28
|
</viewController>
|
|
@@ -38,7 +32,6 @@
|
|
|
38
32
|
</scene>
|
|
39
33
|
</scenes>
|
|
40
34
|
<resources>
|
|
41
|
-
<image name="LaunchImage" width="
|
|
35
|
+
<image name="LaunchImage" width="168" height="185"/>
|
|
42
|
-
<image name="LaunchBackground" width="1" height="1"/>
|
|
43
36
|
</resources>
|
|
44
37
|
</document>
|
ios/Runner/Info.plist
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
16
16
|
<string>6.0</string>
|
|
17
17
|
<key>CFBundleName</key>
|
|
18
|
-
<string>
|
|
18
|
+
<string>only_bible_app</string>
|
|
19
19
|
<key>CFBundlePackageType</key>
|
|
20
20
|
<string>APPL</string>
|
|
21
21
|
<key>CFBundleShortVersionString</key>
|
|
@@ -24,18 +24,35 @@
|
|
|
24
24
|
<string>????</string>
|
|
25
25
|
<key>CFBundleVersion</key>
|
|
26
26
|
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
|
27
|
-
<key>ITSAppUsesNonExemptEncryption</key>
|
|
28
|
-
<false/>
|
|
29
27
|
<key>LSRequiresIPhoneOS</key>
|
|
30
28
|
<true/>
|
|
29
|
+
<key>UIApplicationSceneManifest</key>
|
|
30
|
+
<dict>
|
|
31
|
+
<key>UIApplicationSupportsMultipleScenes</key>
|
|
32
|
+
<false/>
|
|
33
|
+
<key>UISceneConfigurations</key>
|
|
34
|
+
<dict>
|
|
35
|
+
<key>UIWindowSceneSessionRoleApplication</key>
|
|
36
|
+
<array>
|
|
37
|
+
<dict>
|
|
38
|
+
<key>UISceneClassName</key>
|
|
39
|
+
<string>UIWindowScene</string>
|
|
40
|
+
<key>UISceneConfigurationName</key>
|
|
41
|
+
<string>flutter</string>
|
|
42
|
+
<key>UISceneDelegateClassName</key>
|
|
43
|
+
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
|
|
44
|
+
<key>UISceneStoryboardFile</key>
|
|
45
|
+
<string>Main</string>
|
|
46
|
+
</dict>
|
|
47
|
+
</array>
|
|
48
|
+
</dict>
|
|
49
|
+
</dict>
|
|
31
50
|
<key>UIApplicationSupportsIndirectInputEvents</key>
|
|
32
51
|
<true/>
|
|
33
52
|
<key>UILaunchStoryboardName</key>
|
|
34
53
|
<string>LaunchScreen</string>
|
|
35
54
|
<key>UIMainStoryboardFile</key>
|
|
36
55
|
<string>Main</string>
|
|
37
|
-
<key>UIStatusBarHidden</key>
|
|
38
|
-
<false/>
|
|
39
56
|
<key>UISupportedInterfaceOrientations</key>
|
|
40
57
|
<array>
|
|
41
58
|
<string>UIInterfaceOrientationPortrait</string>
|
ios/Runner/SceneDelegate.swift
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Flutter
|
|
2
|
+
import UIKit
|
|
3
|
+
|
|
4
|
+
class SceneDelegate: FlutterSceneDelegate {
|
|
5
|
+
|
|
6
|
+
}
|
ios/export_options.plist
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>compileBitcode</key>
|
|
6
|
-
<true/>
|
|
7
|
-
<key>method</key>
|
|
8
|
-
<string>app-store</string>
|
|
9
|
-
<key>provisioningProfiles</key>
|
|
10
|
-
<dict>
|
|
11
|
-
<key>sh.pyros.only-bible-app</key>
|
|
12
|
-
<string>App Store Connect</string>
|
|
13
|
-
</dict>
|
|
14
|
-
<key>signingCertificate</key>
|
|
15
|
-
<string>Apple Distribution</string>
|
|
16
|
-
<key>signingStyle</key>
|
|
17
|
-
<string>manual</string>
|
|
18
|
-
<key>teamID</key>
|
|
19
|
-
<string>FXH8NUGFYY</string>
|
|
20
|
-
</dict>
|
|
21
|
-
</plist>
|
ios/fastlane/Appfile
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
app_identifier("sh.pyros.only-bible-app") # The bundle identifier of your app
|
|
2
|
-
apple_id("[email protected]") # Your Apple Developer Portal username
|
|
3
|
-
|
|
4
|
-
itc_team_id("126649823") # App Store Connect Team ID
|
|
5
|
-
team_id("FXH8NUGFYY") # Developer Portal Team ID
|
|
6
|
-
|
|
7
|
-
# For more information about the Appfile, see:
|
|
8
|
-
# https://docs.fastlane.tools/advanced/#appfile
|
ios/fastlane/Deliverfile
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
# The Deliverfile allows you to store various App Store Connect metadata
|
|
2
|
-
# For more information, check out the docs
|
|
3
|
-
# https://docs.fastlane.tools/actions/deliver/
|
ios/fastlane/Fastfile
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# This file contains the fastlane.tools configuration
|
|
2
|
-
# You can find the documentation at https://docs.fastlane.tools
|
|
3
|
-
#
|
|
4
|
-
# For a list of all available actions, check out
|
|
5
|
-
#
|
|
6
|
-
# https://docs.fastlane.tools/actions
|
|
7
|
-
#
|
|
8
|
-
# For a list of all available plugins, check out
|
|
9
|
-
#
|
|
10
|
-
# https://docs.fastlane.tools/plugins/available-plugins
|
|
11
|
-
#
|
|
12
|
-
|
|
13
|
-
# Uncomment the line if you want fastlane to automatically update itself
|
|
14
|
-
# update_fastlane
|
|
15
|
-
|
|
16
|
-
default_platform(:ios)
|
|
17
|
-
|
|
18
|
-
platform :ios do
|
|
19
|
-
desc "Push a new release build to the App Store"
|
|
20
|
-
lane :release do
|
|
21
|
-
increment_build_number(xcodeproj: "Runner.xcodeproj")
|
|
22
|
-
build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
|
|
23
|
-
upload_to_app_store
|
|
24
|
-
end
|
|
25
|
-
end
|
ios/fastlane/metadata/copyright.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2023-2024 pyrossh
|
ios/fastlane/metadata/en-US/apple_tv_privacy_policy.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/en-US/description.txt
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
A minimalistic bible app with a simplistic design for easy reading everyday
|
|
2
|
-
You can highlight verses and share them as well.
|
|
3
|
-
Audio playback is available for some of the languages.
|
|
4
|
-
These are the languages currently available in the app,
|
|
5
|
-
Bengali
|
|
6
|
-
English
|
|
7
|
-
Gujarati
|
|
8
|
-
Hindi
|
|
9
|
-
Kannada
|
|
10
|
-
Malayalam
|
|
11
|
-
Nepali
|
|
12
|
-
Oriya
|
|
13
|
-
Punjabi
|
|
14
|
-
Tamil
|
|
15
|
-
Telugu
|
ios/fastlane/metadata/en-US/keywords.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
only,bible,app,simple,english,hindi,india
|
ios/fastlane/metadata/en-US/marketing_url.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
https://onlybible.app
|
ios/fastlane/metadata/en-US/name.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Only Bible App
|
ios/fastlane/metadata/en-US/privacy_url.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
https://onlybible.app/privacy-policy
|
ios/fastlane/metadata/en-US/promotional_text.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/en-US/release_notes.txt
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
Remove markdown
|
|
2
|
-
Improve audio loading
|
ios/fastlane/metadata/en-US/subtitle.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
No ads, No in-app purchases
|
ios/fastlane/metadata/en-US/support_url.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
https://onlybible.app/about-us
|
ios/fastlane/metadata/primary_category.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
BOOKS
|
ios/fastlane/metadata/primary_first_sub_category.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/primary_second_sub_category.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/review_information/demo_password.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/review_information/demo_user.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/review_information/email_address.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
ios/fastlane/metadata/review_information/first_name.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Peter
|
ios/fastlane/metadata/review_information/last_name.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
John
|
ios/fastlane/metadata/review_information/notes.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/review_information/phone_number.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/secondary_category.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
REFERENCE
|
ios/fastlane/metadata/secondary_first_sub_category.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/metadata/secondary_second_sub_category.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
ios/fastlane/screenshots/README.txt
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
## Screenshots Naming Rules
|
|
2
|
-
|
|
3
|
-
Put all screenshots you want to use inside the folder of its language (e.g. `en-US`).
|
|
4
|
-
The device type will automatically be recognized using the image resolution.
|
|
5
|
-
|
|
6
|
-
The screenshots can be named whatever you want, but keep in mind they are sorted
|
|
7
|
-
alphabetically, in a human-friendly way. See https://github.com/fastlane/fastlane/pull/18200 for more details.
|
|
8
|
-
|
|
9
|
-
### Exceptions
|
|
10
|
-
|
|
11
|
-
#### iPad Pro (3rd Gen) 12.9"
|
|
12
|
-
|
|
13
|
-
Since iPad Pro (3rd Gen) 12.9" and iPad Pro (2nd Gen) 12.9" have the same image
|
|
14
|
-
resolution, screenshots of the iPad Pro (3rd gen) 12.9" must contain either the
|
|
15
|
-
string `iPad Pro (12.9-inch) (3rd generation)`, `IPAD_PRO_3GEN_129`, or `ipadPro129`
|
|
16
|
-
(App Store Connect's internal naming of the display family for the 3rd generation iPad Pro)
|
|
17
|
-
in its filename to be assigned the correct display family and to be uploaded to
|
|
18
|
-
the correct screenshot slot in your app's metadata.
|
|
19
|
-
|
|
20
|
-
### Other Platforms
|
|
21
|
-
|
|
22
|
-
#### Apple TV
|
|
23
|
-
|
|
24
|
-
Apple TV screenshots should be stored in a subdirectory named `appleTV` with language
|
|
25
|
-
folders inside of it.
|
|
26
|
-
|
|
27
|
-
#### iMessage
|
|
28
|
-
|
|
29
|
-
iMessage screenshots, like the Apple TV ones, should also be stored in a subdirectory
|
|
30
|
-
named `iMessage`, with language folders inside of it.
|
ios/fastlane/screenshots/en-US/0_APP_IPAD_PRO_129_0.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/0_APP_IPAD_PRO_3GEN_129_0.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/0_APP_IPHONE_55_0.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/0_APP_IPHONE_67_0.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/1_APP_IPAD_PRO_129_1.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/1_APP_IPAD_PRO_3GEN_129_1.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/1_APP_IPHONE_55_1.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/1_APP_IPHONE_67_1.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/2_APP_IPAD_PRO_129_2.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/2_APP_IPAD_PRO_3GEN_129_2.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/2_APP_IPHONE_67_2.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/3_APP_IPHONE_67_3.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/4_APP_IPHONE_67_4.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/5_APP_IPHONE_67_5.png
DELETED
|
Binary file
|
ios/fastlane/screenshots/en-US/6_APP_IPHONE_67_6.png
DELETED
|
Binary file
|
lib/app.dart
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "package:flutter/material.dart";
|
|
2
|
-
import "package:
|
|
2
|
+
import "package:only_bible_app/l10n/app_localizations.dart";
|
|
3
3
|
import "package:only_bible_app/screens/bible_select_screen.dart";
|
|
4
4
|
import "package:only_bible_app/screens/chapter_view_screen.dart";
|
|
5
5
|
import "package:only_bible_app/store/state.dart";
|
lib/dialog.dart
CHANGED
|
@@ -3,7 +3,7 @@ import "package:flutter/material.dart";
|
|
|
3
3
|
import "package:only_bible_app/utils.dart";
|
|
4
4
|
import "package:only_bible_app/navigation.dart";
|
|
5
5
|
|
|
6
|
-
showAlert(BuildContext context, String title, String message) {
|
|
6
|
+
void showAlert(BuildContext context, String title, String message) {
|
|
7
7
|
showDialog(
|
|
8
8
|
context: context,
|
|
9
9
|
builder: (_) {
|
|
@@ -28,11 +28,11 @@ showAlert(BuildContext context, String title, String message) {
|
|
|
28
28
|
);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
showError(BuildContext context, String message) {
|
|
31
|
+
void showError(BuildContext context, String message) {
|
|
32
32
|
showAlert(context, "Error", message);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
showReportError(BuildContext context, String message, StackTrace? st) {
|
|
35
|
+
void showReportError(BuildContext context, String message, StackTrace? st) {
|
|
36
36
|
if (message.contains("LateInitializationError") || message.contains("HardwareKeyboard")) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
lib/gen/assets.gen.dart
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// dart format width=80
|
|
2
|
+
|
|
3
|
+
/// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
4
|
+
/// *****************************************************
|
|
5
|
+
/// FlutterGen
|
|
6
|
+
/// *****************************************************
|
|
7
|
+
|
|
8
|
+
// coverage:ignore-file
|
|
9
|
+
// ignore_for_file: type=lint
|
|
10
|
+
// ignore_for_file: deprecated_member_use,directives_ordering,implicit_dynamic_list_literal,unnecessary_import
|
|
11
|
+
|
|
12
|
+
class $AssetsBiblesGen {
|
|
13
|
+
const $AssetsBiblesGen();
|
|
14
|
+
|
|
15
|
+
/// File path: assets/bibles/Bengali.txt
|
|
16
|
+
String get bengali => 'assets/bibles/Bengali.txt';
|
|
17
|
+
|
|
18
|
+
/// File path: assets/bibles/English.txt
|
|
19
|
+
String get english => 'assets/bibles/English.txt';
|
|
20
|
+
|
|
21
|
+
/// File path: assets/bibles/Gujarati.txt
|
|
22
|
+
String get gujarati => 'assets/bibles/Gujarati.txt';
|
|
23
|
+
|
|
24
|
+
/// File path: assets/bibles/Hindi.txt
|
|
25
|
+
String get hindi => 'assets/bibles/Hindi.txt';
|
|
26
|
+
|
|
27
|
+
/// File path: assets/bibles/Kannada.txt
|
|
28
|
+
String get kannada => 'assets/bibles/Kannada.txt';
|
|
29
|
+
|
|
30
|
+
/// File path: assets/bibles/Malayalam.txt
|
|
31
|
+
String get malayalam => 'assets/bibles/Malayalam.txt';
|
|
32
|
+
|
|
33
|
+
/// File path: assets/bibles/Nepali.txt
|
|
34
|
+
String get nepali => 'assets/bibles/Nepali.txt';
|
|
35
|
+
|
|
36
|
+
/// File path: assets/bibles/Oriya.txt
|
|
37
|
+
String get oriya => 'assets/bibles/Oriya.txt';
|
|
38
|
+
|
|
39
|
+
/// File path: assets/bibles/Punjabi.txt
|
|
40
|
+
String get punjabi => 'assets/bibles/Punjabi.txt';
|
|
41
|
+
|
|
42
|
+
/// File path: assets/bibles/Tamil.txt
|
|
43
|
+
String get tamil => 'assets/bibles/Tamil.txt';
|
|
44
|
+
|
|
45
|
+
/// File path: assets/bibles/Telugu.txt
|
|
46
|
+
String get telugu => 'assets/bibles/Telugu.txt';
|
|
47
|
+
|
|
48
|
+
/// List of all assets
|
|
49
|
+
List<String> get values => [
|
|
50
|
+
bengali,
|
|
51
|
+
english,
|
|
52
|
+
gujarati,
|
|
53
|
+
hindi,
|
|
54
|
+
kannada,
|
|
55
|
+
malayalam,
|
|
56
|
+
nepali,
|
|
57
|
+
oriya,
|
|
58
|
+
punjabi,
|
|
59
|
+
tamil,
|
|
60
|
+
telugu
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
class Assets {
|
|
65
|
+
const Assets._();
|
|
66
|
+
|
|
67
|
+
static const $AssetsBiblesGen bibles = $AssetsBiblesGen();
|
|
68
|
+
}
|
lib/gen/fonts.gen.dart
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// dart format width=80
|
|
2
|
+
/// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
3
|
+
/// *****************************************************
|
|
4
|
+
/// FlutterGen
|
|
5
|
+
/// *****************************************************
|
|
6
|
+
|
|
7
|
+
// coverage:ignore-file
|
|
8
|
+
// ignore_for_file: type=lint
|
|
9
|
+
// ignore_for_file: deprecated_member_use,directives_ordering,implicit_dynamic_list_literal,unnecessary_import
|
|
10
|
+
|
|
11
|
+
class FontFamily {
|
|
12
|
+
FontFamily._();
|
|
13
|
+
|
|
14
|
+
/// Font family: Roboto
|
|
15
|
+
static const String roboto = 'Roboto';
|
|
16
|
+
}
|
lib/l10n/app_localizations.dart
ADDED
|
@@ -0,0 +1,708 @@
|
|
|
1
|
+
import 'dart:async';
|
|
2
|
+
|
|
3
|
+
import 'package:flutter/foundation.dart';
|
|
4
|
+
import 'package:flutter/widgets.dart';
|
|
5
|
+
import 'package:flutter_localizations/flutter_localizations.dart';
|
|
6
|
+
import 'package:intl/intl.dart' as intl;
|
|
7
|
+
|
|
8
|
+
import 'app_localizations_bn.dart';
|
|
9
|
+
import 'app_localizations_en.dart';
|
|
10
|
+
import 'app_localizations_gu.dart';
|
|
11
|
+
import 'app_localizations_hi.dart';
|
|
12
|
+
import 'app_localizations_kn.dart';
|
|
13
|
+
import 'app_localizations_ml.dart';
|
|
14
|
+
import 'app_localizations_ne.dart';
|
|
15
|
+
import 'app_localizations_or.dart';
|
|
16
|
+
import 'app_localizations_pa.dart';
|
|
17
|
+
import 'app_localizations_ta.dart';
|
|
18
|
+
import 'app_localizations_te.dart';
|
|
19
|
+
|
|
20
|
+
// ignore_for_file: type=lint
|
|
21
|
+
|
|
22
|
+
/// Callers can lookup localized strings with an instance of AppLocalizations
|
|
23
|
+
/// returned by `AppLocalizations.of(context)`.
|
|
24
|
+
///
|
|
25
|
+
/// Applications need to include `AppLocalizations.delegate()` in their app's
|
|
26
|
+
/// `localizationDelegates` list, and the locales they support in the app's
|
|
27
|
+
/// `supportedLocales` list. For example:
|
|
28
|
+
///
|
|
29
|
+
/// ```dart
|
|
30
|
+
/// import 'l10n/app_localizations.dart';
|
|
31
|
+
///
|
|
32
|
+
/// return MaterialApp(
|
|
33
|
+
/// localizationsDelegates: AppLocalizations.localizationsDelegates,
|
|
34
|
+
/// supportedLocales: AppLocalizations.supportedLocales,
|
|
35
|
+
/// home: MyApplicationHome(),
|
|
36
|
+
/// );
|
|
37
|
+
/// ```
|
|
38
|
+
///
|
|
39
|
+
/// ## Update pubspec.yaml
|
|
40
|
+
///
|
|
41
|
+
/// Please make sure to update your pubspec.yaml to include the following
|
|
42
|
+
/// packages:
|
|
43
|
+
///
|
|
44
|
+
/// ```yaml
|
|
45
|
+
/// dependencies:
|
|
46
|
+
/// # Internationalization support.
|
|
47
|
+
/// flutter_localizations:
|
|
48
|
+
/// sdk: flutter
|
|
49
|
+
/// intl: any # Use the pinned version from flutter_localizations
|
|
50
|
+
///
|
|
51
|
+
/// # Rest of dependencies
|
|
52
|
+
/// ```
|
|
53
|
+
///
|
|
54
|
+
/// ## iOS Applications
|
|
55
|
+
///
|
|
56
|
+
/// iOS applications define key application metadata, including supported
|
|
57
|
+
/// locales, in an Info.plist file that is built into the application bundle.
|
|
58
|
+
/// To configure the locales supported by your app, you’ll need to edit this
|
|
59
|
+
/// file.
|
|
60
|
+
///
|
|
61
|
+
/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
|
|
62
|
+
/// Then, in the Project Navigator, open the Info.plist file under the Runner
|
|
63
|
+
/// project’s Runner folder.
|
|
64
|
+
///
|
|
65
|
+
/// Next, select the Information Property List item, select Add Item from the
|
|
66
|
+
/// Editor menu, then select Localizations from the pop-up menu.
|
|
67
|
+
///
|
|
68
|
+
/// Select and expand the newly-created Localizations item then, for each
|
|
69
|
+
/// locale your application supports, add a new item and select the locale
|
|
70
|
+
/// you wish to add from the pop-up menu in the Value field. This list should
|
|
71
|
+
/// be consistent with the languages listed in the AppLocalizations.supportedLocales
|
|
72
|
+
/// property.
|
|
73
|
+
abstract class AppLocalizations {
|
|
74
|
+
AppLocalizations(String locale)
|
|
75
|
+
: localeName = intl.Intl.canonicalizedLocale(locale.toString());
|
|
76
|
+
|
|
77
|
+
final String localeName;
|
|
78
|
+
|
|
79
|
+
static AppLocalizations? of(BuildContext context) {
|
|
80
|
+
return Localizations.of<AppLocalizations>(context, AppLocalizations);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
static const LocalizationsDelegate<AppLocalizations> delegate =
|
|
84
|
+
_AppLocalizationsDelegate();
|
|
85
|
+
|
|
86
|
+
/// A list of this localizations delegate along with the default localizations
|
|
87
|
+
/// delegates.
|
|
88
|
+
///
|
|
89
|
+
/// Returns a list of localizations delegates containing this delegate along with
|
|
90
|
+
/// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
|
|
91
|
+
/// and GlobalWidgetsLocalizations.delegate.
|
|
92
|
+
///
|
|
93
|
+
/// Additional delegates can be added by appending to this list in
|
|
94
|
+
/// MaterialApp. This list does not have to be used at all if a custom list
|
|
95
|
+
/// of delegates is preferred or required.
|
|
96
|
+
static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
|
|
97
|
+
<LocalizationsDelegate<dynamic>>[
|
|
98
|
+
delegate,
|
|
99
|
+
GlobalMaterialLocalizations.delegate,
|
|
100
|
+
GlobalCupertinoLocalizations.delegate,
|
|
101
|
+
GlobalWidgetsLocalizations.delegate,
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
/// A list of this localizations delegate's supported locales.
|
|
105
|
+
static const List<Locale> supportedLocales = <Locale>[
|
|
106
|
+
Locale('bn'),
|
|
107
|
+
Locale('en'),
|
|
108
|
+
Locale('gu'),
|
|
109
|
+
Locale('hi'),
|
|
110
|
+
Locale('kn'),
|
|
111
|
+
Locale('ml'),
|
|
112
|
+
Locale('ne'),
|
|
113
|
+
Locale('or'),
|
|
114
|
+
Locale('pa'),
|
|
115
|
+
Locale('ta'),
|
|
116
|
+
Locale('te')
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
/// No description provided for @languageCode.
|
|
120
|
+
///
|
|
121
|
+
/// In en, this message translates to:
|
|
122
|
+
/// **'en'**
|
|
123
|
+
String get languageCode;
|
|
124
|
+
|
|
125
|
+
/// No description provided for @audioVoice.
|
|
126
|
+
///
|
|
127
|
+
/// In en, this message translates to:
|
|
128
|
+
/// **'en-GB-RyanNeural'**
|
|
129
|
+
String get audioVoice;
|
|
130
|
+
|
|
131
|
+
/// No description provided for @title.
|
|
132
|
+
///
|
|
133
|
+
/// In en, this message translates to:
|
|
134
|
+
/// **'Only Bible App'**
|
|
135
|
+
String get title;
|
|
136
|
+
|
|
137
|
+
/// No description provided for @languageTitle.
|
|
138
|
+
///
|
|
139
|
+
/// In en, this message translates to:
|
|
140
|
+
/// **'English'**
|
|
141
|
+
String get languageTitle;
|
|
142
|
+
|
|
143
|
+
/// No description provided for @localeLanguageTitle.
|
|
144
|
+
///
|
|
145
|
+
/// In en, this message translates to:
|
|
146
|
+
/// **'English'**
|
|
147
|
+
String get localeLanguageTitle;
|
|
148
|
+
|
|
149
|
+
/// No description provided for @oldTestamentTitle.
|
|
150
|
+
///
|
|
151
|
+
/// In en, this message translates to:
|
|
152
|
+
/// **'Old Testament'**
|
|
153
|
+
String get oldTestamentTitle;
|
|
154
|
+
|
|
155
|
+
/// No description provided for @newTestamentTitle.
|
|
156
|
+
///
|
|
157
|
+
/// In en, this message translates to:
|
|
158
|
+
/// **'New Testament'**
|
|
159
|
+
String get newTestamentTitle;
|
|
160
|
+
|
|
161
|
+
/// No description provided for @bibleSelectTitle.
|
|
162
|
+
///
|
|
163
|
+
/// In en, this message translates to:
|
|
164
|
+
/// **'Please select a bible'**
|
|
165
|
+
String get bibleSelectTitle;
|
|
166
|
+
|
|
167
|
+
/// No description provided for @audioError.
|
|
168
|
+
///
|
|
169
|
+
/// In en, this message translates to:
|
|
170
|
+
/// **'Could not play audio. This Bible might not have audio support.'**
|
|
171
|
+
String get audioError;
|
|
172
|
+
|
|
173
|
+
/// No description provided for @urlError.
|
|
174
|
+
///
|
|
175
|
+
/// In en, this message translates to:
|
|
176
|
+
/// **'Could not open browser'**
|
|
177
|
+
String get urlError;
|
|
178
|
+
|
|
179
|
+
/// No description provided for @settingsTitle.
|
|
180
|
+
///
|
|
181
|
+
/// In en, this message translates to:
|
|
182
|
+
/// **'Settings'**
|
|
183
|
+
String get settingsTitle;
|
|
184
|
+
|
|
185
|
+
/// No description provided for @bibleTitle.
|
|
186
|
+
///
|
|
187
|
+
/// In en, this message translates to:
|
|
188
|
+
/// **'Bible'**
|
|
189
|
+
String get bibleTitle;
|
|
190
|
+
|
|
191
|
+
/// No description provided for @themeTitle.
|
|
192
|
+
///
|
|
193
|
+
/// In en, this message translates to:
|
|
194
|
+
/// **'Theme'**
|
|
195
|
+
String get themeTitle;
|
|
196
|
+
|
|
197
|
+
/// No description provided for @incrementFontTitle.
|
|
198
|
+
///
|
|
199
|
+
/// In en, this message translates to:
|
|
200
|
+
/// **'Increase text size'**
|
|
201
|
+
String get incrementFontTitle;
|
|
202
|
+
|
|
203
|
+
/// No description provided for @decrementFontTitle.
|
|
204
|
+
///
|
|
205
|
+
/// In en, this message translates to:
|
|
206
|
+
/// **'Decrease text size'**
|
|
207
|
+
String get decrementFontTitle;
|
|
208
|
+
|
|
209
|
+
/// No description provided for @boldFontTitle.
|
|
210
|
+
///
|
|
211
|
+
/// In en, this message translates to:
|
|
212
|
+
/// **'Bold text'**
|
|
213
|
+
String get boldFontTitle;
|
|
214
|
+
|
|
215
|
+
/// No description provided for @engTitles.
|
|
216
|
+
///
|
|
217
|
+
/// In en, this message translates to:
|
|
218
|
+
/// **'Use english titles'**
|
|
219
|
+
String get engTitles;
|
|
220
|
+
|
|
221
|
+
/// No description provided for @privacyPolicyTitle.
|
|
222
|
+
///
|
|
223
|
+
/// In en, this message translates to:
|
|
224
|
+
/// **'Privacy Policy'**
|
|
225
|
+
String get privacyPolicyTitle;
|
|
226
|
+
|
|
227
|
+
/// No description provided for @termsAndConditionsTitle.
|
|
228
|
+
///
|
|
229
|
+
/// In en, this message translates to:
|
|
230
|
+
/// **'Terms & Conditions'**
|
|
231
|
+
String get termsAndConditionsTitle;
|
|
232
|
+
|
|
233
|
+
/// No description provided for @shareAppTitle.
|
|
234
|
+
///
|
|
235
|
+
/// In en, this message translates to:
|
|
236
|
+
/// **'Share the app'**
|
|
237
|
+
String get shareAppTitle;
|
|
238
|
+
|
|
239
|
+
/// No description provided for @rateAppTitle.
|
|
240
|
+
///
|
|
241
|
+
/// In en, this message translates to:
|
|
242
|
+
/// **'Rate the app'**
|
|
243
|
+
String get rateAppTitle;
|
|
244
|
+
|
|
245
|
+
/// No description provided for @aboutUsTitle.
|
|
246
|
+
///
|
|
247
|
+
/// In en, this message translates to:
|
|
248
|
+
/// **'About us'**
|
|
249
|
+
String get aboutUsTitle;
|
|
250
|
+
|
|
251
|
+
/// No description provided for @genesis.
|
|
252
|
+
///
|
|
253
|
+
/// In en, this message translates to:
|
|
254
|
+
/// **'Genesis'**
|
|
255
|
+
String get genesis;
|
|
256
|
+
|
|
257
|
+
/// No description provided for @exodus.
|
|
258
|
+
///
|
|
259
|
+
/// In en, this message translates to:
|
|
260
|
+
/// **'Exodus'**
|
|
261
|
+
String get exodus;
|
|
262
|
+
|
|
263
|
+
/// No description provided for @leviticus.
|
|
264
|
+
///
|
|
265
|
+
/// In en, this message translates to:
|
|
266
|
+
/// **'Leviticus'**
|
|
267
|
+
String get leviticus;
|
|
268
|
+
|
|
269
|
+
/// No description provided for @numbers.
|
|
270
|
+
///
|
|
271
|
+
/// In en, this message translates to:
|
|
272
|
+
/// **'Numbers'**
|
|
273
|
+
String get numbers;
|
|
274
|
+
|
|
275
|
+
/// No description provided for @deuteronomy.
|
|
276
|
+
///
|
|
277
|
+
/// In en, this message translates to:
|
|
278
|
+
/// **'Deuteronomy'**
|
|
279
|
+
String get deuteronomy;
|
|
280
|
+
|
|
281
|
+
/// No description provided for @joshua.
|
|
282
|
+
///
|
|
283
|
+
/// In en, this message translates to:
|
|
284
|
+
/// **'Joshua'**
|
|
285
|
+
String get joshua;
|
|
286
|
+
|
|
287
|
+
/// No description provided for @judges.
|
|
288
|
+
///
|
|
289
|
+
/// In en, this message translates to:
|
|
290
|
+
/// **'Judges'**
|
|
291
|
+
String get judges;
|
|
292
|
+
|
|
293
|
+
/// No description provided for @ruth.
|
|
294
|
+
///
|
|
295
|
+
/// In en, this message translates to:
|
|
296
|
+
/// **'Ruth'**
|
|
297
|
+
String get ruth;
|
|
298
|
+
|
|
299
|
+
/// No description provided for @firstSamuel.
|
|
300
|
+
///
|
|
301
|
+
/// In en, this message translates to:
|
|
302
|
+
/// **'1 Samuel'**
|
|
303
|
+
String get firstSamuel;
|
|
304
|
+
|
|
305
|
+
/// No description provided for @secondSamuel.
|
|
306
|
+
///
|
|
307
|
+
/// In en, this message translates to:
|
|
308
|
+
/// **'2 Samuel'**
|
|
309
|
+
String get secondSamuel;
|
|
310
|
+
|
|
311
|
+
/// No description provided for @firstKings.
|
|
312
|
+
///
|
|
313
|
+
/// In en, this message translates to:
|
|
314
|
+
/// **'1 Kings'**
|
|
315
|
+
String get firstKings;
|
|
316
|
+
|
|
317
|
+
/// No description provided for @secondKings.
|
|
318
|
+
///
|
|
319
|
+
/// In en, this message translates to:
|
|
320
|
+
/// **'2 Kings'**
|
|
321
|
+
String get secondKings;
|
|
322
|
+
|
|
323
|
+
/// No description provided for @firstChronicles.
|
|
324
|
+
///
|
|
325
|
+
/// In en, this message translates to:
|
|
326
|
+
/// **'1 Chronicles'**
|
|
327
|
+
String get firstChronicles;
|
|
328
|
+
|
|
329
|
+
/// No description provided for @secondChronicles.
|
|
330
|
+
///
|
|
331
|
+
/// In en, this message translates to:
|
|
332
|
+
/// **'2 Chronicles'**
|
|
333
|
+
String get secondChronicles;
|
|
334
|
+
|
|
335
|
+
/// No description provided for @ezra.
|
|
336
|
+
///
|
|
337
|
+
/// In en, this message translates to:
|
|
338
|
+
/// **'Ezra'**
|
|
339
|
+
String get ezra;
|
|
340
|
+
|
|
341
|
+
/// No description provided for @nehemiah.
|
|
342
|
+
///
|
|
343
|
+
/// In en, this message translates to:
|
|
344
|
+
/// **'Nehemiah'**
|
|
345
|
+
String get nehemiah;
|
|
346
|
+
|
|
347
|
+
/// No description provided for @esther.
|
|
348
|
+
///
|
|
349
|
+
/// In en, this message translates to:
|
|
350
|
+
/// **'Esther'**
|
|
351
|
+
String get esther;
|
|
352
|
+
|
|
353
|
+
/// No description provided for @job.
|
|
354
|
+
///
|
|
355
|
+
/// In en, this message translates to:
|
|
356
|
+
/// **'Job'**
|
|
357
|
+
String get job;
|
|
358
|
+
|
|
359
|
+
/// No description provided for @psalms.
|
|
360
|
+
///
|
|
361
|
+
/// In en, this message translates to:
|
|
362
|
+
/// **'Psalms'**
|
|
363
|
+
String get psalms;
|
|
364
|
+
|
|
365
|
+
/// No description provided for @proverbs.
|
|
366
|
+
///
|
|
367
|
+
/// In en, this message translates to:
|
|
368
|
+
/// **'Proverbs'**
|
|
369
|
+
String get proverbs;
|
|
370
|
+
|
|
371
|
+
/// No description provided for @ecclesiastes.
|
|
372
|
+
///
|
|
373
|
+
/// In en, this message translates to:
|
|
374
|
+
/// **'Ecclesiastes'**
|
|
375
|
+
String get ecclesiastes;
|
|
376
|
+
|
|
377
|
+
/// No description provided for @song_of_solomon.
|
|
378
|
+
///
|
|
379
|
+
/// In en, this message translates to:
|
|
380
|
+
/// **'Song of Solomon'**
|
|
381
|
+
String get song_of_solomon;
|
|
382
|
+
|
|
383
|
+
/// No description provided for @isaiah.
|
|
384
|
+
///
|
|
385
|
+
/// In en, this message translates to:
|
|
386
|
+
/// **'Isaiah'**
|
|
387
|
+
String get isaiah;
|
|
388
|
+
|
|
389
|
+
/// No description provided for @jeremiah.
|
|
390
|
+
///
|
|
391
|
+
/// In en, this message translates to:
|
|
392
|
+
/// **'Jeremiah'**
|
|
393
|
+
String get jeremiah;
|
|
394
|
+
|
|
395
|
+
/// No description provided for @lamentations.
|
|
396
|
+
///
|
|
397
|
+
/// In en, this message translates to:
|
|
398
|
+
/// **'Lamentations'**
|
|
399
|
+
String get lamentations;
|
|
400
|
+
|
|
401
|
+
/// No description provided for @ezekiel.
|
|
402
|
+
///
|
|
403
|
+
/// In en, this message translates to:
|
|
404
|
+
/// **'Ezekiel'**
|
|
405
|
+
String get ezekiel;
|
|
406
|
+
|
|
407
|
+
/// No description provided for @daniel.
|
|
408
|
+
///
|
|
409
|
+
/// In en, this message translates to:
|
|
410
|
+
/// **'Daniel'**
|
|
411
|
+
String get daniel;
|
|
412
|
+
|
|
413
|
+
/// No description provided for @hosea.
|
|
414
|
+
///
|
|
415
|
+
/// In en, this message translates to:
|
|
416
|
+
/// **'Hosea'**
|
|
417
|
+
String get hosea;
|
|
418
|
+
|
|
419
|
+
/// No description provided for @joel.
|
|
420
|
+
///
|
|
421
|
+
/// In en, this message translates to:
|
|
422
|
+
/// **'Joel'**
|
|
423
|
+
String get joel;
|
|
424
|
+
|
|
425
|
+
/// No description provided for @amos.
|
|
426
|
+
///
|
|
427
|
+
/// In en, this message translates to:
|
|
428
|
+
/// **'Amos'**
|
|
429
|
+
String get amos;
|
|
430
|
+
|
|
431
|
+
/// No description provided for @obadiah.
|
|
432
|
+
///
|
|
433
|
+
/// In en, this message translates to:
|
|
434
|
+
/// **'Obadiah'**
|
|
435
|
+
String get obadiah;
|
|
436
|
+
|
|
437
|
+
/// No description provided for @jonah.
|
|
438
|
+
///
|
|
439
|
+
/// In en, this message translates to:
|
|
440
|
+
/// **'Jonah'**
|
|
441
|
+
String get jonah;
|
|
442
|
+
|
|
443
|
+
/// No description provided for @micah.
|
|
444
|
+
///
|
|
445
|
+
/// In en, this message translates to:
|
|
446
|
+
/// **'Micah'**
|
|
447
|
+
String get micah;
|
|
448
|
+
|
|
449
|
+
/// No description provided for @nahum.
|
|
450
|
+
///
|
|
451
|
+
/// In en, this message translates to:
|
|
452
|
+
/// **'Nahum'**
|
|
453
|
+
String get nahum;
|
|
454
|
+
|
|
455
|
+
/// No description provided for @habakkuk.
|
|
456
|
+
///
|
|
457
|
+
/// In en, this message translates to:
|
|
458
|
+
/// **'Habakkuk'**
|
|
459
|
+
String get habakkuk;
|
|
460
|
+
|
|
461
|
+
/// No description provided for @zephaniah.
|
|
462
|
+
///
|
|
463
|
+
/// In en, this message translates to:
|
|
464
|
+
/// **'Zephaniah'**
|
|
465
|
+
String get zephaniah;
|
|
466
|
+
|
|
467
|
+
/// No description provided for @haggai.
|
|
468
|
+
///
|
|
469
|
+
/// In en, this message translates to:
|
|
470
|
+
/// **'Haggai'**
|
|
471
|
+
String get haggai;
|
|
472
|
+
|
|
473
|
+
/// No description provided for @zechariah.
|
|
474
|
+
///
|
|
475
|
+
/// In en, this message translates to:
|
|
476
|
+
/// **'Zechariah'**
|
|
477
|
+
String get zechariah;
|
|
478
|
+
|
|
479
|
+
/// No description provided for @malachi.
|
|
480
|
+
///
|
|
481
|
+
/// In en, this message translates to:
|
|
482
|
+
/// **'Malachi'**
|
|
483
|
+
String get malachi;
|
|
484
|
+
|
|
485
|
+
/// No description provided for @matthew.
|
|
486
|
+
///
|
|
487
|
+
/// In en, this message translates to:
|
|
488
|
+
/// **'Matthew'**
|
|
489
|
+
String get matthew;
|
|
490
|
+
|
|
491
|
+
/// No description provided for @mark.
|
|
492
|
+
///
|
|
493
|
+
/// In en, this message translates to:
|
|
494
|
+
/// **'Mark'**
|
|
495
|
+
String get mark;
|
|
496
|
+
|
|
497
|
+
/// No description provided for @luke.
|
|
498
|
+
///
|
|
499
|
+
/// In en, this message translates to:
|
|
500
|
+
/// **'Luke'**
|
|
501
|
+
String get luke;
|
|
502
|
+
|
|
503
|
+
/// No description provided for @john.
|
|
504
|
+
///
|
|
505
|
+
/// In en, this message translates to:
|
|
506
|
+
/// **'John'**
|
|
507
|
+
String get john;
|
|
508
|
+
|
|
509
|
+
/// No description provided for @acts.
|
|
510
|
+
///
|
|
511
|
+
/// In en, this message translates to:
|
|
512
|
+
/// **'Acts'**
|
|
513
|
+
String get acts;
|
|
514
|
+
|
|
515
|
+
/// No description provided for @romans.
|
|
516
|
+
///
|
|
517
|
+
/// In en, this message translates to:
|
|
518
|
+
/// **'Romans'**
|
|
519
|
+
String get romans;
|
|
520
|
+
|
|
521
|
+
/// No description provided for @firstCorinthians.
|
|
522
|
+
///
|
|
523
|
+
/// In en, this message translates to:
|
|
524
|
+
/// **'1 Corinthians'**
|
|
525
|
+
String get firstCorinthians;
|
|
526
|
+
|
|
527
|
+
/// No description provided for @secondCorinthians.
|
|
528
|
+
///
|
|
529
|
+
/// In en, this message translates to:
|
|
530
|
+
/// **'2 Corinthians'**
|
|
531
|
+
String get secondCorinthians;
|
|
532
|
+
|
|
533
|
+
/// No description provided for @galatians.
|
|
534
|
+
///
|
|
535
|
+
/// In en, this message translates to:
|
|
536
|
+
/// **'Galatians'**
|
|
537
|
+
String get galatians;
|
|
538
|
+
|
|
539
|
+
/// No description provided for @ephesians.
|
|
540
|
+
///
|
|
541
|
+
/// In en, this message translates to:
|
|
542
|
+
/// **'Ephesians'**
|
|
543
|
+
String get ephesians;
|
|
544
|
+
|
|
545
|
+
/// No description provided for @philippians.
|
|
546
|
+
///
|
|
547
|
+
/// In en, this message translates to:
|
|
548
|
+
/// **'Philippians'**
|
|
549
|
+
String get philippians;
|
|
550
|
+
|
|
551
|
+
/// No description provided for @colossians.
|
|
552
|
+
///
|
|
553
|
+
/// In en, this message translates to:
|
|
554
|
+
/// **'Colossians'**
|
|
555
|
+
String get colossians;
|
|
556
|
+
|
|
557
|
+
/// No description provided for @firstThessalonians.
|
|
558
|
+
///
|
|
559
|
+
/// In en, this message translates to:
|
|
560
|
+
/// **'1 Thessalonians'**
|
|
561
|
+
String get firstThessalonians;
|
|
562
|
+
|
|
563
|
+
/// No description provided for @secondThessalonians.
|
|
564
|
+
///
|
|
565
|
+
/// In en, this message translates to:
|
|
566
|
+
/// **'2 Thessalonians'**
|
|
567
|
+
String get secondThessalonians;
|
|
568
|
+
|
|
569
|
+
/// No description provided for @firstTimothy.
|
|
570
|
+
///
|
|
571
|
+
/// In en, this message translates to:
|
|
572
|
+
/// **'1 Timothy'**
|
|
573
|
+
String get firstTimothy;
|
|
574
|
+
|
|
575
|
+
/// No description provided for @secondTimothy.
|
|
576
|
+
///
|
|
577
|
+
/// In en, this message translates to:
|
|
578
|
+
/// **'2 Timothy'**
|
|
579
|
+
String get secondTimothy;
|
|
580
|
+
|
|
581
|
+
/// No description provided for @titus.
|
|
582
|
+
///
|
|
583
|
+
/// In en, this message translates to:
|
|
584
|
+
/// **'Titus'**
|
|
585
|
+
String get titus;
|
|
586
|
+
|
|
587
|
+
/// No description provided for @philemon.
|
|
588
|
+
///
|
|
589
|
+
/// In en, this message translates to:
|
|
590
|
+
/// **'Philemon'**
|
|
591
|
+
String get philemon;
|
|
592
|
+
|
|
593
|
+
/// No description provided for @hebrews.
|
|
594
|
+
///
|
|
595
|
+
/// In en, this message translates to:
|
|
596
|
+
/// **'Hebrews'**
|
|
597
|
+
String get hebrews;
|
|
598
|
+
|
|
599
|
+
/// No description provided for @james.
|
|
600
|
+
///
|
|
601
|
+
/// In en, this message translates to:
|
|
602
|
+
/// **'James'**
|
|
603
|
+
String get james;
|
|
604
|
+
|
|
605
|
+
/// No description provided for @firstPeter.
|
|
606
|
+
///
|
|
607
|
+
/// In en, this message translates to:
|
|
608
|
+
/// **'1 Peter'**
|
|
609
|
+
String get firstPeter;
|
|
610
|
+
|
|
611
|
+
/// No description provided for @secondPeter.
|
|
612
|
+
///
|
|
613
|
+
/// In en, this message translates to:
|
|
614
|
+
/// **'2 Peter'**
|
|
615
|
+
String get secondPeter;
|
|
616
|
+
|
|
617
|
+
/// No description provided for @firstJohn.
|
|
618
|
+
///
|
|
619
|
+
/// In en, this message translates to:
|
|
620
|
+
/// **'1 John'**
|
|
621
|
+
String get firstJohn;
|
|
622
|
+
|
|
623
|
+
/// No description provided for @secondJohn.
|
|
624
|
+
///
|
|
625
|
+
/// In en, this message translates to:
|
|
626
|
+
/// **'2 John'**
|
|
627
|
+
String get secondJohn;
|
|
628
|
+
|
|
629
|
+
/// No description provided for @thirdJohn.
|
|
630
|
+
///
|
|
631
|
+
/// In en, this message translates to:
|
|
632
|
+
/// **'3 John'**
|
|
633
|
+
String get thirdJohn;
|
|
634
|
+
|
|
635
|
+
/// No description provided for @jude.
|
|
636
|
+
///
|
|
637
|
+
/// In en, this message translates to:
|
|
638
|
+
/// **'Jude'**
|
|
639
|
+
String get jude;
|
|
640
|
+
|
|
641
|
+
/// No description provided for @revelation.
|
|
642
|
+
///
|
|
643
|
+
/// In en, this message translates to:
|
|
644
|
+
/// **'Revelation'**
|
|
645
|
+
String get revelation;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
class _AppLocalizationsDelegate
|
|
649
|
+
extends LocalizationsDelegate<AppLocalizations> {
|
|
650
|
+
const _AppLocalizationsDelegate();
|
|
651
|
+
|
|
652
|
+
@override
|
|
653
|
+
Future<AppLocalizations> load(Locale locale) {
|
|
654
|
+
return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
@override
|
|
658
|
+
bool isSupported(Locale locale) => <String>[
|
|
659
|
+
'bn',
|
|
660
|
+
'en',
|
|
661
|
+
'gu',
|
|
662
|
+
'hi',
|
|
663
|
+
'kn',
|
|
664
|
+
'ml',
|
|
665
|
+
'ne',
|
|
666
|
+
'or',
|
|
667
|
+
'pa',
|
|
668
|
+
'ta',
|
|
669
|
+
'te'
|
|
670
|
+
].contains(locale.languageCode);
|
|
671
|
+
|
|
672
|
+
@override
|
|
673
|
+
bool shouldReload(_AppLocalizationsDelegate old) => false;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
AppLocalizations lookupAppLocalizations(Locale locale) {
|
|
677
|
+
// Lookup logic when only language code is specified.
|
|
678
|
+
switch (locale.languageCode) {
|
|
679
|
+
case 'bn':
|
|
680
|
+
return AppLocalizationsBn();
|
|
681
|
+
case 'en':
|
|
682
|
+
return AppLocalizationsEn();
|
|
683
|
+
case 'gu':
|
|
684
|
+
return AppLocalizationsGu();
|
|
685
|
+
case 'hi':
|
|
686
|
+
return AppLocalizationsHi();
|
|
687
|
+
case 'kn':
|
|
688
|
+
return AppLocalizationsKn();
|
|
689
|
+
case 'ml':
|
|
690
|
+
return AppLocalizationsMl();
|
|
691
|
+
case 'ne':
|
|
692
|
+
return AppLocalizationsNe();
|
|
693
|
+
case 'or':
|
|
694
|
+
return AppLocalizationsOr();
|
|
695
|
+
case 'pa':
|
|
696
|
+
return AppLocalizationsPa();
|
|
697
|
+
case 'ta':
|
|
698
|
+
return AppLocalizationsTa();
|
|
699
|
+
case 'te':
|
|
700
|
+
return AppLocalizationsTe();
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
throw FlutterError(
|
|
704
|
+
'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
|
|
705
|
+
'an issue with the localizations generation tool. Please file an issue '
|
|
706
|
+
'on GitHub with a reproducible sample app and the gen-l10n configuration '
|
|
707
|
+
'that was used.');
|
|
708
|
+
}
|
lib/l10n/app_localizations_bn.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Bengali Bangla (`bn`).
|
|
8
|
+
class AppLocalizationsBn extends AppLocalizations {
|
|
9
|
+
AppLocalizationsBn([String locale = 'bn']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'bn';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'bn-IN-TanishaaNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'শুধুমাত্র বাইবেল অ্যাপ';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Bengali';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'বাংলা';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'পুরানো ইচ্ছাপত্র';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'নববিধান';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'একটি বাইবেল নির্বাচন করুন';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'অডিও চালাতে পারেনি৷';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'ব্রাউজার খুলতে পারেনি';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'সেটিংস';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'বাইবেল';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'রঙ';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'পাঠ্যের আকার বাড়ান';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'পাঠ্যের আকার হ্রাস করুন';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'পাঠ্য বোল্ড';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'ইংরেজি শিরোনাম ব্যবহার করুন';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'গোপনীয়তা নীতি';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'শর্তাবলী';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'অ্যাপটি শেয়ার করুন';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'অ্যাপ্লিকেশন রেট';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'আমাদের সম্পর্কে';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'আদিপুস্তক ';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'যাত্রাপুস্তক ';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'লেবীয় পুস্তক';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'গণনা পুস্তক';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'দ্বিতীয় বিবরণ';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'যোশুয়া';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'বিচারকচরিত ';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'রুথ';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => 'সামুয়েল ১';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => 'সামুয়েল ২';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => 'রাজাবলি ১';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => 'রাজাবলি ২';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => 'বংশাবলি ১';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => 'বংশাবলি ২';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'এজরা';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'নেহেমিয়া';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'এস্থার';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'যোব';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'সামসঙ্গীত';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'প্রবচন';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'উপদেশক';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'পরম গীত';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'ইসাইয়া';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'যেরেমিয়া';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'বিলাপ-গাথা';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'এজেকিয়েল';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'দানিয়েল';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'হোসেয়া';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'যোয়েল';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'আমোস';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ওবাদিয়া';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'যোনা';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'মিখা';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'নাহুম';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'হাবাকুক';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'জেফানিয়া';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'হগয়';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'জাখারিয়া';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'মালাখি';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'মথি';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'মার্ক';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'লুক';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'যোহন';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'पশিষ্যচরিত';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'রোমীয়';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => 'করিন্থীয় ১';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => 'করিন্থীয় ২';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'গালাতীয়';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'এফেসীয়';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'ফিলিপ্পীয়';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'কলসীয়';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => 'থেসালোনিকীয় ১';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => 'থেসালোনিকীয় ২';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => 'তিমথি ১';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => 'তিমথি ২';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'তীত';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'ফিলেমন';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'হিব্রুদের কাছে পত্র';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'যাকোবের পত্র';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => 'পিতরের ১ম পত্র';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => 'পিতরের ২য় পত্র';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => 'যোহনের ১ম পত্র';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => 'যোহনের ২য় পত্';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => 'যোহনের ৩য় পত্';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'যুদের পত্র';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'पপ্রত্যাদেশ';
|
|
274
|
+
}
|
lib/l10n/app_localizations_en.dart
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for English (`en`).
|
|
8
|
+
class AppLocalizationsEn extends AppLocalizations {
|
|
9
|
+
AppLocalizationsEn([String locale = 'en']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'en';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'en-GB-RyanNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'Only Bible App';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'English';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'English';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'Old Testament';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'New Testament';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'Please select a bible';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError =>
|
|
37
|
+
'Could not play audio. This Bible might not have audio support.';
|
|
38
|
+
|
|
39
|
+
@override
|
|
40
|
+
String get urlError => 'Could not open browser';
|
|
41
|
+
|
|
42
|
+
@override
|
|
43
|
+
String get settingsTitle => 'Settings';
|
|
44
|
+
|
|
45
|
+
@override
|
|
46
|
+
String get bibleTitle => 'Bible';
|
|
47
|
+
|
|
48
|
+
@override
|
|
49
|
+
String get themeTitle => 'Theme';
|
|
50
|
+
|
|
51
|
+
@override
|
|
52
|
+
String get incrementFontTitle => 'Increase text size';
|
|
53
|
+
|
|
54
|
+
@override
|
|
55
|
+
String get decrementFontTitle => 'Decrease text size';
|
|
56
|
+
|
|
57
|
+
@override
|
|
58
|
+
String get boldFontTitle => 'Bold text';
|
|
59
|
+
|
|
60
|
+
@override
|
|
61
|
+
String get engTitles => 'Use english titles';
|
|
62
|
+
|
|
63
|
+
@override
|
|
64
|
+
String get privacyPolicyTitle => 'Privacy Policy';
|
|
65
|
+
|
|
66
|
+
@override
|
|
67
|
+
String get termsAndConditionsTitle => 'Terms & Conditions';
|
|
68
|
+
|
|
69
|
+
@override
|
|
70
|
+
String get shareAppTitle => 'Share the app';
|
|
71
|
+
|
|
72
|
+
@override
|
|
73
|
+
String get rateAppTitle => 'Rate the app';
|
|
74
|
+
|
|
75
|
+
@override
|
|
76
|
+
String get aboutUsTitle => 'About us';
|
|
77
|
+
|
|
78
|
+
@override
|
|
79
|
+
String get genesis => 'Genesis';
|
|
80
|
+
|
|
81
|
+
@override
|
|
82
|
+
String get exodus => 'Exodus';
|
|
83
|
+
|
|
84
|
+
@override
|
|
85
|
+
String get leviticus => 'Leviticus';
|
|
86
|
+
|
|
87
|
+
@override
|
|
88
|
+
String get numbers => 'Numbers';
|
|
89
|
+
|
|
90
|
+
@override
|
|
91
|
+
String get deuteronomy => 'Deuteronomy';
|
|
92
|
+
|
|
93
|
+
@override
|
|
94
|
+
String get joshua => 'Joshua';
|
|
95
|
+
|
|
96
|
+
@override
|
|
97
|
+
String get judges => 'Judges';
|
|
98
|
+
|
|
99
|
+
@override
|
|
100
|
+
String get ruth => 'Ruth';
|
|
101
|
+
|
|
102
|
+
@override
|
|
103
|
+
String get firstSamuel => '1 Samuel';
|
|
104
|
+
|
|
105
|
+
@override
|
|
106
|
+
String get secondSamuel => '2 Samuel';
|
|
107
|
+
|
|
108
|
+
@override
|
|
109
|
+
String get firstKings => '1 Kings';
|
|
110
|
+
|
|
111
|
+
@override
|
|
112
|
+
String get secondKings => '2 Kings';
|
|
113
|
+
|
|
114
|
+
@override
|
|
115
|
+
String get firstChronicles => '1 Chronicles';
|
|
116
|
+
|
|
117
|
+
@override
|
|
118
|
+
String get secondChronicles => '2 Chronicles';
|
|
119
|
+
|
|
120
|
+
@override
|
|
121
|
+
String get ezra => 'Ezra';
|
|
122
|
+
|
|
123
|
+
@override
|
|
124
|
+
String get nehemiah => 'Nehemiah';
|
|
125
|
+
|
|
126
|
+
@override
|
|
127
|
+
String get esther => 'Esther';
|
|
128
|
+
|
|
129
|
+
@override
|
|
130
|
+
String get job => 'Job';
|
|
131
|
+
|
|
132
|
+
@override
|
|
133
|
+
String get psalms => 'Psalms';
|
|
134
|
+
|
|
135
|
+
@override
|
|
136
|
+
String get proverbs => 'Proverbs';
|
|
137
|
+
|
|
138
|
+
@override
|
|
139
|
+
String get ecclesiastes => 'Ecclesiastes';
|
|
140
|
+
|
|
141
|
+
@override
|
|
142
|
+
String get song_of_solomon => 'Song of Solomon';
|
|
143
|
+
|
|
144
|
+
@override
|
|
145
|
+
String get isaiah => 'Isaiah';
|
|
146
|
+
|
|
147
|
+
@override
|
|
148
|
+
String get jeremiah => 'Jeremiah';
|
|
149
|
+
|
|
150
|
+
@override
|
|
151
|
+
String get lamentations => 'Lamentations';
|
|
152
|
+
|
|
153
|
+
@override
|
|
154
|
+
String get ezekiel => 'Ezekiel';
|
|
155
|
+
|
|
156
|
+
@override
|
|
157
|
+
String get daniel => 'Daniel';
|
|
158
|
+
|
|
159
|
+
@override
|
|
160
|
+
String get hosea => 'Hosea';
|
|
161
|
+
|
|
162
|
+
@override
|
|
163
|
+
String get joel => 'Joel';
|
|
164
|
+
|
|
165
|
+
@override
|
|
166
|
+
String get amos => 'Amos';
|
|
167
|
+
|
|
168
|
+
@override
|
|
169
|
+
String get obadiah => 'Obadiah';
|
|
170
|
+
|
|
171
|
+
@override
|
|
172
|
+
String get jonah => 'Jonah';
|
|
173
|
+
|
|
174
|
+
@override
|
|
175
|
+
String get micah => 'Micah';
|
|
176
|
+
|
|
177
|
+
@override
|
|
178
|
+
String get nahum => 'Nahum';
|
|
179
|
+
|
|
180
|
+
@override
|
|
181
|
+
String get habakkuk => 'Habakkuk';
|
|
182
|
+
|
|
183
|
+
@override
|
|
184
|
+
String get zephaniah => 'Zephaniah';
|
|
185
|
+
|
|
186
|
+
@override
|
|
187
|
+
String get haggai => 'Haggai';
|
|
188
|
+
|
|
189
|
+
@override
|
|
190
|
+
String get zechariah => 'Zechariah';
|
|
191
|
+
|
|
192
|
+
@override
|
|
193
|
+
String get malachi => 'Malachi';
|
|
194
|
+
|
|
195
|
+
@override
|
|
196
|
+
String get matthew => 'Matthew';
|
|
197
|
+
|
|
198
|
+
@override
|
|
199
|
+
String get mark => 'Mark';
|
|
200
|
+
|
|
201
|
+
@override
|
|
202
|
+
String get luke => 'Luke';
|
|
203
|
+
|
|
204
|
+
@override
|
|
205
|
+
String get john => 'John';
|
|
206
|
+
|
|
207
|
+
@override
|
|
208
|
+
String get acts => 'Acts';
|
|
209
|
+
|
|
210
|
+
@override
|
|
211
|
+
String get romans => 'Romans';
|
|
212
|
+
|
|
213
|
+
@override
|
|
214
|
+
String get firstCorinthians => '1 Corinthians';
|
|
215
|
+
|
|
216
|
+
@override
|
|
217
|
+
String get secondCorinthians => '2 Corinthians';
|
|
218
|
+
|
|
219
|
+
@override
|
|
220
|
+
String get galatians => 'Galatians';
|
|
221
|
+
|
|
222
|
+
@override
|
|
223
|
+
String get ephesians => 'Ephesians';
|
|
224
|
+
|
|
225
|
+
@override
|
|
226
|
+
String get philippians => 'Philippians';
|
|
227
|
+
|
|
228
|
+
@override
|
|
229
|
+
String get colossians => 'Colossians';
|
|
230
|
+
|
|
231
|
+
@override
|
|
232
|
+
String get firstThessalonians => '1 Thessalonians';
|
|
233
|
+
|
|
234
|
+
@override
|
|
235
|
+
String get secondThessalonians => '2 Thessalonians';
|
|
236
|
+
|
|
237
|
+
@override
|
|
238
|
+
String get firstTimothy => '1 Timothy';
|
|
239
|
+
|
|
240
|
+
@override
|
|
241
|
+
String get secondTimothy => '2 Timothy';
|
|
242
|
+
|
|
243
|
+
@override
|
|
244
|
+
String get titus => 'Titus';
|
|
245
|
+
|
|
246
|
+
@override
|
|
247
|
+
String get philemon => 'Philemon';
|
|
248
|
+
|
|
249
|
+
@override
|
|
250
|
+
String get hebrews => 'Hebrews';
|
|
251
|
+
|
|
252
|
+
@override
|
|
253
|
+
String get james => 'James';
|
|
254
|
+
|
|
255
|
+
@override
|
|
256
|
+
String get firstPeter => '1 Peter';
|
|
257
|
+
|
|
258
|
+
@override
|
|
259
|
+
String get secondPeter => '2 Peter';
|
|
260
|
+
|
|
261
|
+
@override
|
|
262
|
+
String get firstJohn => '1 John';
|
|
263
|
+
|
|
264
|
+
@override
|
|
265
|
+
String get secondJohn => '2 John';
|
|
266
|
+
|
|
267
|
+
@override
|
|
268
|
+
String get thirdJohn => '3 John';
|
|
269
|
+
|
|
270
|
+
@override
|
|
271
|
+
String get jude => 'Jude';
|
|
272
|
+
|
|
273
|
+
@override
|
|
274
|
+
String get revelation => 'Revelation';
|
|
275
|
+
}
|
lib/l10n/app_localizations_gu.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Gujarati (`gu`).
|
|
8
|
+
class AppLocalizationsGu extends AppLocalizations {
|
|
9
|
+
AppLocalizationsGu([String locale = 'gu']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'gu';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'gu-IN-DhwaniNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'ફક્ત બાઇબલ એપ્લિકેશન';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Gujarati';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'ગુજરાતી';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'ઓલ્ડ ટેસ્ટામેન્ટ';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'ન્યૂ વસિયતનામું';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'કૃપા કરીને બાઇબલ પસંદ કરો';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'ઑડિયો ચલાવી શકાયો નથી';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'બ્રાઉઝર ખોલી શકાયું નથી';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'સેટિંગ્સ';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'બાઇબલ';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'રંગો';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'ટેક્સ્ટનું કદ વધારો';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'ટેક્સ્ટનું કદ ઘટાડો';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'બોલ્ડ ટેક્સ્ટ';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'અંગ્રેજી શીર્ષકોનો ઉપયોગ કરો';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'ગોપનીયતા નીતિ';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'શરતો અને નિયમો';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'એપ્લિકેશન શેર કરો';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'એપ્લિકેશનને રેટ કરો';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'અમારા વિશે';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'ઊત્પત્તિ';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'નિર્ગમન';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'લેવીય';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'ગણના';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'પુનર્નિયમ';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'યહોશુઆ';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'ન્યાયાધીશો';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'રૂત';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => '1 શમુએલ';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => '2 શમએલ';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => '1 રાજઓ';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => '2 રાજઓ';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => '1 કાળવ્રત્તાંત';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => '2 કાળવ્રત્તાંત';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'એઝરા';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'નહેમ્યા';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'એસ્તેર';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'અયૂબ';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'ગીતશાસ્ત્ર';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'નીતિવચનો';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'સભાશિક્ષક';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'સભાશિક્ષક';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'યશાયા';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'ચર્મિયા';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'યર્મિયાનો વિલાપ';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'યર્મિયાનો વિલાપ';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'દારિયેલ';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'હોશિયા';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'યોએલ';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'આમોસ';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ઓબાધા';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'યૂના';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'મીખાહ';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'નાહૂમ';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'હબાક્કુક';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'સફન્યા';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'હાગ્ગાચ';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'ઝખાર્યા';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'માલાખી';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'માથ્થી';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'માર્ક';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'લૂક';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'યોહાન';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'પ્રેરિતોનાં ક્રત્યો';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'રોમનોને પત્ર';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 કરિંથીઓને';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 કરિંથીઓને';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'ગલાતીઓને પત્ર';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'એફેસીઓને પત્ર';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'ફિલિપ્પીઓને પત્ર';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'કલોસ્સીઓને પત્ર';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 થેસ્સલોનિકીઓને';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 થેસ્સલોનિકીઓને';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 તિમોથીને';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 તિમોથીને';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'તિતસનં પત્ર';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'ફિલેમોને પત્ર';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'હિબ્રૂઓને પત્ર';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'યાકૂબનો';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 પિતરનો પત્ર';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 પિતરનો પત્ર';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 યોહાનનો પત્ર';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 યોહાનનો પત્ર';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 યોહાનનો પત્ર';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'યહૂદાનો પત્ર';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'પ્રકટીકરણ';
|
|
274
|
+
}
|
lib/l10n/app_localizations_hi.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Hindi (`hi`).
|
|
8
|
+
class AppLocalizationsHi extends AppLocalizations {
|
|
9
|
+
AppLocalizationsHi([String locale = 'hi']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'hi';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'hi-IN-SwaraNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'केवल बाइबिल ऐप';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Hindi';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'हिंदी';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'पुराना नियम';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'नया नियम';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'कृपया एक बाइबिल चुनें';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'ऑडियो नहीं चलाया जा सका';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'ब्राउज़र नहीं खुल सका';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'समायोजन';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'बाइबिल';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'रंग';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'पढ़ने का माप बढ़ाएँ';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'पढ़ने का माप कम करें';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'बोल्ड साइज़';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'अंग्रेजी शीर्षकों का प्रयोग करें';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'गोपनीयता नीति';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'नियम एवं शर्तें';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'ऐप साझा करें';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'एप्लिकेशन की श्रेणी बताओ';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'हमारे बारे में';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'उत्पत्ति';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'निर्गमन';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'लैव्यवस्था';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'गिनती';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'व्यवस्थाविवरण';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'यहोशू ';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'न्यायियों';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'रूत';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => '1 शमूएल';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => '2 शमूएल';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => '1 राजा';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => '2 राजा';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => '1 इतिहास';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => '2 इतिहास';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'एज्रा';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'नहेमायाह';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'एस्तेर';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'अय्यूब';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'भजन संहिता';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'नीतिवचन ';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'सभोपदेशक';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'श्रेष्ठगीत';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'यशायाह';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'यिर्मयाह';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'विलापगीत';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'यहेजकेल';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'दानिय्येल';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'होशे';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'योएल';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'आमोस';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ओबद्दाह';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'योना';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'मीका';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'नहूम';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'हबक्कूक';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'सपन्याह';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'हाग्गै';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'जकर्याह';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'मलाकी';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'मत्ती';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'मरकुस';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'लूका';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'यूहन्ना';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'प्रेरितों के काम';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'रोमियो';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 कुरिन्थियों';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 कुरिन्थियों';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'गलातियों';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'इफिसियों';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'फिलिप्पियों';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'कुलुस्सियों';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 थिस्सलुनीकियों';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 थिस्सलुनीकियों';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 तीमुथियुस';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 तीमुथियुस';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'तीतुस';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'फिलेमोन';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'इब्रानियों';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'याकूब';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 पतरस';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 पतरस';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 यूहन्ना';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 यूहन्ना';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 यूहन्ना';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'यहूदा';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'प्रकाशित वाक्य';
|
|
274
|
+
}
|
lib/l10n/app_localizations_kn.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Kannada (`kn`).
|
|
8
|
+
class AppLocalizationsKn extends AppLocalizations {
|
|
9
|
+
AppLocalizationsKn([String locale = 'kn']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'kn';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'kn-IN-GaganNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'ಬೈಬಲ್ ಮಾತ್ರರ';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Kannada';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'ಕನ್ನಡ';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'ಹಳೆಯ ಒಡಂಬಡಿಕೆ';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'ಹೊಸ ಒಡಂಬಡಿಕೆಯು';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'ದಯವಿಟ್ಟು ಬೈಬಲ್ ಆಯ್ಕೆಮಾಡಿ';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'ಧ್ವನಿಯನ್ನು ಪ್ಲೇ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'ವೆಬ್ಸೈಟ್ ತೆರೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ್ಲ';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'ಸಂಯೋಜನೆಗಳು';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'ಬೈಬಲ್';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'ಬಣ್ಣಗಳು';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'ಪಠ್ಯದ ಗಾತ್ರವನ್ನು ಹೆಚ್ಚಿಸಿ';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'ಪಠ್ಯದ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಿ';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'ದಪ್ಪ ಪಠ್ಯ';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'ಇಂಗ್ಲಿಷ್ ಶೀರ್ಷಿಕೆಗಳನ್ನು ಬಳಸಿ';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'ಗೌಪ್ಯತಾ ನೀತಿ';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'ನಿಯಮ ಮತ್ತು ಶರತ್ತುಗಳು';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'ಅಪ್ಲಿಕೇಶನ್ ಹಂಚಿಕೊಳ್ಳಿ';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರೇಟ್ ಮಾಡಿ';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'ನಮ್ಮ ಬಗ್ಗೆ';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'ಆದಿಕಾಂಡ';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'ವಿಮೋಚನಕಾಂಡ';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'ಯಾಜಕಕಾಂಡ';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'ಅರಣ್ಯಕಾಂಡ';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'ಧರ್ಮೋಪದೇಶಕಾಂಡ';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'ಯೆಹೋಶುವ';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'ನ್ಯಾಯಸ್ಥಾಪಕರು';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'ರೂತಳು';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => '1 ಸಮುವೇಲನು';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => '2 ಸಮುವೇಲನು';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => '1 ಅರಸುಗಳು';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => '2 ಅರಸುಗಳು';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => '1 ಪೂರ್ವಕಾಲವೃತ್ತಾ';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => '2 ಪೂರ್ವಕಾಲವೃತ್ತಾ';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'ಎಜ್ರನು';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'ನೆಹೆಮಿಯ';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'ಎಸ್ತೇರಳು';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'ಯೋಬನು';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'ಕೀರ್ತನೆಗಳು';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'ಙ್ಞಾನೋಕ್ತಿಗಳು';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'ಪ್ರಸಂಗಿ';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'ಪರಮ ಗೀತ';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'ಯೆಶಾಯ';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'ಯೆರೆಮಿಯ';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'ಪ್ರಲಾಪಗಳು';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'ಯೆಹೆಜ್ಕೇಲನು';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'ದಾನಿಯೇಲನು';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'ಹೋಶೇ';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'ಯೋವೇಲ';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'ಆಮೋಸ';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ಓಬದ್ಯ';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'ಯೋನ';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'ಮಿಕ';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'ನಹೂಮ';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'ಹಬಕ್ಕೂಕ್ಕ';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'ಚೆಫನ್ಯ';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'ಹಗ್ಗಾಯ';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'ಜೆಕರ್ಯ';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'ಮಲಾಕಿಯ';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'ಮತ್ತಾಯನು';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'ಮಾರ್ಕನು';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'ಲೂಕನು';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'ಯೋಹಾನನು';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'ಅಪೊಸ್ತಲರ ಕೃತ್ಯಗ';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'ರೋಮಾಪುರದವರಿಗೆ';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 ಕೊರಿಂಥದವರಿಗೆ';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 ಕೊರಿಂಥದವರಿಗೆ';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'ಗಲಾತ್ಯದವರಿಗೆ';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'ಎಫೆಸದವರಿಗೆ';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'ಫಿಲಿಪ್ಪಿಯವರಿಗೆ';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'ಕೊಲೊಸ್ಸೆಯವರಿಗೆ';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 ಥೆಸಲೊನೀಕದವರಿಗೆ';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 ಥೆಸಲೊನೀಕದವರಿಗೆ';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 ತಿಮೊಥೆಯನಿಗೆ';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 ತಿಮೊಥೆಯನಿಗೆ';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'ತೀತನಿಗೆ';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'ಫಿಲೆಮೋನನಿಗೆ';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'ಇಬ್ರಿಯರಿಗೆ';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'ಯಾಕೋಬನು';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 ಪೇತ್ರನು';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 ಪೇತ್ರನು';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 ಯೋಹಾನನು';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 ಯೋಹಾನನು';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 ಯೋಹಾನನು';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'ಯೂದನು';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'ಪ್ರಕಟನೆ';
|
|
274
|
+
}
|
lib/l10n/app_localizations_ml.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Malayalam (`ml`).
|
|
8
|
+
class AppLocalizationsMl extends AppLocalizations {
|
|
9
|
+
AppLocalizationsMl([String locale = 'ml']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'ml';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'ml-IN-SobhanaNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'ബൈബിൾ ആപ്പ് മാത്രം';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Malayalam';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'മലയാളം';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'പഴയ നിയമം';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'പുതിയ നിയമം';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'ദയവായി ഒരു ബൈബിൾ തിരഞ്ഞെടുക്കുക';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'ഓഡിയോ പ്ലേ ചെയ്യാനായില്ല';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'ബ്രൗസർ തുറക്കാൻ കഴിഞ്ഞില്ല';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'ക്രമീകരണങ്ങൾ';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'ബൈബിൾ';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'നിറങ്ങൾ';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'ടെക്സ്റ്റ് വലുപ്പം വർദ്ധിപ്പിക്കുക';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'ടെക്സ്റ്റ് വലുപ്പം കുറയ്ക്കുക';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'ബോൾഡ് ടെക്സ്റ്റ്';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'ഇംഗ്ലീഷ് തലക്കെട്ടുകൾ ഉപയോഗിക്കുക';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'സ്വകാര്യതാ നയം';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'നിബന്ധനകളും വ്യവസ്ഥകളും';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'ആപ്പ് പങ്കിടുക';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'ആപ്പ് റേറ്റുചെയ്യുക';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'ഞങ്ങളേക്കുറിച്ച്';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'ഉല്പത്തി';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'പുറപ്പാട്';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'ലേവ്യപുസ്തകം';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'സംഖ്യാപുസ്തകം';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'ആവർത്തനം';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'യോശുവ';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'ന്യായാധിപന്മാർ';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'രൂത്ത്';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => '1 ശമൂവേൽ';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => '2 ശമൂവേൽ';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => '1 രാജാക്കന്മാർ';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => '2 രാജാക്കന്മാർ';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => '1 ദിനവൃത്താന്തം';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => '2 ദിനവൃത്താന്തം';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'എസ്രാ';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'നെഹെമ്യാവു';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'എസ്ഥേർ';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'ഇയ്യോബ്';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'സങ്കീർത്തനങ്ങൾ';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'സദൃശ്യവാക്യങ്ങൾ';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'സഭാപ്രസംഗി';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'ഉത്തമഗീതം';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'യെശയ്യാ';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'യിരമ്യാവു';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'വിലാപങ്ങൾ';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'യെഹേസ്കേൽ';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'ദാനീയേൽ';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'ഹോശേയ';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'യോവേൽ';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'ആമോസ്';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ഓബദ്യാവു';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'യോനാ';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'മീഖാ';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'നഹൂം';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'ഹബക്കൂക്ക്';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'സെഫന്യാവു';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'ഹഗ്ഗായി';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'സെഖര്യാവു';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'മലാഖി';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'മത്തായി';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'മർക്കൊസ്';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'ലൂക്കോസ്';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'യോഹന്നാൻ';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'പ്രവൃത്തികൾ';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'റോമർ';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 കൊരിന്ത്യർ';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 കൊരിന്ത്യർ';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'ഗലാത്യർ';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'എഫെസ്യർ';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'ഫിലിപ്പിയർ';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'കൊലൊസ്സ്യർ';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 തെസ്സലൊനീക്യർ';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 തെസ്സലൊനീക്യർ';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 തിമൊഥെയൊസ്';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 തിമൊഥെയൊസ്';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'തീത്തൊസ്';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'ഫിലേമോൻ';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'എബ്രായർ';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'യാക്കോബ്';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 പത്രൊസ്';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 പത്രൊസ്';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 യോഹന്നാൻ';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 യോഹന്നാൻ';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 യോഹന്നാൻ';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'യൂദാ';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'വെളിപ്പാട്';
|
|
274
|
+
}
|
lib/l10n/app_localizations_ne.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Nepali (`ne`).
|
|
8
|
+
class AppLocalizationsNe extends AppLocalizations {
|
|
9
|
+
AppLocalizationsNe([String locale = 'ne']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'ne';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'ne-NP-HemkalaNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'केवल बाइबल एप';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Nepali';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'नेपाली';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'पुरानो नियम';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'नयाँ नियम';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'कृपया एउटा बाइबल चयन गर्नुहोस्';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'अडियो प्ले गर्न सकिएन';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'ब्राउजर खोल्न सकिएन';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'सेटिङहरू';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'बाइबल';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'रंगहरू';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'पाठ आकार बढाउनुहोस्';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'पाठ आकार घटाउनुहोस्';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'बोल्ड टेक्स्ट';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'अंग्रेजी शीर्षकहरू प्रयोग गर्नुहोस्';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'गोपनीयता नीति';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'नियम तथा सर्त';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'एप साझा गर्नुहोस्';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'एप मूल्याङ्कन गर्नुहोस्';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'हाम्रोबारे';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'उत्पत्ति';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'प्रस्थान ';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'लेवी';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'गन्ती';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'व्यवस्था';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'यहोशू';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'न्यायकर्ता';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'रूथ';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => '1 शमूएल';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => '2 शमूएल';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => '1 राजा';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => '2 राजा';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => '1 इतिहास';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => '2 इतिहास';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'एज्रा';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'नहेम्याह';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'एस्तर';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'अय्यूब';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'भजनसंग्रह';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'हितोपदेश';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'उपदेशक';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'श्रेष्ठगीत';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'यशैया';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'यर्मिया';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'विलाप';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'इजकिएल';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'दानियल';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'होशे';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'योएल';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'आमोस';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ओबदिया';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'योना';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'मीका';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'नहूम';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'हबकूक';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'सपन्याह';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'हाग्गै';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'जकरिया';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'मलाकी';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'मत्ती';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'मर्कूस';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'लूका';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'यूहन्ना';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'प्रेरित';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'रोमी';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 कोरिन्थी';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 कोरिन्थी';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'गलाती';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'एफिसी';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'फिलिप्पी';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'कलस्सी';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 थिस्सलोनिकी';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 थिस्सलोनिकी';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 तिमोथी';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 तिमोथी';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'तीतस';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'फिलेमोन';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'हिब्रू';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'याकूब';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 पत्रुस';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 पत्रुस';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 यूहन्ना';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 यूहन्ना';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 यूहन्ना';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'यहूदा';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'प्रकाश';
|
|
274
|
+
}
|
lib/l10n/app_localizations_or.dart
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Oriya (`or`).
|
|
8
|
+
class AppLocalizationsOr extends AppLocalizations {
|
|
9
|
+
AppLocalizationsOr([String locale = 'or']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'or';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => '';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'କେବଳ ବାଇବଲ ଆପ୍ |';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Oriya';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'ଓଡିଆ';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'ଓଲ୍ଡ ଷ୍ଟେଟାମେଣ୍ଟ';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'ନ୍ୟୁ ଷ୍ଟେଟାମେଣ୍ଟ';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'ଦୟାକରି ଏକ ବାଇବଲ ଚୟନ କରନ୍ତୁ |';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError =>
|
|
37
|
+
'ଅଡିଓ ଚଲାଇ ପାରିଲା ନାହିଁ | ଏହି ବାଇବଲ ଅଡିଓକୁ ସମର୍ଥନ କରେ ନାହିଁ |';
|
|
38
|
+
|
|
39
|
+
@override
|
|
40
|
+
String get urlError => 'ବ୍ରାଉଜର୍ ଖୋଲିପାରିଲା ନାହିଁ |';
|
|
41
|
+
|
|
42
|
+
@override
|
|
43
|
+
String get settingsTitle => 'ସେଟିଂସମୂହ';
|
|
44
|
+
|
|
45
|
+
@override
|
|
46
|
+
String get bibleTitle => 'ବାଇବଲ |';
|
|
47
|
+
|
|
48
|
+
@override
|
|
49
|
+
String get themeTitle => 'ରଙ୍ଗଗୁଡିକ |';
|
|
50
|
+
|
|
51
|
+
@override
|
|
52
|
+
String get incrementFontTitle => 'ପାଠ୍ୟ ଆକାର ବୃଦ୍ଧି କରନ୍ତୁ |';
|
|
53
|
+
|
|
54
|
+
@override
|
|
55
|
+
String get decrementFontTitle => 'ପାଠ୍ୟ ଆକାର ହ୍ରାସ କରନ୍ତୁ |';
|
|
56
|
+
|
|
57
|
+
@override
|
|
58
|
+
String get boldFontTitle => 'ବୋଲ୍ଡ ଟେକ୍ସଟ୍ |';
|
|
59
|
+
|
|
60
|
+
@override
|
|
61
|
+
String get engTitles => 'ଇଂରାଜୀ ଆଖ୍ୟାଗୁଡିକ ବ୍ୟବହାର କରନ୍ତୁ |';
|
|
62
|
+
|
|
63
|
+
@override
|
|
64
|
+
String get privacyPolicyTitle => 'ଗୋପନୀୟତା ନୀତି';
|
|
65
|
+
|
|
66
|
+
@override
|
|
67
|
+
String get termsAndConditionsTitle => 'ସର୍ତ୍ତାବଳୀ';
|
|
68
|
+
|
|
69
|
+
@override
|
|
70
|
+
String get shareAppTitle => 'ଆପ୍ ଅଂଶୀଦାର କରନ୍ତୁ |';
|
|
71
|
+
|
|
72
|
+
@override
|
|
73
|
+
String get rateAppTitle => 'ଆପ୍ ରେଟ୍ କରନ୍ତୁ |';
|
|
74
|
+
|
|
75
|
+
@override
|
|
76
|
+
String get aboutUsTitle => 'ଆମ ବିଷୟରେ';
|
|
77
|
+
|
|
78
|
+
@override
|
|
79
|
+
String get genesis => 'ଆଦି ପୁସ୍ତକ';
|
|
80
|
+
|
|
81
|
+
@override
|
|
82
|
+
String get exodus => 'ଯାତ୍ରା ପୁସ୍ତକ';
|
|
83
|
+
|
|
84
|
+
@override
|
|
85
|
+
String get leviticus => 'ଲେବୀୟ ପୁସ୍ତକ';
|
|
86
|
+
|
|
87
|
+
@override
|
|
88
|
+
String get numbers => 'ଗଣନା ପୁସ୍ତକ';
|
|
89
|
+
|
|
90
|
+
@override
|
|
91
|
+
String get deuteronomy => 'ଦିତୀୟ ବିବରଣ';
|
|
92
|
+
|
|
93
|
+
@override
|
|
94
|
+
String get joshua => 'ଯିହୋଶୂୟ';
|
|
95
|
+
|
|
96
|
+
@override
|
|
97
|
+
String get judges => 'ବିଚାରକର୍ତାମାନଙ୍କ ବିବରଣ';
|
|
98
|
+
|
|
99
|
+
@override
|
|
100
|
+
String get ruth => 'ରୂତର ବିବରଣ';
|
|
101
|
+
|
|
102
|
+
@override
|
|
103
|
+
String get firstSamuel => 'ପ୍ରଥମ ଶାମୁୟେଲ';
|
|
104
|
+
|
|
105
|
+
@override
|
|
106
|
+
String get secondSamuel => 'ଦିତୀୟ ଶାମୁୟେଲ';
|
|
107
|
+
|
|
108
|
+
@override
|
|
109
|
+
String get firstKings => 'ପ୍ରଥମ ରାଜାବଳୀ';
|
|
110
|
+
|
|
111
|
+
@override
|
|
112
|
+
String get secondKings => 'ଦିତୀୟ ରାଜାବଳୀ';
|
|
113
|
+
|
|
114
|
+
@override
|
|
115
|
+
String get firstChronicles => 'ପ୍ରଥମ ବଂଶାବଳୀ';
|
|
116
|
+
|
|
117
|
+
@override
|
|
118
|
+
String get secondChronicles => 'ଦିତୀୟ ବଂଶାବଳୀ';
|
|
119
|
+
|
|
120
|
+
@override
|
|
121
|
+
String get ezra => 'ଏଜ୍ରା';
|
|
122
|
+
|
|
123
|
+
@override
|
|
124
|
+
String get nehemiah => 'ନିହିମିୟା';
|
|
125
|
+
|
|
126
|
+
@override
|
|
127
|
+
String get esther => 'ଏଷ୍ଟର ବିବରଣ';
|
|
128
|
+
|
|
129
|
+
@override
|
|
130
|
+
String get job => 'ଆୟୁବ ପୁସ୍ତକ';
|
|
131
|
+
|
|
132
|
+
@override
|
|
133
|
+
String get psalms => 'ଗୀତସଂହିତା';
|
|
134
|
+
|
|
135
|
+
@override
|
|
136
|
+
String get proverbs => 'ହିତୋପଦେଶ';
|
|
137
|
+
|
|
138
|
+
@override
|
|
139
|
+
String get ecclesiastes => 'ଉପଦେଶକ';
|
|
140
|
+
|
|
141
|
+
@override
|
|
142
|
+
String get song_of_solomon => 'ପରମଗୀତ';
|
|
143
|
+
|
|
144
|
+
@override
|
|
145
|
+
String get isaiah => 'ଯିଶାଇୟ';
|
|
146
|
+
|
|
147
|
+
@override
|
|
148
|
+
String get jeremiah => 'ଯିରିମିୟ';
|
|
149
|
+
|
|
150
|
+
@override
|
|
151
|
+
String get lamentations => 'ଯିରିମିୟଙ୍କ ବିଳାପ';
|
|
152
|
+
|
|
153
|
+
@override
|
|
154
|
+
String get ezekiel => 'ଯିହିଜିକଲ';
|
|
155
|
+
|
|
156
|
+
@override
|
|
157
|
+
String get daniel => 'ଦାନିଏଲ';
|
|
158
|
+
|
|
159
|
+
@override
|
|
160
|
+
String get hosea => 'ହୋଶେୟ';
|
|
161
|
+
|
|
162
|
+
@override
|
|
163
|
+
String get joel => 'ଯୋୟେଲ';
|
|
164
|
+
|
|
165
|
+
@override
|
|
166
|
+
String get amos => 'ଆମୋଷ';
|
|
167
|
+
|
|
168
|
+
@override
|
|
169
|
+
String get obadiah => 'ଓବଦିୟ';
|
|
170
|
+
|
|
171
|
+
@override
|
|
172
|
+
String get jonah => 'ଯୂନସ';
|
|
173
|
+
|
|
174
|
+
@override
|
|
175
|
+
String get micah => 'ମୀଖା';
|
|
176
|
+
|
|
177
|
+
@override
|
|
178
|
+
String get nahum => 'ନାହୂମ';
|
|
179
|
+
|
|
180
|
+
@override
|
|
181
|
+
String get habakkuk => 'ହବକକୂକ';
|
|
182
|
+
|
|
183
|
+
@override
|
|
184
|
+
String get zephaniah => 'ସିଫନିୟ';
|
|
185
|
+
|
|
186
|
+
@override
|
|
187
|
+
String get haggai => 'ହଗୟ';
|
|
188
|
+
|
|
189
|
+
@override
|
|
190
|
+
String get zechariah => 'ଯିଖରିୟ';
|
|
191
|
+
|
|
192
|
+
@override
|
|
193
|
+
String get malachi => 'ମଲାଖୀ';
|
|
194
|
+
|
|
195
|
+
@override
|
|
196
|
+
String get matthew => 'ମାଥିଉଲିଖିତ ସୁସମାଚାର';
|
|
197
|
+
|
|
198
|
+
@override
|
|
199
|
+
String get mark => 'ମାର୍କଲିଖିତ ସୁସମାଚାର';
|
|
200
|
+
|
|
201
|
+
@override
|
|
202
|
+
String get luke => 'ଲୂକଲିଖିତ ସୁସମାଚାର';
|
|
203
|
+
|
|
204
|
+
@override
|
|
205
|
+
String get john => 'ଯୋହନଲିଖିତ ସୁସମାଚାର';
|
|
206
|
+
|
|
207
|
+
@override
|
|
208
|
+
String get acts => 'ରେରିତମାନଙ୍କ କାର୍ଯ୍ୟର ବିବରଣ';
|
|
209
|
+
|
|
210
|
+
@override
|
|
211
|
+
String get romans => 'ରୋମୀୟଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
212
|
+
|
|
213
|
+
@override
|
|
214
|
+
String get firstCorinthians => 'କରିନ୍ଥୀୟଙ୍କ ପ୍ରତି ପ୍ରଥମ ପତ୍ର';
|
|
215
|
+
|
|
216
|
+
@override
|
|
217
|
+
String get secondCorinthians => 'କରିନ୍ଥୀୟଙ୍କ ପ୍ରତି ଦ୍ୱିତୀୟ ପତ୍ର';
|
|
218
|
+
|
|
219
|
+
@override
|
|
220
|
+
String get galatians => 'ଗାଲାତୀୟଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
221
|
+
|
|
222
|
+
@override
|
|
223
|
+
String get ephesians => 'ଏଫିସୀୟଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
224
|
+
|
|
225
|
+
@override
|
|
226
|
+
String get philippians => 'ଫିଲିପ୍ପୀୟଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
227
|
+
|
|
228
|
+
@override
|
|
229
|
+
String get colossians => 'କଲସୀୟଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
230
|
+
|
|
231
|
+
@override
|
|
232
|
+
String get firstThessalonians => 'ଥେସଲନୀକୀୟଙ୍କ ପ୍ରତି ପ୍ରଥମ ପତ୍ର';
|
|
233
|
+
|
|
234
|
+
@override
|
|
235
|
+
String get secondThessalonians => 'ଥେସଲନୀକୀୟଙ୍କ ପ୍ରତି ଦ୍ୱିତୀୟ ପତ୍ର';
|
|
236
|
+
|
|
237
|
+
@override
|
|
238
|
+
String get firstTimothy => 'ତୀମଥିଙ୍କ ପ୍ରତି ପ୍ରଥମ ପତ୍ର';
|
|
239
|
+
|
|
240
|
+
@override
|
|
241
|
+
String get secondTimothy => 'ତୀମଥିଙ୍କ ପ୍ରତି ଦ୍ୱିତୀୟ ପତ୍ର';
|
|
242
|
+
|
|
243
|
+
@override
|
|
244
|
+
String get titus => 'ତୀତସଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
245
|
+
|
|
246
|
+
@override
|
|
247
|
+
String get philemon => 'ଫିଲୀମୋନଙ୍କ ପ୍ରତି ପତ୍ର';
|
|
248
|
+
|
|
249
|
+
@override
|
|
250
|
+
String get hebrews => 'ଏବ୍ରୀ';
|
|
251
|
+
|
|
252
|
+
@override
|
|
253
|
+
String get james => 'ଯାକୁବଙ୍କ ପତ୍';
|
|
254
|
+
|
|
255
|
+
@override
|
|
256
|
+
String get firstPeter => 'ପିତରଙ୍କ ପ୍ରଥମ ପତ୍';
|
|
257
|
+
|
|
258
|
+
@override
|
|
259
|
+
String get secondPeter => 'ପିତରଙ୍କ ଦିତୀୟ ପତ୍ର';
|
|
260
|
+
|
|
261
|
+
@override
|
|
262
|
+
String get firstJohn => 'ଯୋହନଙ୍କ ପ୍ରଥମ ପତ୍ର';
|
|
263
|
+
|
|
264
|
+
@override
|
|
265
|
+
String get secondJohn => 'ଯୋହନଙ୍କ ଦିତୀୟ ପତ୍';
|
|
266
|
+
|
|
267
|
+
@override
|
|
268
|
+
String get thirdJohn => 'ଯୋହନଙ୍କ ତୃତୀୟ ପତ୍ର';
|
|
269
|
+
|
|
270
|
+
@override
|
|
271
|
+
String get jude => 'ଯିହୂଦାଙ୍କ ପତ୍ର';
|
|
272
|
+
|
|
273
|
+
@override
|
|
274
|
+
String get revelation => 'ଯୋହନଙ୍କ ପ୍ରତି ପ୍ରକାଶିତ ବାକ୍ୟ';
|
|
275
|
+
}
|
lib/l10n/app_localizations_pa.dart
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Panjabi Punjabi (`pa`).
|
|
8
|
+
class AppLocalizationsPa extends AppLocalizations {
|
|
9
|
+
AppLocalizationsPa([String locale = 'pa']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'pa';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => '';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'ਸਿਰਫ਼ ਬਾਈਬਲ ਐਪ';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Punjabi';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'ਪੰਜਾਬੀ';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'ਪੁਰਾਣੇ ਨੇਮ';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'ਨਵਾਂ ਨੇਮ';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਬਾਈਬਲ ਚੁਣੋ';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError =>
|
|
37
|
+
'ਆਡੀਓ ਚਲਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ । ਇਹ ਬਾਈਬਲ ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ।';
|
|
38
|
+
|
|
39
|
+
@override
|
|
40
|
+
String get urlError => 'ਬ੍ਰਾਊਜ਼ਰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ';
|
|
41
|
+
|
|
42
|
+
@override
|
|
43
|
+
String get settingsTitle => 'ਸੈਟਿੰਗਾਂ';
|
|
44
|
+
|
|
45
|
+
@override
|
|
46
|
+
String get bibleTitle => 'ਬਾਈਬਲ';
|
|
47
|
+
|
|
48
|
+
@override
|
|
49
|
+
String get themeTitle => 'ਰੰਗ';
|
|
50
|
+
|
|
51
|
+
@override
|
|
52
|
+
String get incrementFontTitle => 'ਟੈਕਸਟ ਦਾ ਆਕਾਰ ਵਧਾਓ';
|
|
53
|
+
|
|
54
|
+
@override
|
|
55
|
+
String get decrementFontTitle => 'ਟੈਕਸਟ ਦਾ ਆਕਾਰ ਘਟਾਓ';
|
|
56
|
+
|
|
57
|
+
@override
|
|
58
|
+
String get boldFontTitle => 'ਬੋਲਡ ਟੈਕਸਟ';
|
|
59
|
+
|
|
60
|
+
@override
|
|
61
|
+
String get engTitles => 'ਅੰਗਰੇਜ਼ੀ ਸਿਰਲੇਖਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ';
|
|
62
|
+
|
|
63
|
+
@override
|
|
64
|
+
String get privacyPolicyTitle => 'ਪਰਾਈਵੇਟ ਨੀਤੀ';
|
|
65
|
+
|
|
66
|
+
@override
|
|
67
|
+
String get termsAndConditionsTitle => 'ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ';
|
|
68
|
+
|
|
69
|
+
@override
|
|
70
|
+
String get shareAppTitle => 'ਐਪ ਨੂੰ ਸਾਂਝਾ ਕਰੋ';
|
|
71
|
+
|
|
72
|
+
@override
|
|
73
|
+
String get rateAppTitle => 'ਐਪ ਨੂੰ ਦਰਜਾ ਦਿਓ';
|
|
74
|
+
|
|
75
|
+
@override
|
|
76
|
+
String get aboutUsTitle => 'ਸਾਡੇ ਬਾਰੇ';
|
|
77
|
+
|
|
78
|
+
@override
|
|
79
|
+
String get genesis => 'ਪੈਦਾਇਸ਼';
|
|
80
|
+
|
|
81
|
+
@override
|
|
82
|
+
String get exodus => 'ਖ਼ਰੋਜ';
|
|
83
|
+
|
|
84
|
+
@override
|
|
85
|
+
String get leviticus => 'ਅਹਬਾਰ';
|
|
86
|
+
|
|
87
|
+
@override
|
|
88
|
+
String get numbers => 'ਗਿਣਤੀ';
|
|
89
|
+
|
|
90
|
+
@override
|
|
91
|
+
String get deuteronomy => 'ਅਸਤਸਨਾ';
|
|
92
|
+
|
|
93
|
+
@override
|
|
94
|
+
String get joshua => 'ਯਸ਼ਵਾ';
|
|
95
|
+
|
|
96
|
+
@override
|
|
97
|
+
String get judges => 'ਨਿਆਂਈਆਂ ਦੀ ਪੋਥੀ';
|
|
98
|
+
|
|
99
|
+
@override
|
|
100
|
+
String get ruth => 'ਰੁੱਤ';
|
|
101
|
+
|
|
102
|
+
@override
|
|
103
|
+
String get firstSamuel => '੧ ਸਮੋਈਲ';
|
|
104
|
+
|
|
105
|
+
@override
|
|
106
|
+
String get secondSamuel => '੨ ਸਮੋਈਲ';
|
|
107
|
+
|
|
108
|
+
@override
|
|
109
|
+
String get firstKings => '੧ ਸਲਾਤੀਨ';
|
|
110
|
+
|
|
111
|
+
@override
|
|
112
|
+
String get secondKings => '੨ ਸਲਾਤੀਨ';
|
|
113
|
+
|
|
114
|
+
@override
|
|
115
|
+
String get firstChronicles => '੧ ਤਵਾਰੀਖ਼';
|
|
116
|
+
|
|
117
|
+
@override
|
|
118
|
+
String get secondChronicles => '੨ ਤਵਾਰੀਖ਼';
|
|
119
|
+
|
|
120
|
+
@override
|
|
121
|
+
String get ezra => 'ਅਜ਼ਰਾ';
|
|
122
|
+
|
|
123
|
+
@override
|
|
124
|
+
String get nehemiah => 'ਨਹਮਿਆਹ';
|
|
125
|
+
|
|
126
|
+
@override
|
|
127
|
+
String get esther => 'ਆ ਸਤਰ';
|
|
128
|
+
|
|
129
|
+
@override
|
|
130
|
+
String get job => 'ਅੱਯੂਬ';
|
|
131
|
+
|
|
132
|
+
@override
|
|
133
|
+
String get psalms => 'ਜ਼ਬੂਰ';
|
|
134
|
+
|
|
135
|
+
@override
|
|
136
|
+
String get proverbs => 'ਅਮਸਾਲ';
|
|
137
|
+
|
|
138
|
+
@override
|
|
139
|
+
String get ecclesiastes => 'ਵਾਈਜ਼';
|
|
140
|
+
|
|
141
|
+
@override
|
|
142
|
+
String get song_of_solomon => 'ਗ਼ਜ਼ਲ ਅਲਗ਼ਜ਼ਲਾਤ';
|
|
143
|
+
|
|
144
|
+
@override
|
|
145
|
+
String get isaiah => 'ਯਸਈਆਹ';
|
|
146
|
+
|
|
147
|
+
@override
|
|
148
|
+
String get jeremiah => 'ਯਰਮਿਆਹ';
|
|
149
|
+
|
|
150
|
+
@override
|
|
151
|
+
String get lamentations => 'ਨੂਹ';
|
|
152
|
+
|
|
153
|
+
@override
|
|
154
|
+
String get ezekiel => 'ਹਿਜ਼ ਕੀ ਐਲ';
|
|
155
|
+
|
|
156
|
+
@override
|
|
157
|
+
String get daniel => 'ਦਾਨੀ ਐਲ';
|
|
158
|
+
|
|
159
|
+
@override
|
|
160
|
+
String get hosea => 'ਹੋ ਸੀਅ';
|
|
161
|
+
|
|
162
|
+
@override
|
|
163
|
+
String get joel => 'ਯਵਾਐਲ';
|
|
164
|
+
|
|
165
|
+
@override
|
|
166
|
+
String get amos => 'ਆਮੋਸ';
|
|
167
|
+
|
|
168
|
+
@override
|
|
169
|
+
String get obadiah => 'ਅਬਦ ਯਾਹ';
|
|
170
|
+
|
|
171
|
+
@override
|
|
172
|
+
String get jonah => 'ਯਵਨਾਹ';
|
|
173
|
+
|
|
174
|
+
@override
|
|
175
|
+
String get micah => 'ਮੀਕਾਹ';
|
|
176
|
+
|
|
177
|
+
@override
|
|
178
|
+
String get nahum => 'ਨਾ ਹੋਮ';
|
|
179
|
+
|
|
180
|
+
@override
|
|
181
|
+
String get habakkuk => 'ਹਬਕੋਕ';
|
|
182
|
+
|
|
183
|
+
@override
|
|
184
|
+
String get zephaniah => 'ਸਫ਼ਨਿਆਹ';
|
|
185
|
+
|
|
186
|
+
@override
|
|
187
|
+
String get haggai => 'ਹਜਿ';
|
|
188
|
+
|
|
189
|
+
@override
|
|
190
|
+
String get zechariah => 'ਜ਼ਿਕਰ ਯਾਹ';
|
|
191
|
+
|
|
192
|
+
@override
|
|
193
|
+
String get malachi => 'ਮਲਾਕੀ';
|
|
194
|
+
|
|
195
|
+
@override
|
|
196
|
+
String get matthew => 'ਮੱਤੀ';
|
|
197
|
+
|
|
198
|
+
@override
|
|
199
|
+
String get mark => 'ਮਰਕੁਸ';
|
|
200
|
+
|
|
201
|
+
@override
|
|
202
|
+
String get luke => 'ਲੋਕਾ';
|
|
203
|
+
|
|
204
|
+
@override
|
|
205
|
+
String get john => 'ਯੂਹੰਨਾ';
|
|
206
|
+
|
|
207
|
+
@override
|
|
208
|
+
String get acts => 'ਰਸੂਲਾਂ ਦੇ ਕਰਤੱਬ';
|
|
209
|
+
|
|
210
|
+
@override
|
|
211
|
+
String get romans => 'ਰੋਮੀਆਂ';
|
|
212
|
+
|
|
213
|
+
@override
|
|
214
|
+
String get firstCorinthians => '੧ ਕੁਰਿੰਥੀਆਂ';
|
|
215
|
+
|
|
216
|
+
@override
|
|
217
|
+
String get secondCorinthians => '੨ ਕੁਰਿੰਥੀਆਂ';
|
|
218
|
+
|
|
219
|
+
@override
|
|
220
|
+
String get galatians => 'ਗਲਾਤੀਆਂ';
|
|
221
|
+
|
|
222
|
+
@override
|
|
223
|
+
String get ephesians => 'ਅਫ਼ਸੀਆਂ';
|
|
224
|
+
|
|
225
|
+
@override
|
|
226
|
+
String get philippians => 'ਫ਼ਿਲਿੱਪੀਆਂ';
|
|
227
|
+
|
|
228
|
+
@override
|
|
229
|
+
String get colossians => 'ਕੁਲੁੱਸੀਆਂ';
|
|
230
|
+
|
|
231
|
+
@override
|
|
232
|
+
String get firstThessalonians => '੧ ਥੱਸਲੁਨੀਕੀਆਂ';
|
|
233
|
+
|
|
234
|
+
@override
|
|
235
|
+
String get secondThessalonians => '੨ ਥੱਸਲੁਨੀਕੀਆਂ';
|
|
236
|
+
|
|
237
|
+
@override
|
|
238
|
+
String get firstTimothy => '੧ ਤਿਮੋਥਿਉਸ';
|
|
239
|
+
|
|
240
|
+
@override
|
|
241
|
+
String get secondTimothy => '੨ ਤਿਮੋਥਿਉਸ ';
|
|
242
|
+
|
|
243
|
+
@override
|
|
244
|
+
String get titus => 'ਤੀਤੁਸ';
|
|
245
|
+
|
|
246
|
+
@override
|
|
247
|
+
String get philemon => 'ਫ਼ਿਲੇਮੋਨ';
|
|
248
|
+
|
|
249
|
+
@override
|
|
250
|
+
String get hebrews => 'ਇਬਰਾਨੀਆਂ';
|
|
251
|
+
|
|
252
|
+
@override
|
|
253
|
+
String get james => 'ਯਾਕੂਬ';
|
|
254
|
+
|
|
255
|
+
@override
|
|
256
|
+
String get firstPeter => '੧ ਪਤਰਸ';
|
|
257
|
+
|
|
258
|
+
@override
|
|
259
|
+
String get secondPeter => '੨ ਪਤਰਸ';
|
|
260
|
+
|
|
261
|
+
@override
|
|
262
|
+
String get firstJohn => '੧ ਯੂਹੰਨਾ';
|
|
263
|
+
|
|
264
|
+
@override
|
|
265
|
+
String get secondJohn => '੨ ਯੂਹੰਨਾ';
|
|
266
|
+
|
|
267
|
+
@override
|
|
268
|
+
String get thirdJohn => '੩ ਯੂਹੰਨਾ';
|
|
269
|
+
|
|
270
|
+
@override
|
|
271
|
+
String get jude => 'ਯਹੂ ਦਾਹ';
|
|
272
|
+
|
|
273
|
+
@override
|
|
274
|
+
String get revelation => 'ਪਰਕਾਸ਼ ਦੀ ਪੋਥੀ';
|
|
275
|
+
}
|
lib/l10n/app_localizations_ta.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Tamil (`ta`).
|
|
8
|
+
class AppLocalizationsTa extends AppLocalizations {
|
|
9
|
+
AppLocalizationsTa([String locale = 'ta']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'ta';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'ta-IN-PallaviNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'பைபிள் ஆப் மட்டுமே';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Tamil';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'தமிழ்';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'பழைய ஏற்பாடு';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'புதிய ஏற்பாடு';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'தயவுசெய்து ஒரு பைபிளைத் தேர்ந்தெடுக்கவும்';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'ஆடியோவை இயக்க முடியவில்லை';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'உலாவியைத் திறக்க முடியவில்லை';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'அமைப்புகள்';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'திருவிவிலியம்';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'வண்ணங்கள்';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'உரை அளவை அதிகரிக்கவும்';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'உரை அளவைக் குறைக்கவும்';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'கொட்டை எழுத்துக்கள்';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'ஆங்கில தலைப்புகளைப் பயன்படுத்தவும்';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'தனியுரிமைக் கொள்கை';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'விதிமுறைகளும் நிபந்தனைகளும்';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'பயன்பாட்டைப் பகிரவும்';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'பயன்பாட்டை மதிப்பிடவும்';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'எங்களை பற்றி';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'ஆதியாகமம்';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'யாத்திராகமம்';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'லேவியராகமம்';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'எண்ணாகமம்';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'உபாகமம்';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'யோசுவா';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'நியாயாதிபதிகள்';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'ரூத்';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => '1 சாமுவேல்';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => '2 சாமுவேல்';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => '1 இராஜாக்கள்';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => '2 இராஜாக்கள்';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => '1 நாளாகமம்';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => '2 நாளாகமம்';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'எஸ்றா';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'நெகேமியா';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'எஸ்தர்';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'யோபு';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'சங்கீதம்';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'நீதிமொழிகள்';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'பிரசங்கி';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'உன்னதப்பாட்டு';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'ஏசாயா';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'எரேமியா';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'புலம்பல்';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'எசேக்கியேல்';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'தானியேல்';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'ஓசியா';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'யோவேல்';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'ஆமோஸ்';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ஒபதியா';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'யோனா';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'மீகா';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'நாகூம்';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'ஆபகூக்';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'செப்பனியா';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'ஆகாய்';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'சகரியா';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'மல்கியா';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'மத்தேயு';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'மாற்கு';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'லுூக்கா';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'யோவான்';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'அப்போஸ்தலர்';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'ரோமர்';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 கொரிந்தியர்';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 கொரிந்தியர்';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'கலாத்தியர்';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'எபேசியர்';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'பிலிப்பியர்';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'கொலோசெயர்';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 தெசலோனிக்கேயர்';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 தெசலோனிக்கேயர்';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 தீமோத்தேயு';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 தீமோத்தேயு';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'தீத்து';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'பிலேமோன்';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'எபிரெயர்';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'யாக்கோபு';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 பேதுரு';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 பேதுரு';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 யோவான்';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 யோவான்';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 யோவான்';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'யூதா';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'வெளி';
|
|
274
|
+
}
|
lib/l10n/app_localizations_te.dart
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// ignore: unused_import
|
|
2
|
+
import 'package:intl/intl.dart' as intl;
|
|
3
|
+
import 'app_localizations.dart';
|
|
4
|
+
|
|
5
|
+
// ignore_for_file: type=lint
|
|
6
|
+
|
|
7
|
+
/// The translations for Telugu (`te`).
|
|
8
|
+
class AppLocalizationsTe extends AppLocalizations {
|
|
9
|
+
AppLocalizationsTe([String locale = 'te']) : super(locale);
|
|
10
|
+
|
|
11
|
+
@override
|
|
12
|
+
String get languageCode => 'te';
|
|
13
|
+
|
|
14
|
+
@override
|
|
15
|
+
String get audioVoice => 'te-IN-ShrutiNeural';
|
|
16
|
+
|
|
17
|
+
@override
|
|
18
|
+
String get title => 'బైబిల్ యాప్ మాత్రమే';
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
String get languageTitle => 'Telugu';
|
|
22
|
+
|
|
23
|
+
@override
|
|
24
|
+
String get localeLanguageTitle => 'తెలుగు';
|
|
25
|
+
|
|
26
|
+
@override
|
|
27
|
+
String get oldTestamentTitle => 'పాత నిబంధన';
|
|
28
|
+
|
|
29
|
+
@override
|
|
30
|
+
String get newTestamentTitle => 'కొత్త నిబంధన';
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
String get bibleSelectTitle => 'దయచేసి బైబిల్ను ఎంచుకోండి';
|
|
34
|
+
|
|
35
|
+
@override
|
|
36
|
+
String get audioError => 'ఆడియోను ప్లే చేయడం సాధ్యపడలేదు';
|
|
37
|
+
|
|
38
|
+
@override
|
|
39
|
+
String get urlError => 'బ్రౌజర్ని తెరవడం సాధ్యపడలేదు';
|
|
40
|
+
|
|
41
|
+
@override
|
|
42
|
+
String get settingsTitle => 'సెట్టింగ్లు';
|
|
43
|
+
|
|
44
|
+
@override
|
|
45
|
+
String get bibleTitle => 'బైబిల్';
|
|
46
|
+
|
|
47
|
+
@override
|
|
48
|
+
String get themeTitle => 'రంగులు';
|
|
49
|
+
|
|
50
|
+
@override
|
|
51
|
+
String get incrementFontTitle => 'వచన పరిమాణాన్ని పెంచండి';
|
|
52
|
+
|
|
53
|
+
@override
|
|
54
|
+
String get decrementFontTitle => 'వచన పరిమాణాన్ని తగ్గించండిe';
|
|
55
|
+
|
|
56
|
+
@override
|
|
57
|
+
String get boldFontTitle => 'బోల్డ్ టెక్స్ట్';
|
|
58
|
+
|
|
59
|
+
@override
|
|
60
|
+
String get engTitles => 'ఆంగ్ల శీర్షికలను ఉపయోగించండి';
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
String get privacyPolicyTitle => 'గోప్యతా విధానం';
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
String get termsAndConditionsTitle => 'నిబంధనలు & షరతులు';
|
|
67
|
+
|
|
68
|
+
@override
|
|
69
|
+
String get shareAppTitle => 'యాప్ను షేర్ చేయండి';
|
|
70
|
+
|
|
71
|
+
@override
|
|
72
|
+
String get rateAppTitle => 'యాప్ను రేట్ చేయండి';
|
|
73
|
+
|
|
74
|
+
@override
|
|
75
|
+
String get aboutUsTitle => 'మా గురించి';
|
|
76
|
+
|
|
77
|
+
@override
|
|
78
|
+
String get genesis => 'ఆదికాండము';
|
|
79
|
+
|
|
80
|
+
@override
|
|
81
|
+
String get exodus => 'నిర్గమకాండము';
|
|
82
|
+
|
|
83
|
+
@override
|
|
84
|
+
String get leviticus => 'లేవీయకాండము';
|
|
85
|
+
|
|
86
|
+
@override
|
|
87
|
+
String get numbers => 'సంఖ్యాకాండము';
|
|
88
|
+
|
|
89
|
+
@override
|
|
90
|
+
String get deuteronomy => 'ద్వితీయోపదేశకాండమ';
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
String get joshua => 'యెహొషువ';
|
|
94
|
+
|
|
95
|
+
@override
|
|
96
|
+
String get judges => 'న్యాయాధిపతులు';
|
|
97
|
+
|
|
98
|
+
@override
|
|
99
|
+
String get ruth => 'రూతు';
|
|
100
|
+
|
|
101
|
+
@override
|
|
102
|
+
String get firstSamuel => 'సమూయేలు మొదటి గ్రంథము';
|
|
103
|
+
|
|
104
|
+
@override
|
|
105
|
+
String get secondSamuel => 'సమూయేలు రెండవ గ్రంథము';
|
|
106
|
+
|
|
107
|
+
@override
|
|
108
|
+
String get firstKings => 'రాజులు మొదటి గ్రంథము';
|
|
109
|
+
|
|
110
|
+
@override
|
|
111
|
+
String get secondKings => 'రాజులు రెండవ గ్రంథము';
|
|
112
|
+
|
|
113
|
+
@override
|
|
114
|
+
String get firstChronicles => 'దినవృత్తాంతములు మొదటి గ్రంథము';
|
|
115
|
+
|
|
116
|
+
@override
|
|
117
|
+
String get secondChronicles => 'దినవృత్తాంతములు రెండవ గ్రంథము';
|
|
118
|
+
|
|
119
|
+
@override
|
|
120
|
+
String get ezra => 'ఎజ్రా';
|
|
121
|
+
|
|
122
|
+
@override
|
|
123
|
+
String get nehemiah => 'నెహెమ్యా';
|
|
124
|
+
|
|
125
|
+
@override
|
|
126
|
+
String get esther => 'ఎస్తేరు';
|
|
127
|
+
|
|
128
|
+
@override
|
|
129
|
+
String get job => 'యోబు గ్రంథము';
|
|
130
|
+
|
|
131
|
+
@override
|
|
132
|
+
String get psalms => 'కీర్తనల గ్రంథము';
|
|
133
|
+
|
|
134
|
+
@override
|
|
135
|
+
String get proverbs => 'సామెతలు';
|
|
136
|
+
|
|
137
|
+
@override
|
|
138
|
+
String get ecclesiastes => 'ప్రసంగి';
|
|
139
|
+
|
|
140
|
+
@override
|
|
141
|
+
String get song_of_solomon => 'పరమగీతము';
|
|
142
|
+
|
|
143
|
+
@override
|
|
144
|
+
String get isaiah => 'యెషయా గ్రంథము';
|
|
145
|
+
|
|
146
|
+
@override
|
|
147
|
+
String get jeremiah => 'యిర్మీయా';
|
|
148
|
+
|
|
149
|
+
@override
|
|
150
|
+
String get lamentations => 'విలాపవాక్యములు';
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
String get ezekiel => 'యెహెజ్కేలు';
|
|
154
|
+
|
|
155
|
+
@override
|
|
156
|
+
String get daniel => 'దానియేలు';
|
|
157
|
+
|
|
158
|
+
@override
|
|
159
|
+
String get hosea => 'హొషేయ';
|
|
160
|
+
|
|
161
|
+
@override
|
|
162
|
+
String get joel => 'యోవేలు';
|
|
163
|
+
|
|
164
|
+
@override
|
|
165
|
+
String get amos => 'ఆమోసు';
|
|
166
|
+
|
|
167
|
+
@override
|
|
168
|
+
String get obadiah => 'ఓబద్యా';
|
|
169
|
+
|
|
170
|
+
@override
|
|
171
|
+
String get jonah => 'యోనా';
|
|
172
|
+
|
|
173
|
+
@override
|
|
174
|
+
String get micah => 'మీకా';
|
|
175
|
+
|
|
176
|
+
@override
|
|
177
|
+
String get nahum => 'నహూము';
|
|
178
|
+
|
|
179
|
+
@override
|
|
180
|
+
String get habakkuk => 'హబక్కూకు';
|
|
181
|
+
|
|
182
|
+
@override
|
|
183
|
+
String get zephaniah => 'జెఫన్యా';
|
|
184
|
+
|
|
185
|
+
@override
|
|
186
|
+
String get haggai => 'హగ్గయి';
|
|
187
|
+
|
|
188
|
+
@override
|
|
189
|
+
String get zechariah => 'జెకర్యా';
|
|
190
|
+
|
|
191
|
+
@override
|
|
192
|
+
String get malachi => 'మలాకీ';
|
|
193
|
+
|
|
194
|
+
@override
|
|
195
|
+
String get matthew => 'మత్తయి సువార్త';
|
|
196
|
+
|
|
197
|
+
@override
|
|
198
|
+
String get mark => 'మార్కు సువార్త';
|
|
199
|
+
|
|
200
|
+
@override
|
|
201
|
+
String get luke => 'లూకా సువార్త';
|
|
202
|
+
|
|
203
|
+
@override
|
|
204
|
+
String get john => 'యోహాను సువార్త';
|
|
205
|
+
|
|
206
|
+
@override
|
|
207
|
+
String get acts => 'అపొస్తలుల కార్యములు';
|
|
208
|
+
|
|
209
|
+
@override
|
|
210
|
+
String get romans => 'రోమీయులకు';
|
|
211
|
+
|
|
212
|
+
@override
|
|
213
|
+
String get firstCorinthians => '1 కొరింథీయులకు';
|
|
214
|
+
|
|
215
|
+
@override
|
|
216
|
+
String get secondCorinthians => '2 కొరింథీయులకు';
|
|
217
|
+
|
|
218
|
+
@override
|
|
219
|
+
String get galatians => 'గలతీయులకు';
|
|
220
|
+
|
|
221
|
+
@override
|
|
222
|
+
String get ephesians => 'ఎఫెసీయులకు';
|
|
223
|
+
|
|
224
|
+
@override
|
|
225
|
+
String get philippians => 'ఫిలిప్పీయులకు';
|
|
226
|
+
|
|
227
|
+
@override
|
|
228
|
+
String get colossians => 'కొలొస్సయులకు';
|
|
229
|
+
|
|
230
|
+
@override
|
|
231
|
+
String get firstThessalonians => '1 థెస్సలొనీకయులకు';
|
|
232
|
+
|
|
233
|
+
@override
|
|
234
|
+
String get secondThessalonians => '2 థెస్సలొనీకయులకు';
|
|
235
|
+
|
|
236
|
+
@override
|
|
237
|
+
String get firstTimothy => '1 తిమోతికి';
|
|
238
|
+
|
|
239
|
+
@override
|
|
240
|
+
String get secondTimothy => '2 తిమోతికి';
|
|
241
|
+
|
|
242
|
+
@override
|
|
243
|
+
String get titus => 'తీతుకు';
|
|
244
|
+
|
|
245
|
+
@override
|
|
246
|
+
String get philemon => 'ఫిలేమోనుకు';
|
|
247
|
+
|
|
248
|
+
@override
|
|
249
|
+
String get hebrews => 'హెబ్రీయులకు';
|
|
250
|
+
|
|
251
|
+
@override
|
|
252
|
+
String get james => 'యాకోబు';
|
|
253
|
+
|
|
254
|
+
@override
|
|
255
|
+
String get firstPeter => '1 పేతురు';
|
|
256
|
+
|
|
257
|
+
@override
|
|
258
|
+
String get secondPeter => '2 పేతురు';
|
|
259
|
+
|
|
260
|
+
@override
|
|
261
|
+
String get firstJohn => '1 యోహాను';
|
|
262
|
+
|
|
263
|
+
@override
|
|
264
|
+
String get secondJohn => '2 యోహాను';
|
|
265
|
+
|
|
266
|
+
@override
|
|
267
|
+
String get thirdJohn => '3 యోహాను';
|
|
268
|
+
|
|
269
|
+
@override
|
|
270
|
+
String get jude => 'యూదా';
|
|
271
|
+
|
|
272
|
+
@override
|
|
273
|
+
String get revelation => 'ప్రకటన గ్రంథము';
|
|
274
|
+
}
|
lib/main.dart
CHANGED
|
@@ -11,36 +11,36 @@ import "package:only_bible_app/navigation.dart";
|
|
|
11
11
|
import "package:only_bible_app/store/state.dart";
|
|
12
12
|
|
|
13
13
|
void main() async {
|
|
14
|
-
FlutterError.onError = (errorDetails) {
|
|
14
|
+
// FlutterError.onError = (errorDetails) {
|
|
15
|
-
|
|
15
|
+
// SchedulerBinding.instance.addPostFrameCallback((d) {
|
|
16
|
-
|
|
16
|
+
// showReportError(
|
|
17
|
-
|
|
17
|
+
// globalNavigatorKey.currentState!.context,
|
|
18
|
-
|
|
18
|
+
// errorDetails.exception.toString(),
|
|
19
|
-
|
|
19
|
+
// errorDetails.stack,
|
|
20
|
-
|
|
20
|
+
// );
|
|
21
|
-
|
|
21
|
+
// });
|
|
22
|
-
};
|
|
22
|
+
// };
|
|
23
|
-
PlatformDispatcher.instance.onError = (error, stack) {
|
|
23
|
+
// PlatformDispatcher.instance.onError = (error, stack) {
|
|
24
|
-
|
|
24
|
+
// Future.delayed(const Duration(seconds: 1), () {
|
|
25
|
-
|
|
25
|
+
// showReportError(
|
|
26
|
-
|
|
26
|
+
// globalNavigatorKey.currentState!.context,
|
|
27
|
-
|
|
27
|
+
// error.toString(),
|
|
28
|
-
|
|
28
|
+
// stack,
|
|
29
|
-
|
|
29
|
+
// );
|
|
30
|
-
|
|
30
|
+
// });
|
|
31
|
-
|
|
31
|
+
// return true;
|
|
32
|
-
};
|
|
32
|
+
// };
|
|
33
|
-
FlutterNativeSplash.preserve(
|
|
33
|
+
// FlutterNativeSplash.preserve(
|
|
34
|
-
|
|
34
|
+
// widgetsBinding: WidgetsFlutterBinding.ensureInitialized(),
|
|
35
|
-
);
|
|
35
|
+
// );
|
|
36
36
|
usePathUrlStrategy();
|
|
37
|
-
|
|
37
|
+
FlutterAzureTts.init(
|
|
38
|
-
subscriptionKey:
|
|
38
|
+
subscriptionKey: "a9d2d78796924a2a9df2b6d5c1c4a576",
|
|
39
39
|
region: "centralindia",
|
|
40
|
-
withLogs:
|
|
40
|
+
withLogs: true,
|
|
41
41
|
);
|
|
42
|
-
await initState();
|
|
42
|
+
// await initState();
|
|
43
|
-
updateStatusBar(darkModeAtom.value);
|
|
43
|
+
// updateStatusBar(darkModeAtom.value);
|
|
44
44
|
runApp(const App());
|
|
45
|
-
FlutterNativeSplash.remove();
|
|
45
|
+
// FlutterNativeSplash.remove();
|
|
46
46
|
}
|
lib/models.dart
CHANGED
|
@@ -47,7 +47,7 @@ class Chapter {
|
|
|
47
47
|
final List<Verse> verses;
|
|
48
48
|
|
|
49
49
|
const Chapter(
|
|
50
|
-
{required this.index, required this.verses, required this.book});
|
|
50
|
+
{required this.index, required this.verses, required this.book,});
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
class Verse {
|
lib/navigation.dart
CHANGED
|
@@ -38,7 +38,7 @@ final highlightsShownAtom = Atom(
|
|
|
38
38
|
},
|
|
39
39
|
);
|
|
40
40
|
|
|
41
|
-
createNoTransitionPageRoute(Widget page) {
|
|
41
|
+
PageRouteBuilder<dynamic> createNoTransitionPageRoute(Widget page) {
|
|
42
42
|
return PageRouteBuilder(
|
|
43
43
|
opaque: false,
|
|
44
44
|
transitionDuration: Duration.zero,
|
|
@@ -47,7 +47,7 @@ createNoTransitionPageRoute(Widget page) {
|
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
createSlideRoute({
|
|
50
|
+
PageRouteBuilder<dynamic> createSlideRoute({
|
|
51
51
|
required BuildContext context,
|
|
52
52
|
TextDirection? slideDir,
|
|
53
53
|
required Widget page,
|
|
@@ -75,26 +75,26 @@ createSlideRoute({
|
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
updateStatusBar(bool v) {
|
|
78
|
+
void updateStatusBar(bool v) {
|
|
79
79
|
if (v) {
|
|
80
80
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
|
81
81
|
systemNavigationBarColor: Color(0xFF1F1F22),
|
|
82
82
|
statusBarColor: Color(0xFF1F1F22),
|
|
83
83
|
systemNavigationBarIconBrightness: Brightness.light,
|
|
84
84
|
statusBarIconBrightness: Brightness.light,
|
|
85
|
-
));
|
|
85
|
+
),);
|
|
86
86
|
} else {
|
|
87
87
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
|
88
88
|
systemNavigationBarColor: Colors.white,
|
|
89
89
|
statusBarColor: Colors.white,
|
|
90
90
|
systemNavigationBarIconBrightness: Brightness.dark,
|
|
91
91
|
statusBarIconBrightness: Brightness.dark,
|
|
92
|
-
));
|
|
92
|
+
),);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
pushBookChapter(BuildContext context, String bibleName, int book, int chapter,
|
|
96
|
+
void pushBookChapter(BuildContext context, String bibleName, int book, int chapter,
|
|
97
|
-
TextDirection? dir) {
|
|
97
|
+
TextDirection? dir,) {
|
|
98
98
|
dispatch(UpdateChapter(book, chapter));
|
|
99
99
|
clearEvents(context);
|
|
100
100
|
Navigator.of(context).push(
|
|
@@ -102,12 +102,12 @@ pushBookChapter(BuildContext context, String bibleName, int book, int chapter,
|
|
|
102
102
|
context: context,
|
|
103
103
|
slideDir: dir,
|
|
104
104
|
page: ChapterViewScreen(
|
|
105
|
-
bibleName: bibleName, bookIndex: book, chapterIndex: chapter),
|
|
105
|
+
bibleName: bibleName, bookIndex: book, chapterIndex: chapter,),
|
|
106
106
|
),
|
|
107
107
|
);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
replaceBookChapter(
|
|
110
|
+
void replaceBookChapter(
|
|
111
111
|
BuildContext context,
|
|
112
112
|
String bibleName,
|
|
113
113
|
int book,
|
|
@@ -126,39 +126,39 @@ replaceBookChapter(
|
|
|
126
126
|
);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
nextChapter(BuildContext context, Bible bible, int book, int chapter) {
|
|
129
|
+
void nextChapter(BuildContext context, Bible bible, int book, int chapter) {
|
|
130
130
|
final selectedBook = bible.books[book];
|
|
131
131
|
if (selectedBook.chapters.length > chapter + 1) {
|
|
132
132
|
pushBookChapter(context, bible.name, selectedBook.index, chapter + 1,
|
|
133
|
-
TextDirection.ltr);
|
|
133
|
+
TextDirection.ltr,);
|
|
134
134
|
} else {
|
|
135
135
|
if (selectedBook.index + 1 < bible.books.length) {
|
|
136
136
|
final nextBook = bible.books[selectedBook.index + 1];
|
|
137
137
|
pushBookChapter(
|
|
138
|
-
context, bible.name, nextBook.index, 0, TextDirection.ltr);
|
|
138
|
+
context, bible.name, nextBook.index, 0, TextDirection.ltr,);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
previousChapter(BuildContext context, Bible bible, int book, int chapter) {
|
|
143
|
+
void previousChapter(BuildContext context, Bible bible, int book, int chapter) {
|
|
144
144
|
final selectedBook = bible.books[book];
|
|
145
145
|
if (chapter - 1 >= 0) {
|
|
146
146
|
// if (Navigator.of(context).canPop()) {
|
|
147
147
|
// Navigator.of(context).pop();
|
|
148
148
|
// } else {
|
|
149
149
|
pushBookChapter(context, bible.name, selectedBook.index, chapter - 1,
|
|
150
|
-
TextDirection.rtl);
|
|
150
|
+
TextDirection.rtl,);
|
|
151
151
|
// }
|
|
152
152
|
} else {
|
|
153
153
|
if (selectedBook.index - 1 >= 0) {
|
|
154
154
|
final prevBook = bible.books[selectedBook.index - 1];
|
|
155
155
|
pushBookChapter(context, bible.name, prevBook.index,
|
|
156
|
-
prevBook.chapters.length - 1, TextDirection.rtl);
|
|
156
|
+
prevBook.chapters.length - 1, TextDirection.rtl,);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
showAboutUs(BuildContext context) {
|
|
161
|
+
void showAboutUs(BuildContext context) {
|
|
162
162
|
Navigator.of(context).push(
|
|
163
163
|
createNoTransitionPageRoute(
|
|
164
164
|
const WebViewScreen(
|
|
@@ -168,7 +168,7 @@ showAboutUs(BuildContext context) {
|
|
|
168
168
|
);
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
showPrivacyPolicy(BuildContext context) {
|
|
171
|
+
void showPrivacyPolicy(BuildContext context) {
|
|
172
172
|
Navigator.of(context).push(
|
|
173
173
|
createNoTransitionPageRoute(
|
|
174
174
|
const WebViewScreen(
|
|
@@ -178,7 +178,7 @@ showPrivacyPolicy(BuildContext context) {
|
|
|
178
178
|
);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
showTermsAndConditions(BuildContext context) {
|
|
181
|
+
void showTermsAndConditions(BuildContext context) {
|
|
182
182
|
Navigator.of(context).push(
|
|
183
183
|
createNoTransitionPageRoute(
|
|
184
184
|
const WebViewScreen(
|
|
@@ -188,7 +188,7 @@ showTermsAndConditions(BuildContext context) {
|
|
|
188
188
|
);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
changeBible(BuildContext context) {
|
|
191
|
+
void changeBible(BuildContext context) {
|
|
192
192
|
Navigator.of(context).pushReplacement(
|
|
193
193
|
createNoTransitionPageRoute(
|
|
194
194
|
const BibleSelectScreen(),
|
|
@@ -196,7 +196,7 @@ changeBible(BuildContext context) {
|
|
|
196
196
|
);
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
-
changeBibleFromHeader(BuildContext context) {
|
|
199
|
+
void changeBibleFromHeader(BuildContext context) {
|
|
200
200
|
Navigator.of(context).push(
|
|
201
201
|
createNoTransitionPageRoute(
|
|
202
202
|
const BibleSelectScreen(),
|
|
@@ -204,7 +204,7 @@ changeBibleFromHeader(BuildContext context) {
|
|
|
204
204
|
);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
changeBook(BuildContext context, Bible bible) {
|
|
207
|
+
void changeBook(BuildContext context, Bible bible) {
|
|
208
208
|
Navigator.of(context).push(
|
|
209
209
|
createNoTransitionPageRoute(
|
|
210
210
|
BookSelectScreen(bible: bible),
|
|
@@ -212,7 +212,7 @@ changeBook(BuildContext context, Bible bible) {
|
|
|
212
212
|
);
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
changeChapter(BuildContext context, Bible bible, Book book, int index) {
|
|
215
|
+
void changeChapter(BuildContext context, Bible bible, Book book, int index) {
|
|
216
216
|
Navigator.of(context).push(
|
|
217
217
|
createNoTransitionPageRoute(
|
|
218
218
|
ChapterSelectScreen(bible: bible, book: book, selectedBookIndex: index),
|
|
@@ -220,14 +220,14 @@ changeChapter(BuildContext context, Bible bible, Book book, int index) {
|
|
|
220
220
|
);
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
-
updateCurrentBible(BuildContext context, String name, String code, int book,
|
|
223
|
+
Future<void> updateCurrentBible(BuildContext context, String name, String code, int book,
|
|
224
|
-
int chapter) async {
|
|
224
|
+
int chapter,) async {
|
|
225
225
|
hideActions(context);
|
|
226
226
|
dispatch(UpdateBible(name, code));
|
|
227
227
|
pushBookChapter(context, name, book, chapter, null);
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
-
shareAppLink(BuildContext context) {
|
|
230
|
+
void shareAppLink(BuildContext context) {
|
|
231
231
|
if (isAndroid()) {
|
|
232
232
|
Share.share(
|
|
233
233
|
subject: "Only Bible App",
|
|
@@ -241,11 +241,11 @@ shareAppLink(BuildContext context) {
|
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
rateApp(BuildContext context) async {
|
|
244
|
+
Future<void> rateApp(BuildContext context) async {
|
|
245
|
-
|
|
245
|
+
AppReview.requestReview;
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
shareVerses(BuildContext context, Bible bible, List<Verse> verses) async {
|
|
248
|
+
Future<void> shareVerses(BuildContext context, Bible bible, List<Verse> verses) async {
|
|
249
249
|
final name = context.bookNames[verses.first.book];
|
|
250
250
|
final chapter = verses.first.chapter + 1;
|
|
251
251
|
final items = verses.sortedBy((e) => e.index).map((e) => e.index + 1);
|
|
@@ -258,7 +258,7 @@ shareVerses(BuildContext context, Bible bible, List<Verse> verses) async {
|
|
|
258
258
|
hideActions(context);
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
showSettings(BuildContext context, Bible bible) {
|
|
261
|
+
void showSettings(BuildContext context, Bible bible) {
|
|
262
262
|
showModalBottomSheet(
|
|
263
263
|
context: context,
|
|
264
264
|
isDismissible: true,
|
|
@@ -269,7 +269,7 @@ showSettings(BuildContext context, Bible bible) {
|
|
|
269
269
|
);
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
showActions(BuildContext context, Bible bible) {
|
|
272
|
+
void showActions(BuildContext context, Bible bible) {
|
|
273
273
|
if (!actionsShownAtom.value) {
|
|
274
274
|
dispatch(const SetActionsShown(true));
|
|
275
275
|
Scaffold.of(context).showBottomSheet(
|
|
@@ -280,7 +280,7 @@ showActions(BuildContext context, Bible bible) {
|
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
hideActions(BuildContext context) {
|
|
283
|
+
void hideActions(BuildContext context) {
|
|
284
284
|
if (actionsShownAtom.value) {
|
|
285
285
|
dispatch(const SetActionsShown(false));
|
|
286
286
|
dispatch(const ClearSelectedVerses());
|
|
@@ -288,7 +288,7 @@ hideActions(BuildContext context) {
|
|
|
288
288
|
}
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
showHighlights(BuildContext context) {
|
|
291
|
+
void showHighlights(BuildContext context) {
|
|
292
292
|
dispatch(const SetHighlightsShown(true));
|
|
293
293
|
Scaffold.of(context).showBottomSheet(
|
|
294
294
|
enableDrag: false,
|
|
@@ -297,7 +297,7 @@ showHighlights(BuildContext context) {
|
|
|
297
297
|
);
|
|
298
298
|
}
|
|
299
299
|
|
|
300
|
-
hideHighlights(BuildContext context) {
|
|
300
|
+
void hideHighlights(BuildContext context) {
|
|
301
301
|
if (highlightsShownAtom.value) {
|
|
302
302
|
dispatch(const SetHighlightsShown(false));
|
|
303
303
|
Navigator.of(context).pop();
|
lib/screens/book_select_screen.dart
CHANGED
|
@@ -12,7 +12,7 @@ class BookSelectScreen extends StatelessWidget {
|
|
|
12
12
|
|
|
13
13
|
const BookSelectScreen({super.key, required this.bible});
|
|
14
14
|
|
|
15
|
-
onBookSelected(BuildContext context, int index) {
|
|
15
|
+
dynamic onBookSelected(BuildContext context, int index) {
|
|
16
16
|
final book = bible.books[index];
|
|
17
17
|
if (book.chapters.length == 1) {
|
|
18
18
|
return replaceBookChapter(context, bible.name, index, 0);
|
lib/screens/chapter_view_screen.dart
CHANGED
|
@@ -14,7 +14,7 @@ class ChapterViewScreen extends StatelessWidget {
|
|
|
14
14
|
{super.key,
|
|
15
15
|
required this.bibleName,
|
|
16
16
|
required this.bookIndex,
|
|
17
|
-
required this.chapterIndex});
|
|
17
|
+
required this.chapterIndex,});
|
|
18
18
|
|
|
19
19
|
@override
|
|
20
20
|
Widget build(BuildContext context) {
|
|
@@ -23,7 +23,7 @@ class ChapterViewScreen extends StatelessWidget {
|
|
|
23
23
|
builder: (context, state) {
|
|
24
24
|
return state.when(
|
|
25
25
|
loading: () => ColoredBox(
|
|
26
|
-
color: Theme.of(context).colorScheme.
|
|
26
|
+
color: Theme.of(context).colorScheme.surface,
|
|
27
27
|
child: const Center(
|
|
28
28
|
child: CircularProgressIndicator(),
|
|
29
29
|
),
|
|
@@ -34,7 +34,7 @@ class ChapterViewScreen extends StatelessWidget {
|
|
|
34
34
|
return Scaffold(
|
|
35
35
|
appBar:
|
|
36
36
|
ChapterAppBar(bible: bible, book: book, chapter: chapter),
|
|
37
|
-
backgroundColor: Theme.of(context).colorScheme.
|
|
37
|
+
backgroundColor: Theme.of(context).colorScheme.surface,
|
|
38
38
|
body: SafeArea(
|
|
39
39
|
child: VersesView(bible: bible, chapter: chapter),
|
|
40
40
|
),
|
|
@@ -43,12 +43,12 @@ class ChapterViewScreen extends StatelessWidget {
|
|
|
43
43
|
error: () {
|
|
44
44
|
print(state.stackTrace);
|
|
45
45
|
return ColoredBox(
|
|
46
|
-
color: Theme.of(context).colorScheme.
|
|
46
|
+
color: Theme.of(context).colorScheme.surface,
|
|
47
47
|
child: Center(
|
|
48
48
|
child: Text("Could not load the bible ${state.error}"),
|
|
49
49
|
),
|
|
50
50
|
);
|
|
51
|
-
});
|
|
51
|
+
},);
|
|
52
52
|
},
|
|
53
53
|
);
|
|
54
54
|
}
|
lib/screens/webview_screen.dart
CHANGED
|
@@ -12,7 +12,7 @@ class WebViewScreen extends StatelessWidget {
|
|
|
12
12
|
..setJavaScriptMode(JavaScriptMode.unrestricted)
|
|
13
13
|
..loadRequest(Uri.parse(url));
|
|
14
14
|
return Scaffold(
|
|
15
|
-
backgroundColor: Theme.of(context).colorScheme.
|
|
15
|
+
backgroundColor: Theme.of(context).colorScheme.surface,
|
|
16
16
|
appBar: AppBar(),
|
|
17
17
|
body: SafeArea(
|
|
18
18
|
child: WebViewWidget(controller: controller),
|
lib/sheets/actions_sheet.dart
CHANGED
|
@@ -16,7 +16,7 @@ class ActionsSheet extends StatelessWidget {
|
|
|
16
16
|
final audioIcon = isPlaying.watch(context) ? Icons.pause_circle_outline : Icons.play_circle_outline;
|
|
17
17
|
return Container(
|
|
18
18
|
height: context.actionsHeight,
|
|
19
|
-
color: Theme.of(context).colorScheme.
|
|
19
|
+
color: Theme.of(context).colorScheme.surface,
|
|
20
20
|
padding: EdgeInsets.only(left: 20, right: 20, bottom: bottom),
|
|
21
21
|
child: Row(
|
|
22
22
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
lib/sheets/highlight_sheet.dart
CHANGED
|
@@ -17,7 +17,7 @@ class HighlightSheet extends StatelessWidget {
|
|
|
17
17
|
|
|
18
18
|
return Container(
|
|
19
19
|
height: context.actionsHeight,
|
|
20
|
-
color: context.theme.colorScheme.
|
|
20
|
+
color: context.theme.colorScheme.surface,
|
|
21
21
|
padding: EdgeInsets.only(left: 20, right: 20, bottom: bottom),
|
|
22
22
|
child: Row(
|
|
23
23
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
lib/sheets/settings_sheet.dart
CHANGED
|
@@ -61,7 +61,7 @@ class SettingsSheet extends StatelessWidget {
|
|
|
61
61
|
),
|
|
62
62
|
SettingsTile(
|
|
63
63
|
title: Text(context.l.incrementFontTitle),
|
|
64
|
-
leading: Icon(Icons.font_download, color: context.theme.colorScheme.
|
|
64
|
+
leading: Icon(Icons.font_download, color: context.theme.colorScheme.onSurface),
|
|
65
65
|
trailing: IconButton(
|
|
66
66
|
onPressed: () => dispatch(const UpdateTextScale(0.1)),
|
|
67
67
|
icon: const Icon(Icons.add_circle_outline, size: 32, color: Colors.redAccent),
|
|
@@ -69,7 +69,7 @@ class SettingsSheet extends StatelessWidget {
|
|
|
69
69
|
),
|
|
70
70
|
SettingsTile(
|
|
71
71
|
title: Text(context.l.decrementFontTitle),
|
|
72
|
-
leading: Icon(Icons.font_download, color: context.theme.colorScheme.
|
|
72
|
+
leading: Icon(Icons.font_download, color: context.theme.colorScheme.onSurface),
|
|
73
73
|
trailing: IconButton(
|
|
74
74
|
onPressed: () => dispatch(const UpdateTextScale(-0.1)),
|
|
75
75
|
icon: const Icon(Icons.remove_circle_outline, size: 32, color: Colors.blueAccent),
|
|
@@ -77,13 +77,13 @@ class SettingsSheet extends StatelessWidget {
|
|
|
77
77
|
),
|
|
78
78
|
SettingsTile.switchTile(
|
|
79
79
|
initialValue: boldFontAtom.watch(context),
|
|
80
|
-
leading: Icon(Icons.format_bold, color: context.theme.colorScheme.
|
|
80
|
+
leading: Icon(Icons.format_bold, color: context.theme.colorScheme.onSurface),
|
|
81
81
|
title: Text(context.l.boldFontTitle),
|
|
82
82
|
onToggle: (value) => dispatch(ToggleBoldFont()),
|
|
83
83
|
),
|
|
84
84
|
SettingsTile.switchTile(
|
|
85
85
|
initialValue: engTitlesAtom.watch(context),
|
|
86
|
-
leading: Icon(Icons.abc, color: context.theme.colorScheme.
|
|
86
|
+
leading: Icon(Icons.abc, color: context.theme.colorScheme.onSurface),
|
|
87
87
|
title: Text(context.l.engTitles),
|
|
88
88
|
onToggle: (value) => dispatch(ToggleEngTitles()),
|
|
89
89
|
),
|
|
@@ -114,7 +114,7 @@ class SettingsSheet extends StatelessWidget {
|
|
|
114
114
|
onPressed: rateApp,
|
|
115
115
|
),
|
|
116
116
|
SettingsTile.navigation(
|
|
117
|
-
leading: Icon(Icons.info_outline, color: context.theme.colorScheme.
|
|
117
|
+
leading: Icon(Icons.info_outline, color: context.theme.colorScheme.onSurface),
|
|
118
118
|
title: Text(context.l.aboutUsTitle),
|
|
119
119
|
onPressed: showAboutUs,
|
|
120
120
|
),
|
lib/store/state.dart
CHANGED
|
@@ -18,7 +18,7 @@ final player = AudioPlayer();
|
|
|
18
18
|
final noteTextController = TextEditingController();
|
|
19
19
|
final storage = FileStorage(box: box);
|
|
20
20
|
|
|
21
|
-
initState() async {
|
|
21
|
+
Future<void> initState() async {
|
|
22
22
|
await box.initStorage;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -198,12 +198,12 @@ void removeHighlight(BuildContext context) {
|
|
|
198
198
|
|
|
199
199
|
bool isVerseSelected(Verse v) {
|
|
200
200
|
return selectedVersesAtom.value.any((el) =>
|
|
201
|
-
el.book == v.book && el.chapter == v.chapter && el.index == v.index);
|
|
201
|
+
el.book == v.book && el.chapter == v.chapter && el.index == v.index,);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
bool watchVerseSelected(BuildContext context, Verse v) {
|
|
205
205
|
return selectedVersesAtom.watch(context).any((el) =>
|
|
206
|
-
el.book == v.book && el.chapter == v.chapter && el.index == v.index);
|
|
206
|
+
el.book == v.book && el.chapter == v.chapter && el.index == v.index,);
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
void onVerseSelected(BuildContext context, Bible bible, Verse v) {
|
|
@@ -231,22 +231,22 @@ TextStyle getHighlightStyle(BuildContext context, Verse v, bool heading) {
|
|
|
231
231
|
backgroundColor: getHighlight(v)?.withOpacity(0.7),
|
|
232
232
|
color: getHighlight(v) != null
|
|
233
233
|
? Colors.white
|
|
234
|
-
: context.theme.colorScheme.
|
|
234
|
+
: context.theme.colorScheme.onSurface,
|
|
235
235
|
);
|
|
236
236
|
}
|
|
237
237
|
return TextStyle(
|
|
238
|
-
backgroundColor: getHighlight(v) ?? context.theme.colorScheme.
|
|
238
|
+
backgroundColor: getHighlight(v) ?? context.theme.colorScheme.surface,
|
|
239
239
|
);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
clearEvents(BuildContext context) {
|
|
242
|
+
void clearEvents(BuildContext context) {
|
|
243
243
|
if (isPlaying.value) {
|
|
244
244
|
pause();
|
|
245
245
|
}
|
|
246
246
|
hideActions(context);
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
-
pause() async {
|
|
249
|
+
Future<void> pause() async {
|
|
250
250
|
await player.pause();
|
|
251
251
|
dispatch(const SetPlaying(false));
|
|
252
252
|
}
|
|
@@ -274,7 +274,7 @@ class BufferAudioSource extends StreamAudioSource {
|
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
onPlay(BuildContext context, Bible bible) async {
|
|
277
|
+
Future<void> onPlay(BuildContext context, Bible bible) async {
|
|
278
278
|
final versesToPlay = List<Verse>.from(selectedVersesAtom.value);
|
|
279
279
|
if (isPlaying.value) {
|
|
280
280
|
pause();
|
lib/theme.dart
CHANGED
|
@@ -15,8 +15,8 @@ const darkHighlights = [
|
|
|
15
15
|
];
|
|
16
16
|
|
|
17
17
|
const lightColorScheme = ColorScheme.light(
|
|
18
|
-
|
|
18
|
+
surface: Colors.white,
|
|
19
|
-
|
|
19
|
+
onSurface: Color(0xFF010101),
|
|
20
20
|
primary: Color(0xFF9A1111),
|
|
21
21
|
secondary: Color(0xFFFFC351),
|
|
22
22
|
surfaceTint: Colors.black,
|
|
@@ -25,8 +25,8 @@ const lightColorScheme = ColorScheme.light(
|
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
const darkColorScheme = ColorScheme.dark(
|
|
28
|
-
|
|
28
|
+
surface: Color(0xFF1F1F22),
|
|
29
|
-
|
|
29
|
+
onSurface: Color(0xFFBCBEC4),
|
|
30
30
|
primary: Color(0xFFBC86FC),
|
|
31
31
|
secondary: Color(0xFFFFC351),
|
|
32
32
|
tertiary: Color(0xFF323232),
|
|
@@ -64,8 +64,8 @@ final lightTheme = ThemeData(
|
|
|
64
64
|
hintStyle: TextStyle(color: Colors.grey),
|
|
65
65
|
),
|
|
66
66
|
appBarTheme: AppBarTheme(
|
|
67
|
-
backgroundColor: lightColorScheme.
|
|
67
|
+
backgroundColor: lightColorScheme.surface,
|
|
68
|
-
foregroundColor: lightColorScheme.
|
|
68
|
+
foregroundColor: lightColorScheme.onSurface,
|
|
69
69
|
elevation: 1,
|
|
70
70
|
),
|
|
71
71
|
bottomSheetTheme: const BottomSheetThemeData(
|
|
@@ -86,7 +86,7 @@ final lightTheme = ThemeData(
|
|
|
86
86
|
),
|
|
87
87
|
),
|
|
88
88
|
),
|
|
89
|
-
dialogTheme: const
|
|
89
|
+
dialogTheme: const DialogThemeData(
|
|
90
90
|
elevation: 10,
|
|
91
91
|
// TODO: get this to inherit from top like darkTheme does
|
|
92
92
|
shadowColor: Colors.black,
|
|
@@ -146,14 +146,14 @@ final lightTheme = ThemeData(
|
|
|
146
146
|
fontWeight: FontWeight.w400,
|
|
147
147
|
wordSpacing: 0,
|
|
148
148
|
letterSpacing: 0,
|
|
149
|
-
color: lightColorScheme.
|
|
149
|
+
color: lightColorScheme.onSurface,
|
|
150
150
|
),
|
|
151
151
|
bodySmall: TextStyle(
|
|
152
152
|
fontSize: 14,
|
|
153
153
|
fontWeight: FontWeight.w400,
|
|
154
154
|
wordSpacing: 0,
|
|
155
155
|
letterSpacing: 0,
|
|
156
|
-
color: lightColorScheme.
|
|
156
|
+
color: lightColorScheme.onSurface,
|
|
157
157
|
),
|
|
158
158
|
headlineLarge: TextStyle(
|
|
159
159
|
fontSize: 38,
|
|
@@ -161,7 +161,7 @@ final lightTheme = ThemeData(
|
|
|
161
161
|
color: lightColorScheme.secondary,
|
|
162
162
|
),
|
|
163
163
|
headlineMedium: TextStyle(
|
|
164
|
-
color: lightColorScheme.
|
|
164
|
+
color: lightColorScheme.onSurface,
|
|
165
165
|
fontSize: 19,
|
|
166
166
|
fontWeight: FontWeight.w500,
|
|
167
167
|
letterSpacing: 0.5,
|
|
@@ -187,8 +187,8 @@ final darkTheme = lightTheme.copyWith(
|
|
|
187
187
|
dividerColor: Colors.white,
|
|
188
188
|
shadowColor: Colors.white,
|
|
189
189
|
appBarTheme: AppBarTheme(
|
|
190
|
-
backgroundColor: darkColorScheme.
|
|
190
|
+
backgroundColor: darkColorScheme.surface,
|
|
191
|
-
foregroundColor: darkColorScheme.
|
|
191
|
+
foregroundColor: darkColorScheme.onSurface,
|
|
192
192
|
elevation: 1,
|
|
193
193
|
),
|
|
194
194
|
bottomSheetTheme: lightTheme.bottomSheetTheme.copyWith(
|
|
@@ -196,8 +196,8 @@ final darkTheme = lightTheme.copyWith(
|
|
|
196
196
|
shadowColor: Colors.white,
|
|
197
197
|
surfaceTintColor: const Color(0xFF141415),
|
|
198
198
|
),
|
|
199
|
-
dialogTheme:
|
|
199
|
+
dialogTheme: DialogThemeData(
|
|
200
|
-
backgroundColor: darkColorScheme.
|
|
200
|
+
backgroundColor: darkColorScheme.surface,
|
|
201
201
|
elevation: 1,
|
|
202
202
|
shape: Border(
|
|
203
203
|
top: BorderSide(
|
|
@@ -234,24 +234,24 @@ final darkTheme = lightTheme.copyWith(
|
|
|
234
234
|
padding: lightTheme.textButtonTheme.style!.padding,
|
|
235
235
|
shape: lightTheme.textButtonTheme.style!.shape,
|
|
236
236
|
textStyle: lightTheme.textButtonTheme.style!.textStyle,
|
|
237
|
-
elevation:
|
|
237
|
+
elevation: WidgetStateProperty.all(1),
|
|
238
|
-
shadowColor:
|
|
238
|
+
shadowColor: WidgetStateProperty.all(Colors.white),
|
|
239
|
-
backgroundColor:
|
|
239
|
+
backgroundColor: WidgetStateProperty.all(darkColorScheme.tertiary),
|
|
240
|
-
foregroundColor:
|
|
240
|
+
foregroundColor: WidgetStateProperty.all(darkColorScheme.primary),
|
|
241
241
|
),
|
|
242
242
|
),
|
|
243
243
|
textTheme: TextTheme(
|
|
244
244
|
bodyMedium: lightTheme.textTheme.bodyMedium!.copyWith(
|
|
245
|
-
color: darkColorScheme.
|
|
245
|
+
color: darkColorScheme.onSurface,
|
|
246
246
|
),
|
|
247
247
|
bodySmall: lightTheme.textTheme.bodyMedium!.copyWith(
|
|
248
|
-
color: darkColorScheme.
|
|
248
|
+
color: darkColorScheme.onSurface,
|
|
249
249
|
),
|
|
250
250
|
headlineLarge: lightTheme.textTheme.headlineLarge!.copyWith(
|
|
251
251
|
color: darkColorScheme.secondary,
|
|
252
252
|
),
|
|
253
253
|
headlineMedium: lightTheme.textTheme.headlineMedium!.copyWith(
|
|
254
|
-
color: darkColorScheme.
|
|
254
|
+
color: darkColorScheme.onSurface,
|
|
255
255
|
),
|
|
256
256
|
labelMedium: lightTheme.textTheme.labelMedium!.copyWith(
|
|
257
257
|
color: darkColorScheme.onTertiary,
|
lib/utils.dart
CHANGED
|
@@ -7,13 +7,15 @@ import "package:only_bible_app/models.dart";
|
|
|
7
7
|
import "package:only_bible_app/store/state.dart";
|
|
8
8
|
import "package:package_info_plus/package_info_plus.dart";
|
|
9
9
|
import "package:url_launcher/url_launcher.dart";
|
|
10
|
-
import "package:flutter/foundation.dart"
|
|
10
|
+
import "package:flutter/foundation.dart"
|
|
11
|
+
show TargetPlatform, defaultTargetPlatform, kDebugMode;
|
|
11
12
|
import "package:flutter/material.dart";
|
|
12
|
-
import "package:
|
|
13
|
+
import "package:only_bible_app/l10n/app_localizations.dart";
|
|
13
14
|
import "package:flutter_azure_tts/flutter_azure_tts.dart";
|
|
14
15
|
|
|
15
16
|
extension IterableUtils<E> on Iterable<E> {
|
|
16
|
-
Iterable<E> sortedBy(Comparable Function(E e) key) =>
|
|
17
|
+
Iterable<E> sortedBy(Comparable Function(E e) key) =>
|
|
18
|
+
toList()..sort((a, b) => key(a).compareTo(key(b)));
|
|
17
19
|
|
|
18
20
|
Iterable<E> removeBy(bool Function(E e) key) => toList()..removeWhere(key);
|
|
19
21
|
|
|
@@ -39,12 +41,13 @@ extension AsyncSnapshotUtils<E> on AsyncSnapshot<E> {
|
|
|
39
41
|
extension AppContext on BuildContext {
|
|
40
42
|
ThemeData get theme => Theme.of(this);
|
|
41
43
|
|
|
44
|
+
AppLocalizations get l =>
|
|
42
|
-
|
|
45
|
+
engTitlesAtom.watch(this) && languageCodeAtom.watch(this) != "en"
|
|
43
|
-
|
|
46
|
+
? lookupAppLocalizations(const Locale("en"))
|
|
44
|
-
|
|
47
|
+
: AppLocalizations.of(this)!;
|
|
45
48
|
|
|
46
|
-
AppLocalizations get currentLang =>
|
|
49
|
+
AppLocalizations get currentLang => supportedLocalizations
|
|
47
|
-
|
|
50
|
+
.firstWhere((el) => el.languageCode == languageCodeAtom.value);
|
|
48
51
|
|
|
49
52
|
double get actionsHeight {
|
|
50
53
|
if (isIOS()) {
|
|
@@ -131,7 +134,7 @@ extension AppContext on BuildContext {
|
|
|
131
134
|
];
|
|
132
135
|
}
|
|
133
136
|
|
|
134
|
-
openUrl(String url) async {
|
|
137
|
+
Future<void> openUrl(String url) async {
|
|
135
138
|
final uri = Uri.parse(url);
|
|
136
139
|
if (await canLaunchUrl(uri)) {
|
|
137
140
|
if (await launchUrl(uri)) {
|
|
@@ -152,28 +155,33 @@ bool isAndroid() {
|
|
|
152
155
|
}
|
|
153
156
|
|
|
154
157
|
Future<Uint8List> convertText(String langCode, String text) async {
|
|
155
|
-
final ttsResponse = await
|
|
158
|
+
final ttsResponse = await FlutterAzureTts.getTts(
|
|
159
|
+
TtsParams(
|
|
156
|
-
|
|
160
|
+
voice: Voice(
|
|
157
|
-
|
|
161
|
+
name: "",
|
|
158
|
-
|
|
162
|
+
displayName: "",
|
|
159
|
-
|
|
163
|
+
localName: "",
|
|
160
|
-
|
|
164
|
+
shortName: langCode,
|
|
161
|
-
|
|
165
|
+
gender: "",
|
|
162
|
-
|
|
166
|
+
locale: langCode,
|
|
163
|
-
|
|
167
|
+
sampleRateHertz: AudioOutputFormat.audio48khz96kBitrateMonoMp3,
|
|
164
|
-
|
|
168
|
+
voiceType: "",
|
|
165
|
-
|
|
169
|
+
status: "",
|
|
170
|
+
styles: [],
|
|
171
|
+
roles: [],
|
|
172
|
+
),
|
|
173
|
+
audioFormat: AudioOutputFormat.audio48khz96kBitrateMonoMp3,
|
|
174
|
+
rate: 0.90,
|
|
175
|
+
text: text,
|
|
166
176
|
),
|
|
167
|
-
audioFormat: AudioOutputFormat.audio48khz96kBitrateMonoMp3,
|
|
168
|
-
rate: 0.90,
|
|
169
|
-
text: text,
|
|
170
|
-
)
|
|
177
|
+
);
|
|
171
178
|
return ttsResponse.audio.buffer.asUint8List();
|
|
172
179
|
}
|
|
173
180
|
|
|
174
181
|
Future<Bible> loadBible(String name) async {
|
|
175
182
|
final bytes = await rootBundle.load("assets/bibles/$name.txt");
|
|
183
|
+
final books = parseBible(
|
|
176
|
-
|
|
184
|
+
name, utf8.decode(bytes.buffer.asUint8List(), allowMalformed: false));
|
|
177
185
|
// await Future.delayed(Duration(seconds: 2));
|
|
178
186
|
return Bible(
|
|
179
187
|
name: name,
|
|
@@ -181,7 +189,7 @@ Future<Bible> loadBible(String name) async {
|
|
|
181
189
|
);
|
|
182
190
|
}
|
|
183
191
|
|
|
184
|
-
recordError(String message, StackTrace? stack) async {
|
|
192
|
+
Future<void> recordError(String message, StackTrace? stack) async {
|
|
185
193
|
final packageInfo = await PackageInfo.fromPlatform();
|
|
186
194
|
if (kDebugMode) {
|
|
187
195
|
print("ERROR: $message");
|
lib/widgets/modal_button.dart
CHANGED
|
@@ -34,7 +34,7 @@ class ModalButton extends StatelessWidget {
|
|
|
34
34
|
),
|
|
35
35
|
),
|
|
36
36
|
shadowColor: theme.shadowColor,
|
|
37
|
-
backgroundColor: theme.colorScheme.
|
|
37
|
+
backgroundColor: theme.colorScheme.surface,
|
|
38
38
|
foregroundColor: theme.colorScheme.primary,
|
|
39
39
|
),
|
|
40
40
|
),
|
lib/widgets/scaffold_menu.dart
CHANGED
|
@@ -10,12 +10,12 @@ class ScaffoldMenu extends StatelessWidget {
|
|
|
10
10
|
@override
|
|
11
11
|
Widget build(BuildContext context) {
|
|
12
12
|
return Scaffold(
|
|
13
|
-
backgroundColor: context.theme.colorScheme.
|
|
13
|
+
backgroundColor: context.theme.colorScheme.surface,
|
|
14
14
|
body: SafeArea(
|
|
15
15
|
child: ColoredBox(
|
|
16
16
|
color: Colors.black.withOpacity(0.7),
|
|
17
17
|
child: ColoredBox(
|
|
18
|
-
color: backgroundColor ?? context.theme.colorScheme.
|
|
18
|
+
color: backgroundColor ?? context.theme.colorScheme.surface,
|
|
19
19
|
child: child,
|
|
20
20
|
),
|
|
21
21
|
),
|
lib/widgets/sliver_heading.dart
CHANGED
|
@@ -32,7 +32,7 @@ class SliverHeading extends StatelessWidget {
|
|
|
32
32
|
onPressed: () {
|
|
33
33
|
Navigator.of(context).pop();
|
|
34
34
|
},
|
|
35
|
-
)
|
|
35
|
+
),
|
|
36
36
|
],
|
|
37
37
|
),
|
|
38
38
|
),
|
lib/widgets/verses_view.dart
CHANGED
|
@@ -39,7 +39,7 @@ class VersesView extends StatelessWidget {
|
|
|
39
39
|
alignment: Alignment.centerLeft,
|
|
40
40
|
child: Text.rich(
|
|
41
41
|
textScaler: TextScaler.linear(
|
|
42
|
-
1.1 + textScaleAtom.watch(context) / 2),
|
|
42
|
+
1.1 + textScaleAtom.watch(context) / 2,),
|
|
43
43
|
textAlign: TextAlign.left,
|
|
44
44
|
TextSpan(
|
|
45
45
|
style: boldFontAtom.watch(context)
|
|
@@ -68,7 +68,7 @@ class VersesView extends StatelessWidget {
|
|
|
68
68
|
child: Text("${v.index + 1} ",
|
|
69
69
|
style: Theme.of(context)
|
|
70
70
|
.textTheme
|
|
71
|
-
.labelMedium),
|
|
71
|
+
.labelMedium,),
|
|
72
72
|
),
|
|
73
73
|
),
|
|
74
74
|
TextSpan(
|
|
@@ -83,7 +83,7 @@ class VersesView extends StatelessWidget {
|
|
|
83
83
|
const WidgetSpan(
|
|
84
84
|
child: Padding(
|
|
85
85
|
padding: EdgeInsets.only(
|
|
86
|
-
top: 16, bottom: 16),
|
|
86
|
+
top: 16, bottom: 16,),
|
|
87
87
|
),
|
|
88
88
|
),
|
|
89
89
|
],
|
|
@@ -95,7 +95,7 @@ class VersesView extends StatelessWidget {
|
|
|
95
95
|
),
|
|
96
96
|
Padding(
|
|
97
97
|
padding: EdgeInsets.only(
|
|
98
|
-
bottom: actionsShownAtom.watch(context) ? 120 : 0),
|
|
98
|
+
bottom: actionsShownAtom.watch(context) ? 120 : 0,),
|
|
99
99
|
),
|
|
100
100
|
],
|
|
101
101
|
),
|
|
@@ -103,6 +103,6 @@ class VersesView extends StatelessWidget {
|
|
|
103
103
|
),
|
|
104
104
|
),
|
|
105
105
|
],
|
|
106
|
-
));
|
|
106
|
+
),);
|
|
107
107
|
}
|
|
108
108
|
}
|
linux/.gitignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
flutter/ephemeral
|
linux/CMakeLists.txt
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Project-level configuration.
|
|
2
|
+
cmake_minimum_required(VERSION 3.13)
|
|
3
|
+
project(runner LANGUAGES CXX)
|
|
4
|
+
|
|
5
|
+
# The name of the executable created for the application. Change this to change
|
|
6
|
+
# the on-disk name of your application.
|
|
7
|
+
set(BINARY_NAME "only_bible_app")
|
|
8
|
+
# The unique GTK application identifier for this application. See:
|
|
9
|
+
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
|
|
10
|
+
set(APPLICATION_ID "sh.pyros.only_bible_app")
|
|
11
|
+
|
|
12
|
+
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
|
|
13
|
+
# versions of CMake.
|
|
14
|
+
cmake_policy(SET CMP0063 NEW)
|
|
15
|
+
|
|
16
|
+
# Load bundled libraries from the lib/ directory relative to the binary.
|
|
17
|
+
set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
|
|
18
|
+
|
|
19
|
+
# Root filesystem for cross-building.
|
|
20
|
+
if(FLUTTER_TARGET_PLATFORM_SYSROOT)
|
|
21
|
+
set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})
|
|
22
|
+
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
|
|
23
|
+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
24
|
+
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|
25
|
+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
26
|
+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
27
|
+
endif()
|
|
28
|
+
|
|
29
|
+
# Define build configuration options.
|
|
30
|
+
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
31
|
+
set(CMAKE_BUILD_TYPE "Debug" CACHE
|
|
32
|
+
STRING "Flutter build mode" FORCE)
|
|
33
|
+
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
|
|
34
|
+
"Debug" "Profile" "Release")
|
|
35
|
+
endif()
|
|
36
|
+
|
|
37
|
+
# Compilation settings that should be applied to most targets.
|
|
38
|
+
#
|
|
39
|
+
# Be cautious about adding new options here, as plugins use this function by
|
|
40
|
+
# default. In most cases, you should add new options to specific targets instead
|
|
41
|
+
# of modifying this function.
|
|
42
|
+
function(APPLY_STANDARD_SETTINGS TARGET)
|
|
43
|
+
target_compile_features(${TARGET} PUBLIC cxx_std_14)
|
|
44
|
+
target_compile_options(${TARGET} PRIVATE -Wall -Werror)
|
|
45
|
+
target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
|
|
46
|
+
target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
|
|
47
|
+
endfunction()
|
|
48
|
+
|
|
49
|
+
# Flutter library and tool build rules.
|
|
50
|
+
set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
|
|
51
|
+
add_subdirectory(${FLUTTER_MANAGED_DIR})
|
|
52
|
+
|
|
53
|
+
# System-level dependencies.
|
|
54
|
+
find_package(PkgConfig REQUIRED)
|
|
55
|
+
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
|
|
56
|
+
|
|
57
|
+
# Application build; see runner/CMakeLists.txt.
|
|
58
|
+
add_subdirectory("runner")
|
|
59
|
+
|
|
60
|
+
# Run the Flutter tool portions of the build. This must not be removed.
|
|
61
|
+
add_dependencies(${BINARY_NAME} flutter_assemble)
|
|
62
|
+
|
|
63
|
+
# Only the install-generated bundle's copy of the executable will launch
|
|
64
|
+
# correctly, since the resources must in the right relative locations. To avoid
|
|
65
|
+
# people trying to run the unbundled copy, put it in a subdirectory instead of
|
|
66
|
+
# the default top-level location.
|
|
67
|
+
set_target_properties(${BINARY_NAME}
|
|
68
|
+
PROPERTIES
|
|
69
|
+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
# Generated plugin build rules, which manage building the plugins and adding
|
|
74
|
+
# them to the application.
|
|
75
|
+
include(flutter/generated_plugins.cmake)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# === Installation ===
|
|
79
|
+
# By default, "installing" just makes a relocatable bundle in the build
|
|
80
|
+
# directory.
|
|
81
|
+
set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
|
|
82
|
+
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
|
83
|
+
set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
|
|
84
|
+
endif()
|
|
85
|
+
|
|
86
|
+
# Start with a clean build bundle directory every time.
|
|
87
|
+
install(CODE "
|
|
88
|
+
file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
|
|
89
|
+
" COMPONENT Runtime)
|
|
90
|
+
|
|
91
|
+
set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
|
|
92
|
+
set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
|
|
93
|
+
|
|
94
|
+
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
|
|
95
|
+
COMPONENT Runtime)
|
|
96
|
+
|
|
97
|
+
install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
|
|
98
|
+
COMPONENT Runtime)
|
|
99
|
+
|
|
100
|
+
install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
101
|
+
COMPONENT Runtime)
|
|
102
|
+
|
|
103
|
+
foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
|
|
104
|
+
install(FILES "${bundled_library}"
|
|
105
|
+
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
106
|
+
COMPONENT Runtime)
|
|
107
|
+
endforeach(bundled_library)
|
|
108
|
+
|
|
109
|
+
# Copy the native assets provided by the build.dart from all packages.
|
|
110
|
+
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
|
|
111
|
+
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
|
|
112
|
+
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
113
|
+
COMPONENT Runtime)
|
|
114
|
+
|
|
115
|
+
# Fully re-copy the assets directory on each build to avoid having stale files
|
|
116
|
+
# from a previous install.
|
|
117
|
+
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
|
|
118
|
+
install(CODE "
|
|
119
|
+
file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
|
|
120
|
+
" COMPONENT Runtime)
|
|
121
|
+
install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
|
|
122
|
+
DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
|
|
123
|
+
|
|
124
|
+
# Install the AOT library on non-Debug builds only.
|
|
125
|
+
if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
|
|
126
|
+
install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
127
|
+
COMPONENT Runtime)
|
|
128
|
+
endif()
|
linux/flutter/CMakeLists.txt
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# This file controls Flutter-level build steps. It should not be edited.
|
|
2
|
+
cmake_minimum_required(VERSION 3.10)
|
|
3
|
+
|
|
4
|
+
set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
|
|
5
|
+
|
|
6
|
+
# Configuration provided via flutter tool.
|
|
7
|
+
include(${EPHEMERAL_DIR}/generated_config.cmake)
|
|
8
|
+
|
|
9
|
+
# TODO: Move the rest of this into files in ephemeral. See
|
|
10
|
+
# https://github.com/flutter/flutter/issues/57146.
|
|
11
|
+
|
|
12
|
+
# Serves the same purpose as list(TRANSFORM ... PREPEND ...),
|
|
13
|
+
# which isn't available in 3.10.
|
|
14
|
+
function(list_prepend LIST_NAME PREFIX)
|
|
15
|
+
set(NEW_LIST "")
|
|
16
|
+
foreach(element ${${LIST_NAME}})
|
|
17
|
+
list(APPEND NEW_LIST "${PREFIX}${element}")
|
|
18
|
+
endforeach(element)
|
|
19
|
+
set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)
|
|
20
|
+
endfunction()
|
|
21
|
+
|
|
22
|
+
# === Flutter Library ===
|
|
23
|
+
# System-level dependencies.
|
|
24
|
+
find_package(PkgConfig REQUIRED)
|
|
25
|
+
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
|
|
26
|
+
pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
|
|
27
|
+
pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
|
|
28
|
+
|
|
29
|
+
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")
|
|
30
|
+
|
|
31
|
+
# Published to parent scope for install step.
|
|
32
|
+
set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
|
|
33
|
+
set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
|
|
34
|
+
set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
|
|
35
|
+
set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)
|
|
36
|
+
|
|
37
|
+
list(APPEND FLUTTER_LIBRARY_HEADERS
|
|
38
|
+
"fl_basic_message_channel.h"
|
|
39
|
+
"fl_binary_codec.h"
|
|
40
|
+
"fl_binary_messenger.h"
|
|
41
|
+
"fl_dart_project.h"
|
|
42
|
+
"fl_engine.h"
|
|
43
|
+
"fl_json_message_codec.h"
|
|
44
|
+
"fl_json_method_codec.h"
|
|
45
|
+
"fl_message_codec.h"
|
|
46
|
+
"fl_method_call.h"
|
|
47
|
+
"fl_method_channel.h"
|
|
48
|
+
"fl_method_codec.h"
|
|
49
|
+
"fl_method_response.h"
|
|
50
|
+
"fl_plugin_registrar.h"
|
|
51
|
+
"fl_plugin_registry.h"
|
|
52
|
+
"fl_standard_message_codec.h"
|
|
53
|
+
"fl_standard_method_codec.h"
|
|
54
|
+
"fl_string_codec.h"
|
|
55
|
+
"fl_value.h"
|
|
56
|
+
"fl_view.h"
|
|
57
|
+
"flutter_linux.h"
|
|
58
|
+
)
|
|
59
|
+
list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")
|
|
60
|
+
add_library(flutter INTERFACE)
|
|
61
|
+
target_include_directories(flutter INTERFACE
|
|
62
|
+
"${EPHEMERAL_DIR}"
|
|
63
|
+
)
|
|
64
|
+
target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")
|
|
65
|
+
target_link_libraries(flutter INTERFACE
|
|
66
|
+
PkgConfig::GTK
|
|
67
|
+
PkgConfig::GLIB
|
|
68
|
+
PkgConfig::GIO
|
|
69
|
+
)
|
|
70
|
+
add_dependencies(flutter flutter_assemble)
|
|
71
|
+
|
|
72
|
+
# === Flutter tool backend ===
|
|
73
|
+
# _phony_ is a non-existent file to force this command to run every time,
|
|
74
|
+
# since currently there's no way to get a full input/output list from the
|
|
75
|
+
# flutter tool.
|
|
76
|
+
add_custom_command(
|
|
77
|
+
OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
|
|
78
|
+
${CMAKE_CURRENT_BINARY_DIR}/_phony_
|
|
79
|
+
COMMAND ${CMAKE_COMMAND} -E env
|
|
80
|
+
${FLUTTER_TOOL_ENVIRONMENT}
|
|
81
|
+
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"
|
|
82
|
+
${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE}
|
|
83
|
+
VERBATIM
|
|
84
|
+
)
|
|
85
|
+
add_custom_target(flutter_assemble DEPENDS
|
|
86
|
+
"${FLUTTER_LIBRARY}"
|
|
87
|
+
${FLUTTER_LIBRARY_HEADERS}
|
|
88
|
+
)
|
linux/flutter/generated_plugin_registrant.cc
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Generated file. Do not edit.
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
// clang-format off
|
|
6
|
+
|
|
7
|
+
#include "generated_plugin_registrant.h"
|
|
8
|
+
|
|
9
|
+
#include <url_launcher_linux/url_launcher_plugin.h>
|
|
10
|
+
|
|
11
|
+
void fl_register_plugins(FlPluginRegistry* registry) {
|
|
12
|
+
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
|
13
|
+
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
|
14
|
+
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
|
15
|
+
}
|
linux/flutter/generated_plugin_registrant.h
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Generated file. Do not edit.
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
// clang-format off
|
|
6
|
+
|
|
7
|
+
#ifndef GENERATED_PLUGIN_REGISTRANT_
|
|
8
|
+
#define GENERATED_PLUGIN_REGISTRANT_
|
|
9
|
+
|
|
10
|
+
#include <flutter_linux/flutter_linux.h>
|
|
11
|
+
|
|
12
|
+
// Registers Flutter plugins.
|
|
13
|
+
void fl_register_plugins(FlPluginRegistry* registry);
|
|
14
|
+
|
|
15
|
+
#endif // GENERATED_PLUGIN_REGISTRANT_
|
linux/flutter/generated_plugins.cmake
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Generated file, do not edit.
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
list(APPEND FLUTTER_PLUGIN_LIST
|
|
6
|
+
url_launcher_linux
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
set(PLUGIN_BUNDLED_LIBRARIES)
|
|
13
|
+
|
|
14
|
+
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
|
15
|
+
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
|
|
16
|
+
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
|
|
17
|
+
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
|
18
|
+
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
|
19
|
+
endforeach(plugin)
|
|
20
|
+
|
|
21
|
+
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
|
22
|
+
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
|
|
23
|
+
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
|
24
|
+
endforeach(ffi_plugin)
|
linux/runner/CMakeLists.txt
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.13)
|
|
2
|
+
project(runner LANGUAGES CXX)
|
|
3
|
+
|
|
4
|
+
# Define the application target. To change its name, change BINARY_NAME in the
|
|
5
|
+
# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer
|
|
6
|
+
# work.
|
|
7
|
+
#
|
|
8
|
+
# Any new source files that you add to the application should be added here.
|
|
9
|
+
add_executable(${BINARY_NAME}
|
|
10
|
+
"main.cc"
|
|
11
|
+
"my_application.cc"
|
|
12
|
+
"${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
# Apply the standard set of build settings. This can be removed for applications
|
|
16
|
+
# that need different build settings.
|
|
17
|
+
apply_standard_settings(${BINARY_NAME})
|
|
18
|
+
|
|
19
|
+
# Add preprocessor definitions for the application ID.
|
|
20
|
+
add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
|
|
21
|
+
|
|
22
|
+
# Add dependency libraries. Add any application-specific dependencies here.
|
|
23
|
+
target_link_libraries(${BINARY_NAME} PRIVATE flutter)
|
|
24
|
+
target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
|
|
25
|
+
|
|
26
|
+
target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}")
|
linux/runner/main.cc
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#include "my_application.h"
|
|
2
|
+
|
|
3
|
+
int main(int argc, char** argv) {
|
|
4
|
+
g_autoptr(MyApplication) app = my_application_new();
|
|
5
|
+
return g_application_run(G_APPLICATION(app), argc, argv);
|
|
6
|
+
}
|
linux/runner/my_application.cc
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
#include "my_application.h"
|
|
2
|
+
|
|
3
|
+
#include <flutter_linux/flutter_linux.h>
|
|
4
|
+
#ifdef GDK_WINDOWING_X11
|
|
5
|
+
#include <gdk/gdkx.h>
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
#include "flutter/generated_plugin_registrant.h"
|
|
9
|
+
|
|
10
|
+
struct _MyApplication {
|
|
11
|
+
GtkApplication parent_instance;
|
|
12
|
+
char** dart_entrypoint_arguments;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
|
|
16
|
+
|
|
17
|
+
// Called when first Flutter frame received.
|
|
18
|
+
static void first_frame_cb(MyApplication* self, FlView* view) {
|
|
19
|
+
gtk_widget_show(gtk_widget_get_toplevel(GTK_WIDGET(view)));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Implements GApplication::activate.
|
|
23
|
+
static void my_application_activate(GApplication* application) {
|
|
24
|
+
MyApplication* self = MY_APPLICATION(application);
|
|
25
|
+
GtkWindow* window =
|
|
26
|
+
GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
|
|
27
|
+
|
|
28
|
+
// Use a header bar when running in GNOME as this is the common style used
|
|
29
|
+
// by applications and is the setup most users will be using (e.g. Ubuntu
|
|
30
|
+
// desktop).
|
|
31
|
+
// If running on X and not using GNOME then just use a traditional title bar
|
|
32
|
+
// in case the window manager does more exotic layout, e.g. tiling.
|
|
33
|
+
// If running on Wayland assume the header bar will work (may need changing
|
|
34
|
+
// if future cases occur).
|
|
35
|
+
gboolean use_header_bar = TRUE;
|
|
36
|
+
#ifdef GDK_WINDOWING_X11
|
|
37
|
+
GdkScreen* screen = gtk_window_get_screen(window);
|
|
38
|
+
if (GDK_IS_X11_SCREEN(screen)) {
|
|
39
|
+
const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen);
|
|
40
|
+
if (g_strcmp0(wm_name, "GNOME Shell") != 0) {
|
|
41
|
+
use_header_bar = FALSE;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
#endif
|
|
45
|
+
if (use_header_bar) {
|
|
46
|
+
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
|
|
47
|
+
gtk_widget_show(GTK_WIDGET(header_bar));
|
|
48
|
+
gtk_header_bar_set_title(header_bar, "only_bible_app");
|
|
49
|
+
gtk_header_bar_set_show_close_button(header_bar, TRUE);
|
|
50
|
+
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
|
|
51
|
+
} else {
|
|
52
|
+
gtk_window_set_title(window, "only_bible_app");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
gtk_window_set_default_size(window, 1280, 720);
|
|
56
|
+
|
|
57
|
+
g_autoptr(FlDartProject) project = fl_dart_project_new();
|
|
58
|
+
fl_dart_project_set_dart_entrypoint_arguments(
|
|
59
|
+
project, self->dart_entrypoint_arguments);
|
|
60
|
+
|
|
61
|
+
FlView* view = fl_view_new(project);
|
|
62
|
+
GdkRGBA background_color;
|
|
63
|
+
// Background defaults to black, override it here if necessary, e.g. #00000000
|
|
64
|
+
// for transparent.
|
|
65
|
+
gdk_rgba_parse(&background_color, "#000000");
|
|
66
|
+
fl_view_set_background_color(view, &background_color);
|
|
67
|
+
gtk_widget_show(GTK_WIDGET(view));
|
|
68
|
+
gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
|
|
69
|
+
|
|
70
|
+
// Show the window when Flutter renders.
|
|
71
|
+
// Requires the view to be realized so we can start rendering.
|
|
72
|
+
g_signal_connect_swapped(view, "first-frame", G_CALLBACK(first_frame_cb),
|
|
73
|
+
self);
|
|
74
|
+
gtk_widget_realize(GTK_WIDGET(view));
|
|
75
|
+
|
|
76
|
+
fl_register_plugins(FL_PLUGIN_REGISTRY(view));
|
|
77
|
+
|
|
78
|
+
gtk_widget_grab_focus(GTK_WIDGET(view));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Implements GApplication::local_command_line.
|
|
82
|
+
static gboolean my_application_local_command_line(GApplication* application,
|
|
83
|
+
gchar*** arguments,
|
|
84
|
+
int* exit_status) {
|
|
85
|
+
MyApplication* self = MY_APPLICATION(application);
|
|
86
|
+
// Strip out the first argument as it is the binary name.
|
|
87
|
+
self->dart_entrypoint_arguments = g_strdupv(*arguments + 1);
|
|
88
|
+
|
|
89
|
+
g_autoptr(GError) error = nullptr;
|
|
90
|
+
if (!g_application_register(application, nullptr, &error)) {
|
|
91
|
+
g_warning("Failed to register: %s", error->message);
|
|
92
|
+
*exit_status = 1;
|
|
93
|
+
return TRUE;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
g_application_activate(application);
|
|
97
|
+
*exit_status = 0;
|
|
98
|
+
|
|
99
|
+
return TRUE;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Implements GApplication::startup.
|
|
103
|
+
static void my_application_startup(GApplication* application) {
|
|
104
|
+
// MyApplication* self = MY_APPLICATION(object);
|
|
105
|
+
|
|
106
|
+
// Perform any actions required at application startup.
|
|
107
|
+
|
|
108
|
+
G_APPLICATION_CLASS(my_application_parent_class)->startup(application);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Implements GApplication::shutdown.
|
|
112
|
+
static void my_application_shutdown(GApplication* application) {
|
|
113
|
+
// MyApplication* self = MY_APPLICATION(object);
|
|
114
|
+
|
|
115
|
+
// Perform any actions required at application shutdown.
|
|
116
|
+
|
|
117
|
+
G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Implements GObject::dispose.
|
|
121
|
+
static void my_application_dispose(GObject* object) {
|
|
122
|
+
MyApplication* self = MY_APPLICATION(object);
|
|
123
|
+
g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev);
|
|
124
|
+
G_OBJECT_CLASS(my_application_parent_class)->dispose(object);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
static void my_application_class_init(MyApplicationClass* klass) {
|
|
128
|
+
G_APPLICATION_CLASS(klass)->activate = my_application_activate;
|
|
129
|
+
G_APPLICATION_CLASS(klass)->local_command_line =
|
|
130
|
+
my_application_local_command_line;
|
|
131
|
+
G_APPLICATION_CLASS(klass)->startup = my_application_startup;
|
|
132
|
+
G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown;
|
|
133
|
+
G_OBJECT_CLASS(klass)->dispose = my_application_dispose;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
static void my_application_init(MyApplication* self) {}
|
|
137
|
+
|
|
138
|
+
MyApplication* my_application_new() {
|
|
139
|
+
// Set the program name to the application ID, which helps various systems
|
|
140
|
+
// like GTK and desktop environments map this running application to its
|
|
141
|
+
// corresponding .desktop file. This ensures better integration by allowing
|
|
142
|
+
// the application to be recognized beyond its binary name.
|
|
143
|
+
g_set_prgname(APPLICATION_ID);
|
|
144
|
+
|
|
145
|
+
return MY_APPLICATION(g_object_new(my_application_get_type(),
|
|
146
|
+
"application-id", APPLICATION_ID, "flags",
|
|
147
|
+
G_APPLICATION_NON_UNIQUE, nullptr));
|
|
148
|
+
}
|
linux/runner/my_application.h
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#ifndef FLUTTER_MY_APPLICATION_H_
|
|
2
|
+
#define FLUTTER_MY_APPLICATION_H_
|
|
3
|
+
|
|
4
|
+
#include <gtk/gtk.h>
|
|
5
|
+
|
|
6
|
+
G_DECLARE_FINAL_TYPE(MyApplication,
|
|
7
|
+
my_application,
|
|
8
|
+
MY,
|
|
9
|
+
APPLICATION,
|
|
10
|
+
GtkApplication)
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* my_application_new:
|
|
14
|
+
*
|
|
15
|
+
* Creates a new Flutter-based application.
|
|
16
|
+
*
|
|
17
|
+
* Returns: a new #MyApplication.
|
|
18
|
+
*/
|
|
19
|
+
MyApplication* my_application_new();
|
|
20
|
+
|
|
21
|
+
#endif // FLUTTER_MY_APPLICATION_H_
|
macos/.gitignore
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Flutter-related
|
|
2
|
+
**/Flutter/ephemeral/
|
|
3
|
+
**/Pods/
|
|
4
|
+
|
|
5
|
+
# Xcode-related
|
|
6
|
+
**/dgph
|
|
7
|
+
**/xcuserdata/
|
macos/Flutter/Flutter-Debug.xcconfig
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
|
|
2
|
+
#include "ephemeral/Flutter-Generated.xcconfig"
|
macos/Flutter/Flutter-Release.xcconfig
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
|
|
2
|
+
#include "ephemeral/Flutter-Generated.xcconfig"
|
macos/Flutter/GeneratedPluginRegistrant.swift
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Generated file. Do not edit.
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import FlutterMacOS
|
|
6
|
+
import Foundation
|
|
7
|
+
|
|
8
|
+
import app_review
|
|
9
|
+
import audio_session
|
|
10
|
+
import just_audio
|
|
11
|
+
import package_info_plus
|
|
12
|
+
import share_plus
|
|
13
|
+
import shared_preferences_foundation
|
|
14
|
+
import url_launcher_macos
|
|
15
|
+
import webview_flutter_wkwebview
|
|
16
|
+
|
|
17
|
+
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
|
18
|
+
AppReviewPlugin.register(with: registry.registrar(forPlugin: "AppReviewPlugin"))
|
|
19
|
+
AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin"))
|
|
20
|
+
JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin"))
|
|
21
|
+
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
|
22
|
+
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
|
|
23
|
+
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
|
24
|
+
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
|
25
|
+
WebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "WebViewFlutterPlugin"))
|
|
26
|
+
}
|
macos/Podfile
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
platform :osx, '10.15'
|
|
2
|
+
|
|
3
|
+
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
|
4
|
+
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
|
5
|
+
|
|
6
|
+
project 'Runner', {
|
|
7
|
+
'Debug' => :debug,
|
|
8
|
+
'Profile' => :release,
|
|
9
|
+
'Release' => :release,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
def flutter_root
|
|
13
|
+
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
|
|
14
|
+
unless File.exist?(generated_xcode_build_settings_path)
|
|
15
|
+
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
File.foreach(generated_xcode_build_settings_path) do |line|
|
|
19
|
+
matches = line.match(/FLUTTER_ROOT\=(.*)/)
|
|
20
|
+
return matches[1].strip if matches
|
|
21
|
+
end
|
|
22
|
+
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
|
|
26
|
+
|
|
27
|
+
flutter_macos_podfile_setup
|
|
28
|
+
|
|
29
|
+
target 'Runner' do
|
|
30
|
+
use_frameworks!
|
|
31
|
+
|
|
32
|
+
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
|
|
33
|
+
target 'RunnerTests' do
|
|
34
|
+
inherit! :search_paths
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
post_install do |installer|
|
|
39
|
+
installer.pods_project.targets.each do |target|
|
|
40
|
+
flutter_additional_macos_build_settings(target)
|
|
41
|
+
end
|
|
42
|
+
end
|
macos/Runner.xcodeproj/project.pbxproj
ADDED
|
@@ -0,0 +1,705 @@
|
|
|
1
|
+
// !$*UTF8*$!
|
|
2
|
+
{
|
|
3
|
+
archiveVersion = 1;
|
|
4
|
+
classes = {
|
|
5
|
+
};
|
|
6
|
+
objectVersion = 54;
|
|
7
|
+
objects = {
|
|
8
|
+
|
|
9
|
+
/* Begin PBXAggregateTarget section */
|
|
10
|
+
33CC111A2044C6BA0003C045 /* Flutter Assemble */ = {
|
|
11
|
+
isa = PBXAggregateTarget;
|
|
12
|
+
buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */;
|
|
13
|
+
buildPhases = (
|
|
14
|
+
33CC111E2044C6BF0003C045 /* ShellScript */,
|
|
15
|
+
);
|
|
16
|
+
dependencies = (
|
|
17
|
+
);
|
|
18
|
+
name = "Flutter Assemble";
|
|
19
|
+
productName = FLX;
|
|
20
|
+
};
|
|
21
|
+
/* End PBXAggregateTarget section */
|
|
22
|
+
|
|
23
|
+
/* Begin PBXBuildFile section */
|
|
24
|
+
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; };
|
|
25
|
+
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
|
|
26
|
+
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
|
|
27
|
+
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
|
|
28
|
+
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
|
|
29
|
+
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
|
|
30
|
+
/* End PBXBuildFile section */
|
|
31
|
+
|
|
32
|
+
/* Begin PBXContainerItemProxy section */
|
|
33
|
+
331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = {
|
|
34
|
+
isa = PBXContainerItemProxy;
|
|
35
|
+
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
|
|
36
|
+
proxyType = 1;
|
|
37
|
+
remoteGlobalIDString = 33CC10EC2044A3C60003C045;
|
|
38
|
+
remoteInfo = Runner;
|
|
39
|
+
};
|
|
40
|
+
33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = {
|
|
41
|
+
isa = PBXContainerItemProxy;
|
|
42
|
+
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
|
|
43
|
+
proxyType = 1;
|
|
44
|
+
remoteGlobalIDString = 33CC111A2044C6BA0003C045;
|
|
45
|
+
remoteInfo = FLX;
|
|
46
|
+
};
|
|
47
|
+
/* End PBXContainerItemProxy section */
|
|
48
|
+
|
|
49
|
+
/* Begin PBXCopyFilesBuildPhase section */
|
|
50
|
+
33CC110E2044A8840003C045 /* Bundle Framework */ = {
|
|
51
|
+
isa = PBXCopyFilesBuildPhase;
|
|
52
|
+
buildActionMask = 2147483647;
|
|
53
|
+
dstPath = "";
|
|
54
|
+
dstSubfolderSpec = 10;
|
|
55
|
+
files = (
|
|
56
|
+
);
|
|
57
|
+
name = "Bundle Framework";
|
|
58
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
59
|
+
};
|
|
60
|
+
/* End PBXCopyFilesBuildPhase section */
|
|
61
|
+
|
|
62
|
+
/* Begin PBXFileReference section */
|
|
63
|
+
331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
64
|
+
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
|
|
65
|
+
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
|
|
66
|
+
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
|
|
67
|
+
33CC10ED2044A3C60003C045 /* only_bible_app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "only_bible_app.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
68
|
+
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
|
69
|
+
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
|
|
70
|
+
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
|
71
|
+
33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = "<group>"; };
|
|
72
|
+
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = "<group>"; };
|
|
73
|
+
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = "<group>"; };
|
|
74
|
+
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = "<group>"; };
|
|
75
|
+
33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = "<group>"; };
|
|
76
|
+
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
|
|
77
|
+
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
|
|
78
|
+
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
|
|
79
|
+
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
|
|
80
|
+
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
|
|
81
|
+
/* End PBXFileReference section */
|
|
82
|
+
|
|
83
|
+
/* Begin PBXFrameworksBuildPhase section */
|
|
84
|
+
331C80D2294CF70F00263BE5 /* Frameworks */ = {
|
|
85
|
+
isa = PBXFrameworksBuildPhase;
|
|
86
|
+
buildActionMask = 2147483647;
|
|
87
|
+
files = (
|
|
88
|
+
);
|
|
89
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
90
|
+
};
|
|
91
|
+
33CC10EA2044A3C60003C045 /* Frameworks */ = {
|
|
92
|
+
isa = PBXFrameworksBuildPhase;
|
|
93
|
+
buildActionMask = 2147483647;
|
|
94
|
+
files = (
|
|
95
|
+
);
|
|
96
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
97
|
+
};
|
|
98
|
+
/* End PBXFrameworksBuildPhase section */
|
|
99
|
+
|
|
100
|
+
/* Begin PBXGroup section */
|
|
101
|
+
331C80D6294CF71000263BE5 /* RunnerTests */ = {
|
|
102
|
+
isa = PBXGroup;
|
|
103
|
+
children = (
|
|
104
|
+
331C80D7294CF71000263BE5 /* RunnerTests.swift */,
|
|
105
|
+
);
|
|
106
|
+
path = RunnerTests;
|
|
107
|
+
sourceTree = "<group>";
|
|
108
|
+
};
|
|
109
|
+
33BA886A226E78AF003329D5 /* Configs */ = {
|
|
110
|
+
isa = PBXGroup;
|
|
111
|
+
children = (
|
|
112
|
+
33E5194F232828860026EE4D /* AppInfo.xcconfig */,
|
|
113
|
+
9740EEB21CF90195004384FC /* Debug.xcconfig */,
|
|
114
|
+
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
|
|
115
|
+
333000ED22D3DE5D00554162 /* Warnings.xcconfig */,
|
|
116
|
+
);
|
|
117
|
+
path = Configs;
|
|
118
|
+
sourceTree = "<group>";
|
|
119
|
+
};
|
|
120
|
+
33CC10E42044A3C60003C045 = {
|
|
121
|
+
isa = PBXGroup;
|
|
122
|
+
children = (
|
|
123
|
+
33FAB671232836740065AC1E /* Runner */,
|
|
124
|
+
33CEB47122A05771004F2AC0 /* Flutter */,
|
|
125
|
+
331C80D6294CF71000263BE5 /* RunnerTests */,
|
|
126
|
+
33CC10EE2044A3C60003C045 /* Products */,
|
|
127
|
+
D73912EC22F37F3D000D13A0 /* Frameworks */,
|
|
128
|
+
);
|
|
129
|
+
sourceTree = "<group>";
|
|
130
|
+
};
|
|
131
|
+
33CC10EE2044A3C60003C045 /* Products */ = {
|
|
132
|
+
isa = PBXGroup;
|
|
133
|
+
children = (
|
|
134
|
+
33CC10ED2044A3C60003C045 /* only_bible_app.app */,
|
|
135
|
+
331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
|
|
136
|
+
);
|
|
137
|
+
name = Products;
|
|
138
|
+
sourceTree = "<group>";
|
|
139
|
+
};
|
|
140
|
+
33CC11242044D66E0003C045 /* Resources */ = {
|
|
141
|
+
isa = PBXGroup;
|
|
142
|
+
children = (
|
|
143
|
+
33CC10F22044A3C60003C045 /* Assets.xcassets */,
|
|
144
|
+
33CC10F42044A3C60003C045 /* MainMenu.xib */,
|
|
145
|
+
33CC10F72044A3C60003C045 /* Info.plist */,
|
|
146
|
+
);
|
|
147
|
+
name = Resources;
|
|
148
|
+
path = ..;
|
|
149
|
+
sourceTree = "<group>";
|
|
150
|
+
};
|
|
151
|
+
33CEB47122A05771004F2AC0 /* Flutter */ = {
|
|
152
|
+
isa = PBXGroup;
|
|
153
|
+
children = (
|
|
154
|
+
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,
|
|
155
|
+
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,
|
|
156
|
+
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,
|
|
157
|
+
33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */,
|
|
158
|
+
);
|
|
159
|
+
path = Flutter;
|
|
160
|
+
sourceTree = "<group>";
|
|
161
|
+
};
|
|
162
|
+
33FAB671232836740065AC1E /* Runner */ = {
|
|
163
|
+
isa = PBXGroup;
|
|
164
|
+
children = (
|
|
165
|
+
33CC10F02044A3C60003C045 /* AppDelegate.swift */,
|
|
166
|
+
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */,
|
|
167
|
+
33E51913231747F40026EE4D /* DebugProfile.entitlements */,
|
|
168
|
+
33E51914231749380026EE4D /* Release.entitlements */,
|
|
169
|
+
33CC11242044D66E0003C045 /* Resources */,
|
|
170
|
+
33BA886A226E78AF003329D5 /* Configs */,
|
|
171
|
+
);
|
|
172
|
+
path = Runner;
|
|
173
|
+
sourceTree = "<group>";
|
|
174
|
+
};
|
|
175
|
+
D73912EC22F37F3D000D13A0 /* Frameworks */ = {
|
|
176
|
+
isa = PBXGroup;
|
|
177
|
+
children = (
|
|
178
|
+
);
|
|
179
|
+
name = Frameworks;
|
|
180
|
+
sourceTree = "<group>";
|
|
181
|
+
};
|
|
182
|
+
/* End PBXGroup section */
|
|
183
|
+
|
|
184
|
+
/* Begin PBXNativeTarget section */
|
|
185
|
+
331C80D4294CF70F00263BE5 /* RunnerTests */ = {
|
|
186
|
+
isa = PBXNativeTarget;
|
|
187
|
+
buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
|
|
188
|
+
buildPhases = (
|
|
189
|
+
331C80D1294CF70F00263BE5 /* Sources */,
|
|
190
|
+
331C80D2294CF70F00263BE5 /* Frameworks */,
|
|
191
|
+
331C80D3294CF70F00263BE5 /* Resources */,
|
|
192
|
+
);
|
|
193
|
+
buildRules = (
|
|
194
|
+
);
|
|
195
|
+
dependencies = (
|
|
196
|
+
331C80DA294CF71000263BE5 /* PBXTargetDependency */,
|
|
197
|
+
);
|
|
198
|
+
name = RunnerTests;
|
|
199
|
+
productName = RunnerTests;
|
|
200
|
+
productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */;
|
|
201
|
+
productType = "com.apple.product-type.bundle.unit-test";
|
|
202
|
+
};
|
|
203
|
+
33CC10EC2044A3C60003C045 /* Runner */ = {
|
|
204
|
+
isa = PBXNativeTarget;
|
|
205
|
+
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
|
|
206
|
+
buildPhases = (
|
|
207
|
+
33CC10E92044A3C60003C045 /* Sources */,
|
|
208
|
+
33CC10EA2044A3C60003C045 /* Frameworks */,
|
|
209
|
+
33CC10EB2044A3C60003C045 /* Resources */,
|
|
210
|
+
33CC110E2044A8840003C045 /* Bundle Framework */,
|
|
211
|
+
3399D490228B24CF009A79C7 /* ShellScript */,
|
|
212
|
+
);
|
|
213
|
+
buildRules = (
|
|
214
|
+
);
|
|
215
|
+
dependencies = (
|
|
216
|
+
33CC11202044C79F0003C045 /* PBXTargetDependency */,
|
|
217
|
+
);
|
|
218
|
+
name = Runner;
|
|
219
|
+
productName = Runner;
|
|
220
|
+
productReference = 33CC10ED2044A3C60003C045 /* only_bible_app.app */;
|
|
221
|
+
productType = "com.apple.product-type.application";
|
|
222
|
+
};
|
|
223
|
+
/* End PBXNativeTarget section */
|
|
224
|
+
|
|
225
|
+
/* Begin PBXProject section */
|
|
226
|
+
33CC10E52044A3C60003C045 /* Project object */ = {
|
|
227
|
+
isa = PBXProject;
|
|
228
|
+
attributes = {
|
|
229
|
+
BuildIndependentTargetsInParallel = YES;
|
|
230
|
+
LastSwiftUpdateCheck = 0920;
|
|
231
|
+
LastUpgradeCheck = 1510;
|
|
232
|
+
ORGANIZATIONNAME = "";
|
|
233
|
+
TargetAttributes = {
|
|
234
|
+
331C80D4294CF70F00263BE5 = {
|
|
235
|
+
CreatedOnToolsVersion = 14.0;
|
|
236
|
+
TestTargetID = 33CC10EC2044A3C60003C045;
|
|
237
|
+
};
|
|
238
|
+
33CC10EC2044A3C60003C045 = {
|
|
239
|
+
CreatedOnToolsVersion = 9.2;
|
|
240
|
+
LastSwiftMigration = 1100;
|
|
241
|
+
ProvisioningStyle = Automatic;
|
|
242
|
+
SystemCapabilities = {
|
|
243
|
+
com.apple.Sandbox = {
|
|
244
|
+
enabled = 1;
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
33CC111A2044C6BA0003C045 = {
|
|
249
|
+
CreatedOnToolsVersion = 9.2;
|
|
250
|
+
ProvisioningStyle = Manual;
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */;
|
|
255
|
+
compatibilityVersion = "Xcode 9.3";
|
|
256
|
+
developmentRegion = en;
|
|
257
|
+
hasScannedForEncodings = 0;
|
|
258
|
+
knownRegions = (
|
|
259
|
+
en,
|
|
260
|
+
Base,
|
|
261
|
+
);
|
|
262
|
+
mainGroup = 33CC10E42044A3C60003C045;
|
|
263
|
+
productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
|
|
264
|
+
projectDirPath = "";
|
|
265
|
+
projectRoot = "";
|
|
266
|
+
targets = (
|
|
267
|
+
33CC10EC2044A3C60003C045 /* Runner */,
|
|
268
|
+
331C80D4294CF70F00263BE5 /* RunnerTests */,
|
|
269
|
+
33CC111A2044C6BA0003C045 /* Flutter Assemble */,
|
|
270
|
+
);
|
|
271
|
+
};
|
|
272
|
+
/* End PBXProject section */
|
|
273
|
+
|
|
274
|
+
/* Begin PBXResourcesBuildPhase section */
|
|
275
|
+
331C80D3294CF70F00263BE5 /* Resources */ = {
|
|
276
|
+
isa = PBXResourcesBuildPhase;
|
|
277
|
+
buildActionMask = 2147483647;
|
|
278
|
+
files = (
|
|
279
|
+
);
|
|
280
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
281
|
+
};
|
|
282
|
+
33CC10EB2044A3C60003C045 /* Resources */ = {
|
|
283
|
+
isa = PBXResourcesBuildPhase;
|
|
284
|
+
buildActionMask = 2147483647;
|
|
285
|
+
files = (
|
|
286
|
+
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */,
|
|
287
|
+
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */,
|
|
288
|
+
);
|
|
289
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
290
|
+
};
|
|
291
|
+
/* End PBXResourcesBuildPhase section */
|
|
292
|
+
|
|
293
|
+
/* Begin PBXShellScriptBuildPhase section */
|
|
294
|
+
3399D490228B24CF009A79C7 /* ShellScript */ = {
|
|
295
|
+
isa = PBXShellScriptBuildPhase;
|
|
296
|
+
alwaysOutOfDate = 1;
|
|
297
|
+
buildActionMask = 2147483647;
|
|
298
|
+
files = (
|
|
299
|
+
);
|
|
300
|
+
inputFileListPaths = (
|
|
301
|
+
);
|
|
302
|
+
inputPaths = (
|
|
303
|
+
);
|
|
304
|
+
outputFileListPaths = (
|
|
305
|
+
);
|
|
306
|
+
outputPaths = (
|
|
307
|
+
);
|
|
308
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
309
|
+
shellPath = /bin/sh;
|
|
310
|
+
shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";
|
|
311
|
+
};
|
|
312
|
+
33CC111E2044C6BF0003C045 /* ShellScript */ = {
|
|
313
|
+
isa = PBXShellScriptBuildPhase;
|
|
314
|
+
buildActionMask = 2147483647;
|
|
315
|
+
files = (
|
|
316
|
+
);
|
|
317
|
+
inputFileListPaths = (
|
|
318
|
+
Flutter/ephemeral/FlutterInputs.xcfilelist,
|
|
319
|
+
);
|
|
320
|
+
inputPaths = (
|
|
321
|
+
Flutter/ephemeral/tripwire,
|
|
322
|
+
);
|
|
323
|
+
outputFileListPaths = (
|
|
324
|
+
Flutter/ephemeral/FlutterOutputs.xcfilelist,
|
|
325
|
+
);
|
|
326
|
+
outputPaths = (
|
|
327
|
+
);
|
|
328
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
329
|
+
shellPath = /bin/sh;
|
|
330
|
+
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
|
|
331
|
+
};
|
|
332
|
+
/* End PBXShellScriptBuildPhase section */
|
|
333
|
+
|
|
334
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
335
|
+
331C80D1294CF70F00263BE5 /* Sources */ = {
|
|
336
|
+
isa = PBXSourcesBuildPhase;
|
|
337
|
+
buildActionMask = 2147483647;
|
|
338
|
+
files = (
|
|
339
|
+
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */,
|
|
340
|
+
);
|
|
341
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
342
|
+
};
|
|
343
|
+
33CC10E92044A3C60003C045 /* Sources */ = {
|
|
344
|
+
isa = PBXSourcesBuildPhase;
|
|
345
|
+
buildActionMask = 2147483647;
|
|
346
|
+
files = (
|
|
347
|
+
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */,
|
|
348
|
+
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */,
|
|
349
|
+
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */,
|
|
350
|
+
);
|
|
351
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
352
|
+
};
|
|
353
|
+
/* End PBXSourcesBuildPhase section */
|
|
354
|
+
|
|
355
|
+
/* Begin PBXTargetDependency section */
|
|
356
|
+
331C80DA294CF71000263BE5 /* PBXTargetDependency */ = {
|
|
357
|
+
isa = PBXTargetDependency;
|
|
358
|
+
target = 33CC10EC2044A3C60003C045 /* Runner */;
|
|
359
|
+
targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */;
|
|
360
|
+
};
|
|
361
|
+
33CC11202044C79F0003C045 /* PBXTargetDependency */ = {
|
|
362
|
+
isa = PBXTargetDependency;
|
|
363
|
+
target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */;
|
|
364
|
+
targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */;
|
|
365
|
+
};
|
|
366
|
+
/* End PBXTargetDependency section */
|
|
367
|
+
|
|
368
|
+
/* Begin PBXVariantGroup section */
|
|
369
|
+
33CC10F42044A3C60003C045 /* MainMenu.xib */ = {
|
|
370
|
+
isa = PBXVariantGroup;
|
|
371
|
+
children = (
|
|
372
|
+
33CC10F52044A3C60003C045 /* Base */,
|
|
373
|
+
);
|
|
374
|
+
name = MainMenu.xib;
|
|
375
|
+
path = Runner;
|
|
376
|
+
sourceTree = "<group>";
|
|
377
|
+
};
|
|
378
|
+
/* End PBXVariantGroup section */
|
|
379
|
+
|
|
380
|
+
/* Begin XCBuildConfiguration section */
|
|
381
|
+
331C80DB294CF71000263BE5 /* Debug */ = {
|
|
382
|
+
isa = XCBuildConfiguration;
|
|
383
|
+
buildSettings = {
|
|
384
|
+
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
385
|
+
CURRENT_PROJECT_VERSION = 1;
|
|
386
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
387
|
+
MARKETING_VERSION = 1.0;
|
|
388
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp.RunnerTests;
|
|
389
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
390
|
+
SWIFT_VERSION = 5.0;
|
|
391
|
+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/only_bible_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/only_bible_app";
|
|
392
|
+
};
|
|
393
|
+
name = Debug;
|
|
394
|
+
};
|
|
395
|
+
331C80DC294CF71000263BE5 /* Release */ = {
|
|
396
|
+
isa = XCBuildConfiguration;
|
|
397
|
+
buildSettings = {
|
|
398
|
+
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
399
|
+
CURRENT_PROJECT_VERSION = 1;
|
|
400
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
401
|
+
MARKETING_VERSION = 1.0;
|
|
402
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp.RunnerTests;
|
|
403
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
404
|
+
SWIFT_VERSION = 5.0;
|
|
405
|
+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/only_bible_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/only_bible_app";
|
|
406
|
+
};
|
|
407
|
+
name = Release;
|
|
408
|
+
};
|
|
409
|
+
331C80DD294CF71000263BE5 /* Profile */ = {
|
|
410
|
+
isa = XCBuildConfiguration;
|
|
411
|
+
buildSettings = {
|
|
412
|
+
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
413
|
+
CURRENT_PROJECT_VERSION = 1;
|
|
414
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
415
|
+
MARKETING_VERSION = 1.0;
|
|
416
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp.RunnerTests;
|
|
417
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
418
|
+
SWIFT_VERSION = 5.0;
|
|
419
|
+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/only_bible_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/only_bible_app";
|
|
420
|
+
};
|
|
421
|
+
name = Profile;
|
|
422
|
+
};
|
|
423
|
+
338D0CE9231458BD00FA5F75 /* Profile */ = {
|
|
424
|
+
isa = XCBuildConfiguration;
|
|
425
|
+
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
|
426
|
+
buildSettings = {
|
|
427
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
428
|
+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
|
429
|
+
CLANG_ANALYZER_NONNULL = YES;
|
|
430
|
+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
431
|
+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
432
|
+
CLANG_CXX_LIBRARY = "libc++";
|
|
433
|
+
CLANG_ENABLE_MODULES = YES;
|
|
434
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
435
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
436
|
+
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
437
|
+
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
438
|
+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
439
|
+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
440
|
+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
441
|
+
CLANG_WARN_EMPTY_BODY = YES;
|
|
442
|
+
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
443
|
+
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
444
|
+
CLANG_WARN_INT_CONVERSION = YES;
|
|
445
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
446
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
447
|
+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
448
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
449
|
+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
450
|
+
CODE_SIGN_IDENTITY = "-";
|
|
451
|
+
COPY_PHASE_STRIP = NO;
|
|
452
|
+
DEAD_CODE_STRIPPING = YES;
|
|
453
|
+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
454
|
+
ENABLE_NS_ASSERTIONS = NO;
|
|
455
|
+
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
456
|
+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
|
457
|
+
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
458
|
+
GCC_NO_COMMON_BLOCKS = YES;
|
|
459
|
+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
460
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
461
|
+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
462
|
+
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
463
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
464
|
+
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
|
465
|
+
MTL_ENABLE_DEBUG_INFO = NO;
|
|
466
|
+
SDKROOT = macosx;
|
|
467
|
+
SWIFT_COMPILATION_MODE = wholemodule;
|
|
468
|
+
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
|
469
|
+
};
|
|
470
|
+
name = Profile;
|
|
471
|
+
};
|
|
472
|
+
338D0CEA231458BD00FA5F75 /* Profile */ = {
|
|
473
|
+
isa = XCBuildConfiguration;
|
|
474
|
+
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
|
|
475
|
+
buildSettings = {
|
|
476
|
+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
477
|
+
CLANG_ENABLE_MODULES = YES;
|
|
478
|
+
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
|
|
479
|
+
CODE_SIGN_STYLE = Automatic;
|
|
480
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
481
|
+
INFOPLIST_FILE = Runner/Info.plist;
|
|
482
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
483
|
+
"$(inherited)",
|
|
484
|
+
"@executable_path/../Frameworks",
|
|
485
|
+
);
|
|
486
|
+
PROVISIONING_PROFILE_SPECIFIER = "";
|
|
487
|
+
SWIFT_VERSION = 5.0;
|
|
488
|
+
};
|
|
489
|
+
name = Profile;
|
|
490
|
+
};
|
|
491
|
+
338D0CEB231458BD00FA5F75 /* Profile */ = {
|
|
492
|
+
isa = XCBuildConfiguration;
|
|
493
|
+
buildSettings = {
|
|
494
|
+
CODE_SIGN_STYLE = Manual;
|
|
495
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
496
|
+
};
|
|
497
|
+
name = Profile;
|
|
498
|
+
};
|
|
499
|
+
33CC10F92044A3C60003C045 /* Debug */ = {
|
|
500
|
+
isa = XCBuildConfiguration;
|
|
501
|
+
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
|
502
|
+
buildSettings = {
|
|
503
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
504
|
+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
|
505
|
+
CLANG_ANALYZER_NONNULL = YES;
|
|
506
|
+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
507
|
+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
508
|
+
CLANG_CXX_LIBRARY = "libc++";
|
|
509
|
+
CLANG_ENABLE_MODULES = YES;
|
|
510
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
511
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
512
|
+
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
513
|
+
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
514
|
+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
515
|
+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
516
|
+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
517
|
+
CLANG_WARN_EMPTY_BODY = YES;
|
|
518
|
+
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
519
|
+
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
520
|
+
CLANG_WARN_INT_CONVERSION = YES;
|
|
521
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
522
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
523
|
+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
524
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
525
|
+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
526
|
+
CODE_SIGN_IDENTITY = "-";
|
|
527
|
+
COPY_PHASE_STRIP = NO;
|
|
528
|
+
DEAD_CODE_STRIPPING = YES;
|
|
529
|
+
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
530
|
+
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
531
|
+
ENABLE_TESTABILITY = YES;
|
|
532
|
+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
|
533
|
+
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
534
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
|
535
|
+
GCC_NO_COMMON_BLOCKS = YES;
|
|
536
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
|
537
|
+
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
538
|
+
"DEBUG=1",
|
|
539
|
+
"$(inherited)",
|
|
540
|
+
);
|
|
541
|
+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
542
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
543
|
+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
544
|
+
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
545
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
546
|
+
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
|
547
|
+
MTL_ENABLE_DEBUG_INFO = YES;
|
|
548
|
+
ONLY_ACTIVE_ARCH = YES;
|
|
549
|
+
SDKROOT = macosx;
|
|
550
|
+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
551
|
+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
552
|
+
};
|
|
553
|
+
name = Debug;
|
|
554
|
+
};
|
|
555
|
+
33CC10FA2044A3C60003C045 /* Release */ = {
|
|
556
|
+
isa = XCBuildConfiguration;
|
|
557
|
+
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
|
558
|
+
buildSettings = {
|
|
559
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
560
|
+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
|
561
|
+
CLANG_ANALYZER_NONNULL = YES;
|
|
562
|
+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
563
|
+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
564
|
+
CLANG_CXX_LIBRARY = "libc++";
|
|
565
|
+
CLANG_ENABLE_MODULES = YES;
|
|
566
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
567
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
568
|
+
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
569
|
+
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
570
|
+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
571
|
+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
572
|
+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
573
|
+
CLANG_WARN_EMPTY_BODY = YES;
|
|
574
|
+
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
575
|
+
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
576
|
+
CLANG_WARN_INT_CONVERSION = YES;
|
|
577
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
578
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
579
|
+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
580
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
581
|
+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
582
|
+
CODE_SIGN_IDENTITY = "-";
|
|
583
|
+
COPY_PHASE_STRIP = NO;
|
|
584
|
+
DEAD_CODE_STRIPPING = YES;
|
|
585
|
+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
586
|
+
ENABLE_NS_ASSERTIONS = NO;
|
|
587
|
+
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
588
|
+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
|
589
|
+
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
590
|
+
GCC_NO_COMMON_BLOCKS = YES;
|
|
591
|
+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
592
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
593
|
+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
594
|
+
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
595
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
596
|
+
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
|
597
|
+
MTL_ENABLE_DEBUG_INFO = NO;
|
|
598
|
+
SDKROOT = macosx;
|
|
599
|
+
SWIFT_COMPILATION_MODE = wholemodule;
|
|
600
|
+
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
|
601
|
+
};
|
|
602
|
+
name = Release;
|
|
603
|
+
};
|
|
604
|
+
33CC10FC2044A3C60003C045 /* Debug */ = {
|
|
605
|
+
isa = XCBuildConfiguration;
|
|
606
|
+
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
|
|
607
|
+
buildSettings = {
|
|
608
|
+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
609
|
+
CLANG_ENABLE_MODULES = YES;
|
|
610
|
+
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
|
|
611
|
+
CODE_SIGN_STYLE = Automatic;
|
|
612
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
613
|
+
INFOPLIST_FILE = Runner/Info.plist;
|
|
614
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
615
|
+
"$(inherited)",
|
|
616
|
+
"@executable_path/../Frameworks",
|
|
617
|
+
);
|
|
618
|
+
PROVISIONING_PROFILE_SPECIFIER = "";
|
|
619
|
+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
620
|
+
SWIFT_VERSION = 5.0;
|
|
621
|
+
};
|
|
622
|
+
name = Debug;
|
|
623
|
+
};
|
|
624
|
+
33CC10FD2044A3C60003C045 /* Release */ = {
|
|
625
|
+
isa = XCBuildConfiguration;
|
|
626
|
+
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
|
|
627
|
+
buildSettings = {
|
|
628
|
+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
629
|
+
CLANG_ENABLE_MODULES = YES;
|
|
630
|
+
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
|
|
631
|
+
CODE_SIGN_STYLE = Automatic;
|
|
632
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
633
|
+
INFOPLIST_FILE = Runner/Info.plist;
|
|
634
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
635
|
+
"$(inherited)",
|
|
636
|
+
"@executable_path/../Frameworks",
|
|
637
|
+
);
|
|
638
|
+
PROVISIONING_PROFILE_SPECIFIER = "";
|
|
639
|
+
SWIFT_VERSION = 5.0;
|
|
640
|
+
};
|
|
641
|
+
name = Release;
|
|
642
|
+
};
|
|
643
|
+
33CC111C2044C6BA0003C045 /* Debug */ = {
|
|
644
|
+
isa = XCBuildConfiguration;
|
|
645
|
+
buildSettings = {
|
|
646
|
+
CODE_SIGN_STYLE = Manual;
|
|
647
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
648
|
+
};
|
|
649
|
+
name = Debug;
|
|
650
|
+
};
|
|
651
|
+
33CC111D2044C6BA0003C045 /* Release */ = {
|
|
652
|
+
isa = XCBuildConfiguration;
|
|
653
|
+
buildSettings = {
|
|
654
|
+
CODE_SIGN_STYLE = Automatic;
|
|
655
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
656
|
+
};
|
|
657
|
+
name = Release;
|
|
658
|
+
};
|
|
659
|
+
/* End XCBuildConfiguration section */
|
|
660
|
+
|
|
661
|
+
/* Begin XCConfigurationList section */
|
|
662
|
+
331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
|
|
663
|
+
isa = XCConfigurationList;
|
|
664
|
+
buildConfigurations = (
|
|
665
|
+
331C80DB294CF71000263BE5 /* Debug */,
|
|
666
|
+
331C80DC294CF71000263BE5 /* Release */,
|
|
667
|
+
331C80DD294CF71000263BE5 /* Profile */,
|
|
668
|
+
);
|
|
669
|
+
defaultConfigurationIsVisible = 0;
|
|
670
|
+
defaultConfigurationName = Release;
|
|
671
|
+
};
|
|
672
|
+
33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = {
|
|
673
|
+
isa = XCConfigurationList;
|
|
674
|
+
buildConfigurations = (
|
|
675
|
+
33CC10F92044A3C60003C045 /* Debug */,
|
|
676
|
+
33CC10FA2044A3C60003C045 /* Release */,
|
|
677
|
+
338D0CE9231458BD00FA5F75 /* Profile */,
|
|
678
|
+
);
|
|
679
|
+
defaultConfigurationIsVisible = 0;
|
|
680
|
+
defaultConfigurationName = Release;
|
|
681
|
+
};
|
|
682
|
+
33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = {
|
|
683
|
+
isa = XCConfigurationList;
|
|
684
|
+
buildConfigurations = (
|
|
685
|
+
33CC10FC2044A3C60003C045 /* Debug */,
|
|
686
|
+
33CC10FD2044A3C60003C045 /* Release */,
|
|
687
|
+
338D0CEA231458BD00FA5F75 /* Profile */,
|
|
688
|
+
);
|
|
689
|
+
defaultConfigurationIsVisible = 0;
|
|
690
|
+
defaultConfigurationName = Release;
|
|
691
|
+
};
|
|
692
|
+
33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = {
|
|
693
|
+
isa = XCConfigurationList;
|
|
694
|
+
buildConfigurations = (
|
|
695
|
+
33CC111C2044C6BA0003C045 /* Debug */,
|
|
696
|
+
33CC111D2044C6BA0003C045 /* Release */,
|
|
697
|
+
338D0CEB231458BD00FA5F75 /* Profile */,
|
|
698
|
+
);
|
|
699
|
+
defaultConfigurationIsVisible = 0;
|
|
700
|
+
defaultConfigurationName = Release;
|
|
701
|
+
};
|
|
702
|
+
/* End XCConfigurationList section */
|
|
703
|
+
};
|
|
704
|
+
rootObject = 33CC10E52044A3C60003C045 /* Project object */;
|
|
705
|
+
}
|
macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>IDEDidComputeMac32BitWarning</key>
|
|
6
|
+
<true/>
|
|
7
|
+
</dict>
|
|
8
|
+
</plist>
|
macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Scheme
|
|
3
|
+
LastUpgradeVersion = "1510"
|
|
4
|
+
version = "1.3">
|
|
5
|
+
<BuildAction
|
|
6
|
+
parallelizeBuildables = "YES"
|
|
7
|
+
buildImplicitDependencies = "YES">
|
|
8
|
+
<BuildActionEntries>
|
|
9
|
+
<BuildActionEntry
|
|
10
|
+
buildForTesting = "YES"
|
|
11
|
+
buildForRunning = "YES"
|
|
12
|
+
buildForProfiling = "YES"
|
|
13
|
+
buildForArchiving = "YES"
|
|
14
|
+
buildForAnalyzing = "YES">
|
|
15
|
+
<BuildableReference
|
|
16
|
+
BuildableIdentifier = "primary"
|
|
17
|
+
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
|
|
18
|
+
BuildableName = "only_bible_app.app"
|
|
19
|
+
BlueprintName = "Runner"
|
|
20
|
+
ReferencedContainer = "container:Runner.xcodeproj">
|
|
21
|
+
</BuildableReference>
|
|
22
|
+
</BuildActionEntry>
|
|
23
|
+
</BuildActionEntries>
|
|
24
|
+
</BuildAction>
|
|
25
|
+
<TestAction
|
|
26
|
+
buildConfiguration = "Debug"
|
|
27
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
+
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
+
<MacroExpansion>
|
|
31
|
+
<BuildableReference
|
|
32
|
+
BuildableIdentifier = "primary"
|
|
33
|
+
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
|
|
34
|
+
BuildableName = "only_bible_app.app"
|
|
35
|
+
BlueprintName = "Runner"
|
|
36
|
+
ReferencedContainer = "container:Runner.xcodeproj">
|
|
37
|
+
</BuildableReference>
|
|
38
|
+
</MacroExpansion>
|
|
39
|
+
<Testables>
|
|
40
|
+
<TestableReference
|
|
41
|
+
skipped = "NO"
|
|
42
|
+
parallelizable = "YES">
|
|
43
|
+
<BuildableReference
|
|
44
|
+
BuildableIdentifier = "primary"
|
|
45
|
+
BlueprintIdentifier = "331C80D4294CF70F00263BE5"
|
|
46
|
+
BuildableName = "RunnerTests.xctest"
|
|
47
|
+
BlueprintName = "RunnerTests"
|
|
48
|
+
ReferencedContainer = "container:Runner.xcodeproj">
|
|
49
|
+
</BuildableReference>
|
|
50
|
+
</TestableReference>
|
|
51
|
+
</Testables>
|
|
52
|
+
</TestAction>
|
|
53
|
+
<LaunchAction
|
|
54
|
+
buildConfiguration = "Debug"
|
|
55
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
56
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
57
|
+
launchStyle = "0"
|
|
58
|
+
useCustomWorkingDirectory = "NO"
|
|
59
|
+
ignoresPersistentStateOnLaunch = "NO"
|
|
60
|
+
debugDocumentVersioning = "YES"
|
|
61
|
+
debugServiceExtension = "internal"
|
|
62
|
+
enableGPUValidationMode = "1"
|
|
63
|
+
allowLocationSimulation = "YES">
|
|
64
|
+
<BuildableProductRunnable
|
|
65
|
+
runnableDebuggingMode = "0">
|
|
66
|
+
<BuildableReference
|
|
67
|
+
BuildableIdentifier = "primary"
|
|
68
|
+
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
|
|
69
|
+
BuildableName = "only_bible_app.app"
|
|
70
|
+
BlueprintName = "Runner"
|
|
71
|
+
ReferencedContainer = "container:Runner.xcodeproj">
|
|
72
|
+
</BuildableReference>
|
|
73
|
+
</BuildableProductRunnable>
|
|
74
|
+
</LaunchAction>
|
|
75
|
+
<ProfileAction
|
|
76
|
+
buildConfiguration = "Profile"
|
|
77
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
78
|
+
savedToolIdentifier = ""
|
|
79
|
+
useCustomWorkingDirectory = "NO"
|
|
80
|
+
debugDocumentVersioning = "YES">
|
|
81
|
+
<BuildableProductRunnable
|
|
82
|
+
runnableDebuggingMode = "0">
|
|
83
|
+
<BuildableReference
|
|
84
|
+
BuildableIdentifier = "primary"
|
|
85
|
+
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
|
|
86
|
+
BuildableName = "only_bible_app.app"
|
|
87
|
+
BlueprintName = "Runner"
|
|
88
|
+
ReferencedContainer = "container:Runner.xcodeproj">
|
|
89
|
+
</BuildableReference>
|
|
90
|
+
</BuildableProductRunnable>
|
|
91
|
+
</ProfileAction>
|
|
92
|
+
<AnalyzeAction
|
|
93
|
+
buildConfiguration = "Debug">
|
|
94
|
+
</AnalyzeAction>
|
|
95
|
+
<ArchiveAction
|
|
96
|
+
buildConfiguration = "Release"
|
|
97
|
+
revealArchiveInOrganizer = "YES">
|
|
98
|
+
</ArchiveAction>
|
|
99
|
+
</Scheme>
|
macos/Runner.xcworkspace/contents.xcworkspacedata
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Workspace
|
|
3
|
+
version = "1.0">
|
|
4
|
+
<FileRef
|
|
5
|
+
location = "group:Runner.xcodeproj">
|
|
6
|
+
</FileRef>
|
|
7
|
+
</Workspace>
|
macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>IDEDidComputeMac32BitWarning</key>
|
|
6
|
+
<true/>
|
|
7
|
+
</dict>
|
|
8
|
+
</plist>
|
macos/Runner/AppDelegate.swift
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Cocoa
|
|
2
|
+
import FlutterMacOS
|
|
3
|
+
|
|
4
|
+
@main
|
|
5
|
+
class AppDelegate: FlutterAppDelegate {
|
|
6
|
+
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
|
|
7
|
+
return true
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
|
|
11
|
+
return true
|
|
12
|
+
}
|
|
13
|
+
}
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images" : [
|
|
3
|
+
{
|
|
4
|
+
"size" : "16x16",
|
|
5
|
+
"idiom" : "mac",
|
|
6
|
+
"filename" : "app_icon_16.png",
|
|
7
|
+
"scale" : "1x"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"size" : "16x16",
|
|
11
|
+
"idiom" : "mac",
|
|
12
|
+
"filename" : "app_icon_32.png",
|
|
13
|
+
"scale" : "2x"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"size" : "32x32",
|
|
17
|
+
"idiom" : "mac",
|
|
18
|
+
"filename" : "app_icon_32.png",
|
|
19
|
+
"scale" : "1x"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"size" : "32x32",
|
|
23
|
+
"idiom" : "mac",
|
|
24
|
+
"filename" : "app_icon_64.png",
|
|
25
|
+
"scale" : "2x"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"size" : "128x128",
|
|
29
|
+
"idiom" : "mac",
|
|
30
|
+
"filename" : "app_icon_128.png",
|
|
31
|
+
"scale" : "1x"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"size" : "128x128",
|
|
35
|
+
"idiom" : "mac",
|
|
36
|
+
"filename" : "app_icon_256.png",
|
|
37
|
+
"scale" : "2x"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"size" : "256x256",
|
|
41
|
+
"idiom" : "mac",
|
|
42
|
+
"filename" : "app_icon_256.png",
|
|
43
|
+
"scale" : "1x"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"size" : "256x256",
|
|
47
|
+
"idiom" : "mac",
|
|
48
|
+
"filename" : "app_icon_512.png",
|
|
49
|
+
"scale" : "2x"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"size" : "512x512",
|
|
53
|
+
"idiom" : "mac",
|
|
54
|
+
"filename" : "app_icon_512.png",
|
|
55
|
+
"scale" : "1x"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"size" : "512x512",
|
|
59
|
+
"idiom" : "mac",
|
|
60
|
+
"filename" : "app_icon_1024.png",
|
|
61
|
+
"scale" : "2x"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"info" : {
|
|
65
|
+
"version" : 1,
|
|
66
|
+
"author" : "xcode"
|
|
67
|
+
}
|
|
68
|
+
}
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
ADDED
|
Binary file
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
ADDED
|
Binary file
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
ADDED
|
Binary file
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
ADDED
|
Binary file
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
ADDED
|
Binary file
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
ADDED
|
Binary file
|
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
ADDED
|
Binary file
|
macos/Runner/Base.lproj/MainMenu.xib
ADDED
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
|
3
|
+
<dependencies>
|
|
4
|
+
<deployment identifier="macosx"/>
|
|
5
|
+
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
|
|
6
|
+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
7
|
+
</dependencies>
|
|
8
|
+
<objects>
|
|
9
|
+
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
|
10
|
+
<connections>
|
|
11
|
+
<outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
|
|
12
|
+
</connections>
|
|
13
|
+
</customObject>
|
|
14
|
+
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
|
15
|
+
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
|
16
|
+
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Runner" customModuleProvider="target">
|
|
17
|
+
<connections>
|
|
18
|
+
<outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/>
|
|
19
|
+
<outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
|
|
20
|
+
</connections>
|
|
21
|
+
</customObject>
|
|
22
|
+
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
|
|
23
|
+
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
|
|
24
|
+
<items>
|
|
25
|
+
<menuItem title="APP_NAME" id="1Xt-HY-uBw">
|
|
26
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
27
|
+
<menu key="submenu" title="APP_NAME" systemMenu="apple" id="uQy-DD-JDr">
|
|
28
|
+
<items>
|
|
29
|
+
<menuItem title="About APP_NAME" id="5kV-Vb-QxS">
|
|
30
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
31
|
+
<connections>
|
|
32
|
+
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
|
|
33
|
+
</connections>
|
|
34
|
+
</menuItem>
|
|
35
|
+
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
|
|
36
|
+
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
|
|
37
|
+
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
|
|
38
|
+
<menuItem title="Services" id="NMo-om-nkz">
|
|
39
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
40
|
+
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
|
|
41
|
+
</menuItem>
|
|
42
|
+
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
|
|
43
|
+
<menuItem title="Hide APP_NAME" keyEquivalent="h" id="Olw-nP-bQN">
|
|
44
|
+
<connections>
|
|
45
|
+
<action selector="hide:" target="-1" id="PnN-Uc-m68"/>
|
|
46
|
+
</connections>
|
|
47
|
+
</menuItem>
|
|
48
|
+
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
|
|
49
|
+
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
|
50
|
+
<connections>
|
|
51
|
+
<action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
|
|
52
|
+
</connections>
|
|
53
|
+
</menuItem>
|
|
54
|
+
<menuItem title="Show All" id="Kd2-mp-pUS">
|
|
55
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
56
|
+
<connections>
|
|
57
|
+
<action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
|
|
58
|
+
</connections>
|
|
59
|
+
</menuItem>
|
|
60
|
+
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
|
|
61
|
+
<menuItem title="Quit APP_NAME" keyEquivalent="q" id="4sb-4s-VLi">
|
|
62
|
+
<connections>
|
|
63
|
+
<action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
|
|
64
|
+
</connections>
|
|
65
|
+
</menuItem>
|
|
66
|
+
</items>
|
|
67
|
+
</menu>
|
|
68
|
+
</menuItem>
|
|
69
|
+
<menuItem title="Edit" id="5QF-Oa-p0T">
|
|
70
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
71
|
+
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
|
|
72
|
+
<items>
|
|
73
|
+
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
|
|
74
|
+
<connections>
|
|
75
|
+
<action selector="undo:" target="-1" id="M6e-cu-g7V"/>
|
|
76
|
+
</connections>
|
|
77
|
+
</menuItem>
|
|
78
|
+
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
|
|
79
|
+
<connections>
|
|
80
|
+
<action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
|
|
81
|
+
</connections>
|
|
82
|
+
</menuItem>
|
|
83
|
+
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
|
|
84
|
+
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
|
|
85
|
+
<connections>
|
|
86
|
+
<action selector="cut:" target="-1" id="YJe-68-I9s"/>
|
|
87
|
+
</connections>
|
|
88
|
+
</menuItem>
|
|
89
|
+
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
|
|
90
|
+
<connections>
|
|
91
|
+
<action selector="copy:" target="-1" id="G1f-GL-Joy"/>
|
|
92
|
+
</connections>
|
|
93
|
+
</menuItem>
|
|
94
|
+
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
|
|
95
|
+
<connections>
|
|
96
|
+
<action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
|
|
97
|
+
</connections>
|
|
98
|
+
</menuItem>
|
|
99
|
+
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
|
|
100
|
+
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
|
101
|
+
<connections>
|
|
102
|
+
<action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
|
|
103
|
+
</connections>
|
|
104
|
+
</menuItem>
|
|
105
|
+
<menuItem title="Delete" id="pa3-QI-u2k">
|
|
106
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
107
|
+
<connections>
|
|
108
|
+
<action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
|
|
109
|
+
</connections>
|
|
110
|
+
</menuItem>
|
|
111
|
+
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
|
|
112
|
+
<connections>
|
|
113
|
+
<action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
|
|
114
|
+
</connections>
|
|
115
|
+
</menuItem>
|
|
116
|
+
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
|
|
117
|
+
<menuItem title="Find" id="4EN-yA-p0u">
|
|
118
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
119
|
+
<menu key="submenu" title="Find" id="1b7-l0-nxx">
|
|
120
|
+
<items>
|
|
121
|
+
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
|
|
122
|
+
<connections>
|
|
123
|
+
<action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
|
|
124
|
+
</connections>
|
|
125
|
+
</menuItem>
|
|
126
|
+
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
|
|
127
|
+
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
|
128
|
+
<connections>
|
|
129
|
+
<action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
|
|
130
|
+
</connections>
|
|
131
|
+
</menuItem>
|
|
132
|
+
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
|
|
133
|
+
<connections>
|
|
134
|
+
<action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
|
|
135
|
+
</connections>
|
|
136
|
+
</menuItem>
|
|
137
|
+
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
|
|
138
|
+
<connections>
|
|
139
|
+
<action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
|
|
140
|
+
</connections>
|
|
141
|
+
</menuItem>
|
|
142
|
+
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
|
|
143
|
+
<connections>
|
|
144
|
+
<action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
|
|
145
|
+
</connections>
|
|
146
|
+
</menuItem>
|
|
147
|
+
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
|
|
148
|
+
<connections>
|
|
149
|
+
<action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
|
|
150
|
+
</connections>
|
|
151
|
+
</menuItem>
|
|
152
|
+
</items>
|
|
153
|
+
</menu>
|
|
154
|
+
</menuItem>
|
|
155
|
+
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
|
|
156
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
157
|
+
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
|
|
158
|
+
<items>
|
|
159
|
+
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
|
|
160
|
+
<connections>
|
|
161
|
+
<action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
|
|
162
|
+
</connections>
|
|
163
|
+
</menuItem>
|
|
164
|
+
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
|
|
165
|
+
<connections>
|
|
166
|
+
<action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
|
|
167
|
+
</connections>
|
|
168
|
+
</menuItem>
|
|
169
|
+
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
|
|
170
|
+
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
|
|
171
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
172
|
+
<connections>
|
|
173
|
+
<action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
|
|
174
|
+
</connections>
|
|
175
|
+
</menuItem>
|
|
176
|
+
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
|
|
177
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
178
|
+
<connections>
|
|
179
|
+
<action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
|
|
180
|
+
</connections>
|
|
181
|
+
</menuItem>
|
|
182
|
+
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
|
|
183
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
184
|
+
<connections>
|
|
185
|
+
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
|
|
186
|
+
</connections>
|
|
187
|
+
</menuItem>
|
|
188
|
+
</items>
|
|
189
|
+
</menu>
|
|
190
|
+
</menuItem>
|
|
191
|
+
<menuItem title="Substitutions" id="9ic-FL-obx">
|
|
192
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
193
|
+
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
|
|
194
|
+
<items>
|
|
195
|
+
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
|
|
196
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
197
|
+
<connections>
|
|
198
|
+
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
|
|
199
|
+
</connections>
|
|
200
|
+
</menuItem>
|
|
201
|
+
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
|
|
202
|
+
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
|
|
203
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
204
|
+
<connections>
|
|
205
|
+
<action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
|
|
206
|
+
</connections>
|
|
207
|
+
</menuItem>
|
|
208
|
+
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
|
|
209
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
210
|
+
<connections>
|
|
211
|
+
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
|
|
212
|
+
</connections>
|
|
213
|
+
</menuItem>
|
|
214
|
+
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
|
|
215
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
216
|
+
<connections>
|
|
217
|
+
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
|
|
218
|
+
</connections>
|
|
219
|
+
</menuItem>
|
|
220
|
+
<menuItem title="Smart Links" id="cwL-P1-jid">
|
|
221
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
222
|
+
<connections>
|
|
223
|
+
<action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
|
|
224
|
+
</connections>
|
|
225
|
+
</menuItem>
|
|
226
|
+
<menuItem title="Data Detectors" id="tRr-pd-1PS">
|
|
227
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
228
|
+
<connections>
|
|
229
|
+
<action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
|
|
230
|
+
</connections>
|
|
231
|
+
</menuItem>
|
|
232
|
+
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
|
|
233
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
234
|
+
<connections>
|
|
235
|
+
<action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
|
|
236
|
+
</connections>
|
|
237
|
+
</menuItem>
|
|
238
|
+
</items>
|
|
239
|
+
</menu>
|
|
240
|
+
</menuItem>
|
|
241
|
+
<menuItem title="Transformations" id="2oI-Rn-ZJC">
|
|
242
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
243
|
+
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
|
|
244
|
+
<items>
|
|
245
|
+
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
|
|
246
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
247
|
+
<connections>
|
|
248
|
+
<action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
|
|
249
|
+
</connections>
|
|
250
|
+
</menuItem>
|
|
251
|
+
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
|
|
252
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
253
|
+
<connections>
|
|
254
|
+
<action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
|
|
255
|
+
</connections>
|
|
256
|
+
</menuItem>
|
|
257
|
+
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
|
|
258
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
259
|
+
<connections>
|
|
260
|
+
<action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
|
|
261
|
+
</connections>
|
|
262
|
+
</menuItem>
|
|
263
|
+
</items>
|
|
264
|
+
</menu>
|
|
265
|
+
</menuItem>
|
|
266
|
+
<menuItem title="Speech" id="xrE-MZ-jX0">
|
|
267
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
268
|
+
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
|
|
269
|
+
<items>
|
|
270
|
+
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
|
|
271
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
272
|
+
<connections>
|
|
273
|
+
<action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
|
|
274
|
+
</connections>
|
|
275
|
+
</menuItem>
|
|
276
|
+
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
|
|
277
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
278
|
+
<connections>
|
|
279
|
+
<action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
|
|
280
|
+
</connections>
|
|
281
|
+
</menuItem>
|
|
282
|
+
</items>
|
|
283
|
+
</menu>
|
|
284
|
+
</menuItem>
|
|
285
|
+
</items>
|
|
286
|
+
</menu>
|
|
287
|
+
</menuItem>
|
|
288
|
+
<menuItem title="View" id="H8h-7b-M4v">
|
|
289
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
290
|
+
<menu key="submenu" title="View" id="HyV-fh-RgO">
|
|
291
|
+
<items>
|
|
292
|
+
<menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">
|
|
293
|
+
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
|
294
|
+
<connections>
|
|
295
|
+
<action selector="toggleFullScreen:" target="-1" id="dU3-MA-1Rq"/>
|
|
296
|
+
</connections>
|
|
297
|
+
</menuItem>
|
|
298
|
+
</items>
|
|
299
|
+
</menu>
|
|
300
|
+
</menuItem>
|
|
301
|
+
<menuItem title="Window" id="aUF-d1-5bR">
|
|
302
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
303
|
+
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
|
|
304
|
+
<items>
|
|
305
|
+
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
|
|
306
|
+
<connections>
|
|
307
|
+
<action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
|
|
308
|
+
</connections>
|
|
309
|
+
</menuItem>
|
|
310
|
+
<menuItem title="Zoom" id="R4o-n2-Eq4">
|
|
311
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
312
|
+
<connections>
|
|
313
|
+
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
|
|
314
|
+
</connections>
|
|
315
|
+
</menuItem>
|
|
316
|
+
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
|
|
317
|
+
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
|
|
318
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
319
|
+
<connections>
|
|
320
|
+
<action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
|
|
321
|
+
</connections>
|
|
322
|
+
</menuItem>
|
|
323
|
+
</items>
|
|
324
|
+
</menu>
|
|
325
|
+
</menuItem>
|
|
326
|
+
<menuItem title="Help" id="EPT-qC-fAb">
|
|
327
|
+
<modifierMask key="keyEquivalentModifierMask"/>
|
|
328
|
+
<menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/>
|
|
329
|
+
</menuItem>
|
|
330
|
+
</items>
|
|
331
|
+
<point key="canvasLocation" x="142" y="-258"/>
|
|
332
|
+
</menu>
|
|
333
|
+
<window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">
|
|
334
|
+
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
|
335
|
+
<rect key="contentRect" x="335" y="390" width="800" height="600"/>
|
|
336
|
+
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>
|
|
337
|
+
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
|
|
338
|
+
<rect key="frame" x="0.0" y="0.0" width="800" height="600"/>
|
|
339
|
+
<autoresizingMask key="autoresizingMask"/>
|
|
340
|
+
</view>
|
|
341
|
+
</window>
|
|
342
|
+
</objects>
|
|
343
|
+
</document>
|
macos/Runner/Configs/AppInfo.xcconfig
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Application-level settings for the Runner target.
|
|
2
|
+
//
|
|
3
|
+
// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
|
|
4
|
+
// future. If not, the values below would default to using the project name when this becomes a
|
|
5
|
+
// 'flutter create' template.
|
|
6
|
+
|
|
7
|
+
// The application's name. By default this is also the title of the Flutter window.
|
|
8
|
+
PRODUCT_NAME = only_bible_app
|
|
9
|
+
|
|
10
|
+
// The application's bundle identifier
|
|
11
|
+
PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.onlyBibleApp
|
|
12
|
+
|
|
13
|
+
// The copyright displayed in application information
|
|
14
|
+
PRODUCT_COPYRIGHT = Copyright © 2026 sh.pyros. All rights reserved.
|
macos/Runner/Configs/Debug.xcconfig
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#include "../../Flutter/Flutter-Debug.xcconfig"
|
|
2
|
+
#include "Warnings.xcconfig"
|
macos/Runner/Configs/Release.xcconfig
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#include "../../Flutter/Flutter-Release.xcconfig"
|
|
2
|
+
#include "Warnings.xcconfig"
|
macos/Runner/Configs/Warnings.xcconfig
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings
|
|
2
|
+
GCC_WARN_UNDECLARED_SELECTOR = YES
|
|
3
|
+
CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES
|
|
4
|
+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
|
|
5
|
+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
|
|
6
|
+
CLANG_WARN_PRAGMA_PACK = YES
|
|
7
|
+
CLANG_WARN_STRICT_PROTOTYPES = YES
|
|
8
|
+
CLANG_WARN_COMMA = YES
|
|
9
|
+
GCC_WARN_STRICT_SELECTOR_MATCH = YES
|
|
10
|
+
CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
|
|
11
|
+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
|
|
12
|
+
GCC_WARN_SHADOW = YES
|
|
13
|
+
CLANG_WARN_UNREACHABLE_CODE = YES
|
macos/Runner/DebugProfile.entitlements
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>com.apple.security.app-sandbox</key>
|
|
6
|
+
<true/>
|
|
7
|
+
<key>com.apple.security.cs.allow-jit</key>
|
|
8
|
+
<true/>
|
|
9
|
+
<key>com.apple.security.network.server</key>
|
|
10
|
+
<true/>
|
|
11
|
+
</dict>
|
|
12
|
+
</plist>
|
macos/Runner/Info.plist
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
7
|
+
<key>CFBundleExecutable</key>
|
|
8
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
9
|
+
<key>CFBundleIconFile</key>
|
|
10
|
+
<string></string>
|
|
11
|
+
<key>CFBundleIdentifier</key>
|
|
12
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
13
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
|
+
<string>6.0</string>
|
|
15
|
+
<key>CFBundleName</key>
|
|
16
|
+
<string>$(PRODUCT_NAME)</string>
|
|
17
|
+
<key>CFBundlePackageType</key>
|
|
18
|
+
<string>APPL</string>
|
|
19
|
+
<key>CFBundleShortVersionString</key>
|
|
20
|
+
<string>$(FLUTTER_BUILD_NAME)</string>
|
|
21
|
+
<key>CFBundleVersion</key>
|
|
22
|
+
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
|
23
|
+
<key>LSMinimumSystemVersion</key>
|
|
24
|
+
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
|
25
|
+
<key>NSHumanReadableCopyright</key>
|
|
26
|
+
<string>$(PRODUCT_COPYRIGHT)</string>
|
|
27
|
+
<key>NSMainNibFile</key>
|
|
28
|
+
<string>MainMenu</string>
|
|
29
|
+
<key>NSPrincipalClass</key>
|
|
30
|
+
<string>NSApplication</string>
|
|
31
|
+
</dict>
|
|
32
|
+
</plist>
|
macos/Runner/MainFlutterWindow.swift
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Cocoa
|
|
2
|
+
import FlutterMacOS
|
|
3
|
+
|
|
4
|
+
class MainFlutterWindow: NSWindow {
|
|
5
|
+
override func awakeFromNib() {
|
|
6
|
+
let flutterViewController = FlutterViewController()
|
|
7
|
+
let windowFrame = self.frame
|
|
8
|
+
self.contentViewController = flutterViewController
|
|
9
|
+
self.setFrame(windowFrame, display: true)
|
|
10
|
+
|
|
11
|
+
RegisterGeneratedPlugins(registry: flutterViewController)
|
|
12
|
+
|
|
13
|
+
super.awakeFromNib()
|
|
14
|
+
}
|
|
15
|
+
}
|
macos/Runner/Release.entitlements
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>com.apple.security.app-sandbox</key>
|
|
6
|
+
<true/>
|
|
7
|
+
</dict>
|
|
8
|
+
</plist>
|
macos/RunnerTests/RunnerTests.swift
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Cocoa
|
|
2
|
+
import FlutterMacOS
|
|
3
|
+
import XCTest
|
|
4
|
+
|
|
5
|
+
class RunnerTests: XCTestCase {
|
|
6
|
+
|
|
7
|
+
func testExample() {
|
|
8
|
+
// If you add code to the Runner application, consider adding tests here.
|
|
9
|
+
// See https://developer.apple.com/documentation/xctest for more information about using XCTest.
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
}
|
pubspec.lock
CHANGED
|
@@ -5,50 +5,58 @@ packages:
|
|
|
5
5
|
dependency: transitive
|
|
6
6
|
description:
|
|
7
7
|
name: _fe_analyzer_shared
|
|
8
|
-
sha256:
|
|
8
|
+
sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d"
|
|
9
9
|
url: "https://pub.dev"
|
|
10
10
|
source: hosted
|
|
11
|
-
version: "
|
|
11
|
+
version: "93.0.0"
|
|
12
12
|
analyzer:
|
|
13
13
|
dependency: transitive
|
|
14
14
|
description:
|
|
15
15
|
name: analyzer
|
|
16
|
-
sha256:
|
|
16
|
+
sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b
|
|
17
17
|
url: "https://pub.dev"
|
|
18
18
|
source: hosted
|
|
19
|
+
version: "10.0.1"
|
|
20
|
+
ansicolor:
|
|
21
|
+
dependency: transitive
|
|
22
|
+
description:
|
|
23
|
+
name: ansicolor
|
|
24
|
+
sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f"
|
|
25
|
+
url: "https://pub.dev"
|
|
26
|
+
source: hosted
|
|
19
|
-
version: "
|
|
27
|
+
version: "2.0.3"
|
|
20
28
|
app_review:
|
|
21
29
|
dependency: "direct main"
|
|
22
30
|
description:
|
|
23
31
|
name: app_review
|
|
24
|
-
sha256: "
|
|
32
|
+
sha256: "5931c84727c5f5a9cfdb5a40dbd63f2f0ece4157f9a6338fbb5c66d6e71f675e"
|
|
25
33
|
url: "https://pub.dev"
|
|
26
34
|
source: hosted
|
|
27
|
-
version: "
|
|
35
|
+
version: "3.0.0"
|
|
28
36
|
archive:
|
|
29
37
|
dependency: transitive
|
|
30
38
|
description:
|
|
31
39
|
name: archive
|
|
32
|
-
sha256:
|
|
40
|
+
sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff
|
|
33
41
|
url: "https://pub.dev"
|
|
34
42
|
source: hosted
|
|
35
|
-
version: "
|
|
43
|
+
version: "4.0.9"
|
|
36
44
|
args:
|
|
37
45
|
dependency: transitive
|
|
38
46
|
description:
|
|
39
47
|
name: args
|
|
40
|
-
sha256:
|
|
48
|
+
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
|
|
41
49
|
url: "https://pub.dev"
|
|
42
50
|
source: hosted
|
|
43
|
-
version: "2.
|
|
51
|
+
version: "2.7.0"
|
|
44
52
|
async:
|
|
45
53
|
dependency: transitive
|
|
46
54
|
description:
|
|
47
55
|
name: async
|
|
48
|
-
sha256: "
|
|
56
|
+
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
|
|
49
57
|
url: "https://pub.dev"
|
|
50
58
|
source: hosted
|
|
51
|
-
version: "2.
|
|
59
|
+
version: "2.13.0"
|
|
52
60
|
atoms_state:
|
|
53
61
|
dependency: "direct main"
|
|
54
62
|
description:
|
|
@@ -61,66 +69,50 @@ packages:
|
|
|
61
69
|
dependency: transitive
|
|
62
70
|
description:
|
|
63
71
|
name: audio_session
|
|
64
|
-
sha256: "
|
|
72
|
+
sha256: "7217b229db57cc4dc577a8abb56b7429a5a212b978517a5be578704bfe5e568b"
|
|
65
73
|
url: "https://pub.dev"
|
|
66
74
|
source: hosted
|
|
67
|
-
version: "0.
|
|
75
|
+
version: "0.2.3"
|
|
68
76
|
boolean_selector:
|
|
69
77
|
dependency: transitive
|
|
70
78
|
description:
|
|
71
79
|
name: boolean_selector
|
|
72
|
-
sha256: "
|
|
80
|
+
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
|
|
73
81
|
url: "https://pub.dev"
|
|
74
82
|
source: hosted
|
|
75
|
-
version: "2.1.
|
|
83
|
+
version: "2.1.2"
|
|
76
84
|
build:
|
|
77
85
|
dependency: transitive
|
|
78
86
|
description:
|
|
79
87
|
name: build
|
|
80
|
-
sha256:
|
|
88
|
+
sha256: aadd943f4f8cc946882c954c187e6115a84c98c81ad1d9c6cbf0895a8c85da9c
|
|
81
89
|
url: "https://pub.dev"
|
|
82
90
|
source: hosted
|
|
83
|
-
version: "
|
|
91
|
+
version: "4.0.5"
|
|
84
92
|
build_config:
|
|
85
93
|
dependency: transitive
|
|
86
94
|
description:
|
|
87
95
|
name: build_config
|
|
88
|
-
sha256:
|
|
96
|
+
sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71"
|
|
89
97
|
url: "https://pub.dev"
|
|
90
98
|
source: hosted
|
|
91
|
-
version: "1.
|
|
99
|
+
version: "1.3.0"
|
|
92
100
|
build_daemon:
|
|
93
101
|
dependency: transitive
|
|
94
102
|
description:
|
|
95
103
|
name: build_daemon
|
|
96
|
-
sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65"
|
|
97
|
-
url: "https://pub.dev"
|
|
98
|
-
source: hosted
|
|
99
|
-
version: "4.0.0"
|
|
100
|
-
build_resolvers:
|
|
101
|
-
dependency: transitive
|
|
102
|
-
description:
|
|
103
|
-
name: build_resolvers
|
|
104
|
-
sha256:
|
|
104
|
+
sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957
|
|
105
105
|
url: "https://pub.dev"
|
|
106
106
|
source: hosted
|
|
107
|
-
version: "
|
|
107
|
+
version: "4.1.1"
|
|
108
108
|
build_runner:
|
|
109
|
-
dependency:
|
|
109
|
+
dependency: "direct dev"
|
|
110
110
|
description:
|
|
111
111
|
name: build_runner
|
|
112
|
-
sha256: "
|
|
112
|
+
sha256: "521daf8d189deb79ba474e43a696b41c49fb3987818dbacf3308f1e03673a75e"
|
|
113
|
-
url: "https://pub.dev"
|
|
114
|
-
source: hosted
|
|
115
|
-
version: "2.4.6"
|
|
116
|
-
build_runner_core:
|
|
117
|
-
dependency: transitive
|
|
118
|
-
description:
|
|
119
|
-
name: build_runner_core
|
|
120
|
-
sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41"
|
|
121
113
|
url: "https://pub.dev"
|
|
122
114
|
source: hosted
|
|
123
|
-
version: "
|
|
115
|
+
version: "2.13.1"
|
|
124
116
|
built_collection:
|
|
125
117
|
dependency: transitive
|
|
126
118
|
description:
|
|
@@ -133,154 +125,186 @@ packages:
|
|
|
133
125
|
dependency: transitive
|
|
134
126
|
description:
|
|
135
127
|
name: built_value
|
|
136
|
-
sha256: "
|
|
128
|
+
sha256: "6ae8a6435a8c6520c7077b107e77f1fb4ba7009633259a4d49a8afd8e7efc5e9"
|
|
137
129
|
url: "https://pub.dev"
|
|
138
130
|
source: hosted
|
|
139
|
-
version: "8.
|
|
131
|
+
version: "8.12.4"
|
|
140
132
|
characters:
|
|
141
133
|
dependency: transitive
|
|
142
134
|
description:
|
|
143
135
|
name: characters
|
|
144
|
-
sha256:
|
|
136
|
+
sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
|
|
145
137
|
url: "https://pub.dev"
|
|
146
138
|
source: hosted
|
|
147
|
-
version: "1.
|
|
139
|
+
version: "1.4.1"
|
|
148
140
|
checked_yaml:
|
|
149
141
|
dependency: transitive
|
|
150
142
|
description:
|
|
151
143
|
name: checked_yaml
|
|
152
|
-
sha256:
|
|
144
|
+
sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
|
|
153
145
|
url: "https://pub.dev"
|
|
154
146
|
source: hosted
|
|
155
|
-
version: "2.0.
|
|
147
|
+
version: "2.0.4"
|
|
148
|
+
cli_config:
|
|
149
|
+
dependency: transitive
|
|
150
|
+
description:
|
|
151
|
+
name: cli_config
|
|
152
|
+
sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
|
|
153
|
+
url: "https://pub.dev"
|
|
154
|
+
source: hosted
|
|
155
|
+
version: "0.2.0"
|
|
156
156
|
cli_util:
|
|
157
157
|
dependency: transitive
|
|
158
158
|
description:
|
|
159
159
|
name: cli_util
|
|
160
|
-
sha256:
|
|
160
|
+
sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
|
|
161
161
|
url: "https://pub.dev"
|
|
162
162
|
source: hosted
|
|
163
|
-
version: "0.4.
|
|
163
|
+
version: "0.4.2"
|
|
164
164
|
clock:
|
|
165
165
|
dependency: transitive
|
|
166
166
|
description:
|
|
167
167
|
name: clock
|
|
168
|
-
sha256:
|
|
168
|
+
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
|
|
169
169
|
url: "https://pub.dev"
|
|
170
170
|
source: hosted
|
|
171
|
-
version: "1.1.
|
|
171
|
+
version: "1.1.2"
|
|
172
|
+
code_assets:
|
|
173
|
+
dependency: transitive
|
|
174
|
+
description:
|
|
175
|
+
name: code_assets
|
|
176
|
+
sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687"
|
|
177
|
+
url: "https://pub.dev"
|
|
178
|
+
source: hosted
|
|
179
|
+
version: "1.0.0"
|
|
172
180
|
code_builder:
|
|
173
181
|
dependency: transitive
|
|
174
182
|
description:
|
|
175
183
|
name: code_builder
|
|
176
|
-
sha256: "
|
|
184
|
+
sha256: "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d"
|
|
177
185
|
url: "https://pub.dev"
|
|
178
186
|
source: hosted
|
|
179
|
-
version: "4.
|
|
187
|
+
version: "4.11.1"
|
|
180
188
|
collection:
|
|
181
189
|
dependency: transitive
|
|
182
190
|
description:
|
|
183
191
|
name: collection
|
|
192
|
+
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
|
|
193
|
+
url: "https://pub.dev"
|
|
194
|
+
source: hosted
|
|
195
|
+
version: "1.19.1"
|
|
196
|
+
color:
|
|
197
|
+
dependency: transitive
|
|
198
|
+
description:
|
|
199
|
+
name: color
|
|
184
|
-
sha256:
|
|
200
|
+
sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb
|
|
185
201
|
url: "https://pub.dev"
|
|
186
202
|
source: hosted
|
|
187
|
-
version: "
|
|
203
|
+
version: "3.0.0"
|
|
188
204
|
convert:
|
|
189
205
|
dependency: transitive
|
|
190
206
|
description:
|
|
191
207
|
name: convert
|
|
192
|
-
sha256:
|
|
208
|
+
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
|
|
193
209
|
url: "https://pub.dev"
|
|
194
210
|
source: hosted
|
|
195
|
-
version: "3.1.
|
|
211
|
+
version: "3.1.2"
|
|
196
212
|
coverage:
|
|
197
213
|
dependency: transitive
|
|
198
214
|
description:
|
|
199
215
|
name: coverage
|
|
200
|
-
sha256: "
|
|
216
|
+
sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d"
|
|
201
217
|
url: "https://pub.dev"
|
|
202
218
|
source: hosted
|
|
203
|
-
version: "1.
|
|
219
|
+
version: "1.15.0"
|
|
204
220
|
cross_file:
|
|
205
221
|
dependency: transitive
|
|
206
222
|
description:
|
|
207
223
|
name: cross_file
|
|
208
|
-
sha256: "
|
|
224
|
+
sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937"
|
|
209
225
|
url: "https://pub.dev"
|
|
210
226
|
source: hosted
|
|
211
|
-
version: "0.3.
|
|
227
|
+
version: "0.3.5+2"
|
|
212
228
|
crypto:
|
|
213
229
|
dependency: transitive
|
|
214
230
|
description:
|
|
215
231
|
name: crypto
|
|
216
|
-
sha256:
|
|
232
|
+
sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
|
|
217
233
|
url: "https://pub.dev"
|
|
218
234
|
source: hosted
|
|
219
|
-
version: "3.0.
|
|
235
|
+
version: "3.0.7"
|
|
220
236
|
csslib:
|
|
221
237
|
dependency: transitive
|
|
222
238
|
description:
|
|
223
239
|
name: csslib
|
|
224
|
-
sha256: "
|
|
240
|
+
sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e"
|
|
225
241
|
url: "https://pub.dev"
|
|
226
242
|
source: hosted
|
|
227
|
-
version: "1.0.
|
|
243
|
+
version: "1.0.2"
|
|
228
244
|
cupertino_icons:
|
|
229
245
|
dependency: "direct main"
|
|
230
246
|
description:
|
|
231
247
|
name: cupertino_icons
|
|
232
|
-
sha256:
|
|
248
|
+
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
|
|
233
249
|
url: "https://pub.dev"
|
|
234
250
|
source: hosted
|
|
235
|
-
version: "1.0.
|
|
251
|
+
version: "1.0.8"
|
|
236
252
|
dart_style:
|
|
237
253
|
dependency: transitive
|
|
238
254
|
description:
|
|
239
255
|
name: dart_style
|
|
240
|
-
sha256: "
|
|
256
|
+
sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2"
|
|
241
257
|
url: "https://pub.dev"
|
|
242
258
|
source: hosted
|
|
243
|
-
version: "
|
|
259
|
+
version: "3.1.7"
|
|
260
|
+
dartx:
|
|
261
|
+
dependency: transitive
|
|
262
|
+
description:
|
|
263
|
+
name: dartx
|
|
264
|
+
sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244"
|
|
265
|
+
url: "https://pub.dev"
|
|
266
|
+
source: hosted
|
|
267
|
+
version: "1.2.0"
|
|
244
268
|
equatable:
|
|
245
269
|
dependency: transitive
|
|
246
270
|
description:
|
|
247
271
|
name: equatable
|
|
248
|
-
sha256:
|
|
272
|
+
sha256: "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b"
|
|
249
273
|
url: "https://pub.dev"
|
|
250
274
|
source: hosted
|
|
251
|
-
version: "2.0.
|
|
275
|
+
version: "2.0.8"
|
|
252
276
|
fake_async:
|
|
253
277
|
dependency: transitive
|
|
254
278
|
description:
|
|
255
279
|
name: fake_async
|
|
256
|
-
sha256: "
|
|
280
|
+
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
|
|
257
281
|
url: "https://pub.dev"
|
|
258
282
|
source: hosted
|
|
259
|
-
version: "1.3.
|
|
283
|
+
version: "1.3.3"
|
|
260
284
|
ffi:
|
|
261
285
|
dependency: transitive
|
|
262
286
|
description:
|
|
263
287
|
name: ffi
|
|
264
|
-
sha256:
|
|
288
|
+
sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45"
|
|
265
289
|
url: "https://pub.dev"
|
|
266
290
|
source: hosted
|
|
267
|
-
version: "2.
|
|
291
|
+
version: "2.2.0"
|
|
268
292
|
file:
|
|
269
293
|
dependency: transitive
|
|
270
294
|
description:
|
|
271
295
|
name: file
|
|
272
|
-
sha256:
|
|
296
|
+
sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
|
|
273
297
|
url: "https://pub.dev"
|
|
274
298
|
source: hosted
|
|
275
|
-
version: "7.0.
|
|
299
|
+
version: "7.0.1"
|
|
276
300
|
fixnum:
|
|
277
301
|
dependency: transitive
|
|
278
302
|
description:
|
|
279
303
|
name: fixnum
|
|
280
|
-
sha256:
|
|
304
|
+
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
|
|
281
305
|
url: "https://pub.dev"
|
|
282
306
|
source: hosted
|
|
283
|
-
version: "1.1.
|
|
307
|
+
version: "1.1.1"
|
|
284
308
|
flutter:
|
|
285
309
|
dependency: "direct main"
|
|
286
310
|
description: flutter
|
|
@@ -290,31 +314,47 @@ packages:
|
|
|
290
314
|
dependency: "direct main"
|
|
291
315
|
description:
|
|
292
316
|
name: flutter_azure_tts
|
|
293
|
-
sha256:
|
|
317
|
+
sha256: "130b1bb36de0ef5e090d76d172920b63e7381fd85eb6acf76a2cbbc6de2859ea"
|
|
294
318
|
url: "https://pub.dev"
|
|
295
319
|
source: hosted
|
|
296
|
-
version: "
|
|
320
|
+
version: "1.0.0"
|
|
297
321
|
flutter_driver:
|
|
298
322
|
dependency: transitive
|
|
299
323
|
description: flutter
|
|
300
324
|
source: sdk
|
|
301
325
|
version: "0.0.0"
|
|
326
|
+
flutter_gen_core:
|
|
327
|
+
dependency: transitive
|
|
328
|
+
description:
|
|
329
|
+
name: flutter_gen_core
|
|
330
|
+
sha256: "22b3198a4cb1255841a3662b41adad35d36d9037fcd9d129858240030417e0b1"
|
|
331
|
+
url: "https://pub.dev"
|
|
332
|
+
source: hosted
|
|
333
|
+
version: "5.13.0+1"
|
|
334
|
+
flutter_gen_runner:
|
|
335
|
+
dependency: "direct dev"
|
|
336
|
+
description:
|
|
337
|
+
name: flutter_gen_runner
|
|
338
|
+
sha256: "83fd55f5472a955725c5912819847e9770c4f295cd0ae4bdd26d99853f8a6546"
|
|
339
|
+
url: "https://pub.dev"
|
|
340
|
+
source: hosted
|
|
341
|
+
version: "5.13.0+1"
|
|
302
342
|
flutter_launcher_icons:
|
|
303
343
|
dependency: "direct dev"
|
|
304
344
|
description:
|
|
305
345
|
name: flutter_launcher_icons
|
|
306
|
-
sha256: "
|
|
346
|
+
sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7"
|
|
307
347
|
url: "https://pub.dev"
|
|
308
348
|
source: hosted
|
|
309
|
-
version: "0.
|
|
349
|
+
version: "0.14.4"
|
|
310
350
|
flutter_lints:
|
|
311
351
|
dependency: "direct dev"
|
|
312
352
|
description:
|
|
313
353
|
name: flutter_lints
|
|
314
|
-
sha256: "
|
|
354
|
+
sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
|
|
315
355
|
url: "https://pub.dev"
|
|
316
356
|
source: hosted
|
|
317
|
-
version: "
|
|
357
|
+
version: "6.0.0"
|
|
318
358
|
flutter_localizations:
|
|
319
359
|
dependency: "direct main"
|
|
320
360
|
description: flutter
|
|
@@ -324,10 +364,10 @@ packages:
|
|
|
324
364
|
dependency: "direct main"
|
|
325
365
|
description:
|
|
326
366
|
name: flutter_native_splash
|
|
327
|
-
sha256:
|
|
367
|
+
sha256: "4fb9f4113350d3a80841ce05ebf1976a36de622af7d19aca0ca9a9911c7ff002"
|
|
328
368
|
url: "https://pub.dev"
|
|
329
369
|
source: hosted
|
|
330
|
-
version: "2.
|
|
370
|
+
version: "2.4.7"
|
|
331
371
|
flutter_swipe_detector:
|
|
332
372
|
dependency: "direct main"
|
|
333
373
|
description:
|
|
@@ -350,10 +390,10 @@ packages:
|
|
|
350
390
|
dependency: transitive
|
|
351
391
|
description:
|
|
352
392
|
name: frontend_server_client
|
|
353
|
-
sha256:
|
|
393
|
+
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
|
|
354
394
|
url: "https://pub.dev"
|
|
355
395
|
source: hosted
|
|
356
|
-
version: "
|
|
396
|
+
version: "4.0.0"
|
|
357
397
|
fuchsia_remote_debug_protocol:
|
|
358
398
|
dependency: transitive
|
|
359
399
|
description: flutter
|
|
@@ -363,10 +403,10 @@ packages:
|
|
|
363
403
|
dependency: transitive
|
|
364
404
|
description:
|
|
365
405
|
name: get
|
|
366
|
-
sha256: "
|
|
406
|
+
sha256: "5ed34a7925b85336e15d472cc4cfe7d9ebf4ab8e8b9f688585bf6b50f4c3d79a"
|
|
367
407
|
url: "https://pub.dev"
|
|
368
408
|
source: hosted
|
|
369
|
-
version: "4.
|
|
409
|
+
version: "4.7.3"
|
|
370
410
|
get_storage:
|
|
371
411
|
dependency: "direct main"
|
|
372
412
|
description:
|
|
@@ -379,58 +419,82 @@ packages:
|
|
|
379
419
|
dependency: transitive
|
|
380
420
|
description:
|
|
381
421
|
name: glob
|
|
382
|
-
sha256:
|
|
422
|
+
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
|
|
383
423
|
url: "https://pub.dev"
|
|
384
424
|
source: hosted
|
|
385
|
-
version: "2.1.
|
|
425
|
+
version: "2.1.3"
|
|
386
426
|
graphs:
|
|
387
427
|
dependency: transitive
|
|
388
428
|
description:
|
|
389
429
|
name: graphs
|
|
390
|
-
sha256:
|
|
430
|
+
sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
|
|
391
431
|
url: "https://pub.dev"
|
|
392
432
|
source: hosted
|
|
393
|
-
version: "2.3.
|
|
433
|
+
version: "2.3.2"
|
|
434
|
+
hashcodes:
|
|
435
|
+
dependency: transitive
|
|
436
|
+
description:
|
|
437
|
+
name: hashcodes
|
|
438
|
+
sha256: "80f9410a5b3c8e110c4b7604546034749259f5d6dcca63e0d3c17c9258f1a651"
|
|
439
|
+
url: "https://pub.dev"
|
|
440
|
+
source: hosted
|
|
441
|
+
version: "2.0.0"
|
|
394
|
-
|
|
442
|
+
hooks:
|
|
395
443
|
dependency: transitive
|
|
444
|
+
description:
|
|
445
|
+
name: hooks
|
|
446
|
+
sha256: e79ed1e8e1929bc6ecb6ec85f0cb519c887aa5b423705ded0d0f2d9226def388
|
|
447
|
+
url: "https://pub.dev"
|
|
448
|
+
source: hosted
|
|
449
|
+
version: "1.0.2"
|
|
450
|
+
html:
|
|
451
|
+
dependency: "direct dev"
|
|
396
452
|
description:
|
|
397
453
|
name: html
|
|
398
|
-
sha256: "
|
|
454
|
+
sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602"
|
|
399
455
|
url: "https://pub.dev"
|
|
400
456
|
source: hosted
|
|
401
|
-
version: "0.15.
|
|
457
|
+
version: "0.15.6"
|
|
402
458
|
http:
|
|
403
459
|
dependency: "direct main"
|
|
404
460
|
description:
|
|
405
461
|
name: http
|
|
406
|
-
sha256: "
|
|
462
|
+
sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
|
|
407
463
|
url: "https://pub.dev"
|
|
408
464
|
source: hosted
|
|
409
|
-
version: "
|
|
465
|
+
version: "1.6.0"
|
|
410
466
|
http_multi_server:
|
|
411
467
|
dependency: transitive
|
|
412
468
|
description:
|
|
413
469
|
name: http_multi_server
|
|
414
|
-
sha256:
|
|
470
|
+
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
|
|
415
471
|
url: "https://pub.dev"
|
|
416
472
|
source: hosted
|
|
417
|
-
version: "3.2.
|
|
473
|
+
version: "3.2.2"
|
|
418
474
|
http_parser:
|
|
419
475
|
dependency: transitive
|
|
420
476
|
description:
|
|
421
477
|
name: http_parser
|
|
422
|
-
sha256: "
|
|
478
|
+
sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
|
|
423
479
|
url: "https://pub.dev"
|
|
424
480
|
source: hosted
|
|
425
|
-
version: "4.
|
|
481
|
+
version: "4.1.2"
|
|
426
482
|
image:
|
|
427
483
|
dependency: transitive
|
|
428
484
|
description:
|
|
429
485
|
name: image
|
|
430
|
-
sha256:
|
|
486
|
+
sha256: f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce
|
|
487
|
+
url: "https://pub.dev"
|
|
488
|
+
source: hosted
|
|
489
|
+
version: "4.8.0"
|
|
490
|
+
image_size_getter:
|
|
491
|
+
dependency: transitive
|
|
492
|
+
description:
|
|
493
|
+
name: image_size_getter
|
|
494
|
+
sha256: "7c26937e0ae341ca558b7556591fd0cc456fcc454583b7cb665d2f03e93e590f"
|
|
431
495
|
url: "https://pub.dev"
|
|
432
496
|
source: hosted
|
|
433
|
-
version: "4.
|
|
497
|
+
version: "2.4.1"
|
|
434
498
|
integration_test:
|
|
435
499
|
dependency: "direct dev"
|
|
436
500
|
description: flutter
|
|
@@ -440,130 +504,130 @@ packages:
|
|
|
440
504
|
dependency: "direct main"
|
|
441
505
|
description:
|
|
442
506
|
name: intl
|
|
443
|
-
sha256: "
|
|
507
|
+
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
|
|
444
508
|
url: "https://pub.dev"
|
|
445
509
|
source: hosted
|
|
446
|
-
version: "0.
|
|
510
|
+
version: "0.20.2"
|
|
447
511
|
io:
|
|
448
512
|
dependency: transitive
|
|
449
513
|
description:
|
|
450
514
|
name: io
|
|
451
|
-
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
|
|
452
|
-
url: "https://pub.dev"
|
|
453
|
-
source: hosted
|
|
454
|
-
version: "1.0.4"
|
|
455
|
-
js:
|
|
456
|
-
dependency: transitive
|
|
457
|
-
description:
|
|
458
|
-
name: js
|
|
459
|
-
sha256:
|
|
515
|
+
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
|
|
460
516
|
url: "https://pub.dev"
|
|
461
517
|
source: hosted
|
|
462
|
-
version: "0.
|
|
518
|
+
version: "1.0.5"
|
|
463
519
|
json_annotation:
|
|
464
520
|
dependency: transitive
|
|
465
521
|
description:
|
|
466
522
|
name: json_annotation
|
|
467
|
-
sha256:
|
|
523
|
+
sha256: cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8
|
|
468
524
|
url: "https://pub.dev"
|
|
469
525
|
source: hosted
|
|
470
|
-
version: "4.
|
|
526
|
+
version: "4.11.0"
|
|
471
527
|
just_audio:
|
|
472
528
|
dependency: "direct main"
|
|
473
529
|
description:
|
|
474
530
|
name: just_audio
|
|
475
|
-
sha256: "
|
|
531
|
+
sha256: "9694e4734f515f2a052493d1d7e0d6de219ee0427c7c29492e246ff32a219908"
|
|
476
532
|
url: "https://pub.dev"
|
|
477
533
|
source: hosted
|
|
478
|
-
version: "0.
|
|
534
|
+
version: "0.10.5"
|
|
479
535
|
just_audio_platform_interface:
|
|
480
536
|
dependency: transitive
|
|
481
537
|
description:
|
|
482
538
|
name: just_audio_platform_interface
|
|
483
|
-
sha256:
|
|
539
|
+
sha256: "2532c8d6702528824445921c5ff10548b518b13f808c2e34c2fd54793b999a6a"
|
|
484
540
|
url: "https://pub.dev"
|
|
485
541
|
source: hosted
|
|
486
|
-
version: "4.
|
|
542
|
+
version: "4.6.0"
|
|
487
543
|
just_audio_web:
|
|
488
544
|
dependency: transitive
|
|
489
545
|
description:
|
|
490
546
|
name: just_audio_web
|
|
491
|
-
sha256:
|
|
547
|
+
sha256: "6ba8a2a7e87d57d32f0f7b42856ade3d6a9fbe0f1a11fabae0a4f00bb73f0663"
|
|
492
548
|
url: "https://pub.dev"
|
|
493
549
|
source: hosted
|
|
494
|
-
version: "0.4.
|
|
550
|
+
version: "0.4.16"
|
|
495
551
|
leak_tracker:
|
|
496
552
|
dependency: transitive
|
|
497
553
|
description:
|
|
498
554
|
name: leak_tracker
|
|
499
|
-
sha256: "
|
|
555
|
+
sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
|
|
500
556
|
url: "https://pub.dev"
|
|
501
557
|
source: hosted
|
|
502
|
-
version: "
|
|
558
|
+
version: "11.0.2"
|
|
503
559
|
leak_tracker_flutter_testing:
|
|
504
560
|
dependency: transitive
|
|
505
561
|
description:
|
|
506
562
|
name: leak_tracker_flutter_testing
|
|
507
|
-
sha256:
|
|
563
|
+
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
|
|
508
564
|
url: "https://pub.dev"
|
|
509
565
|
source: hosted
|
|
510
|
-
version: "
|
|
566
|
+
version: "3.0.10"
|
|
511
567
|
leak_tracker_testing:
|
|
512
568
|
dependency: transitive
|
|
513
569
|
description:
|
|
514
570
|
name: leak_tracker_testing
|
|
515
|
-
sha256:
|
|
571
|
+
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
|
|
516
572
|
url: "https://pub.dev"
|
|
517
573
|
source: hosted
|
|
518
|
-
version: "
|
|
574
|
+
version: "3.0.2"
|
|
519
575
|
lints:
|
|
520
576
|
dependency: transitive
|
|
521
577
|
description:
|
|
522
578
|
name: lints
|
|
523
|
-
sha256: "
|
|
579
|
+
sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
|
|
524
580
|
url: "https://pub.dev"
|
|
525
581
|
source: hosted
|
|
526
|
-
version: "
|
|
582
|
+
version: "6.1.0"
|
|
527
583
|
logging:
|
|
528
584
|
dependency: transitive
|
|
529
585
|
description:
|
|
530
586
|
name: logging
|
|
531
|
-
sha256:
|
|
587
|
+
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
|
|
532
588
|
url: "https://pub.dev"
|
|
533
589
|
source: hosted
|
|
534
|
-
version: "1.
|
|
590
|
+
version: "1.3.0"
|
|
535
591
|
matcher:
|
|
536
592
|
dependency: transitive
|
|
537
593
|
description:
|
|
538
594
|
name: matcher
|
|
539
|
-
sha256:
|
|
595
|
+
sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861
|
|
540
596
|
url: "https://pub.dev"
|
|
541
597
|
source: hosted
|
|
542
|
-
version: "0.12.
|
|
598
|
+
version: "0.12.19"
|
|
543
599
|
material_color_utilities:
|
|
544
600
|
dependency: transitive
|
|
545
601
|
description:
|
|
546
602
|
name: material_color_utilities
|
|
547
|
-
sha256: "
|
|
603
|
+
sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
|
|
548
604
|
url: "https://pub.dev"
|
|
549
605
|
source: hosted
|
|
550
|
-
version: "0.
|
|
606
|
+
version: "0.13.0"
|
|
551
607
|
meta:
|
|
552
608
|
dependency: transitive
|
|
553
609
|
description:
|
|
554
610
|
name: meta
|
|
555
|
-
sha256:
|
|
611
|
+
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
|
|
556
612
|
url: "https://pub.dev"
|
|
557
613
|
source: hosted
|
|
558
|
-
version: "1.
|
|
614
|
+
version: "1.17.0"
|
|
559
615
|
mime:
|
|
560
616
|
dependency: transitive
|
|
561
617
|
description:
|
|
562
618
|
name: mime
|
|
563
|
-
sha256:
|
|
619
|
+
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
|
|
620
|
+
url: "https://pub.dev"
|
|
621
|
+
source: hosted
|
|
622
|
+
version: "2.0.0"
|
|
623
|
+
native_toolchain_c:
|
|
624
|
+
dependency: transitive
|
|
625
|
+
description:
|
|
626
|
+
name: native_toolchain_c
|
|
627
|
+
sha256: "6ba77bb18063eebe9de401f5e6437e95e1438af0a87a3a39084fbd37c90df572"
|
|
564
628
|
url: "https://pub.dev"
|
|
565
629
|
source: hosted
|
|
566
|
-
version: "
|
|
630
|
+
version: "0.17.6"
|
|
567
631
|
node_preamble:
|
|
568
632
|
dependency: transitive
|
|
569
633
|
description:
|
|
@@ -572,110 +636,118 @@ packages:
|
|
|
572
636
|
url: "https://pub.dev"
|
|
573
637
|
source: hosted
|
|
574
638
|
version: "2.0.2"
|
|
575
|
-
|
|
639
|
+
objective_c:
|
|
576
640
|
dependency: transitive
|
|
577
641
|
description:
|
|
578
|
-
name:
|
|
642
|
+
name: objective_c
|
|
579
|
-
sha256: "
|
|
643
|
+
sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52"
|
|
580
644
|
url: "https://pub.dev"
|
|
581
645
|
source: hosted
|
|
582
|
-
version: "
|
|
646
|
+
version: "9.3.0"
|
|
583
|
-
|
|
647
|
+
package_config:
|
|
584
648
|
dependency: transitive
|
|
585
649
|
description:
|
|
586
|
-
name:
|
|
650
|
+
name: package_config
|
|
587
|
-
sha256:
|
|
651
|
+
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
|
|
588
652
|
url: "https://pub.dev"
|
|
589
653
|
source: hosted
|
|
590
|
-
version: "2.
|
|
654
|
+
version: "2.2.0"
|
|
591
655
|
package_info_plus:
|
|
592
656
|
dependency: "direct main"
|
|
593
657
|
description:
|
|
594
658
|
name: package_info_plus
|
|
595
|
-
sha256:
|
|
659
|
+
sha256: f69da0d3189a4b4ceaeb1a3defb0f329b3b352517f52bed4290f83d4f06bc08d
|
|
596
660
|
url: "https://pub.dev"
|
|
597
661
|
source: hosted
|
|
598
|
-
version: "
|
|
662
|
+
version: "9.0.0"
|
|
599
663
|
package_info_plus_platform_interface:
|
|
600
664
|
dependency: transitive
|
|
601
665
|
description:
|
|
602
666
|
name: package_info_plus_platform_interface
|
|
603
|
-
sha256: "
|
|
667
|
+
sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086"
|
|
604
668
|
url: "https://pub.dev"
|
|
605
669
|
source: hosted
|
|
606
|
-
version: "2.
|
|
670
|
+
version: "3.2.1"
|
|
607
671
|
path:
|
|
608
672
|
dependency: transitive
|
|
609
673
|
description:
|
|
610
674
|
name: path
|
|
675
|
+
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
|
|
676
|
+
url: "https://pub.dev"
|
|
677
|
+
source: hosted
|
|
678
|
+
version: "1.9.1"
|
|
679
|
+
path_parsing:
|
|
680
|
+
dependency: transitive
|
|
681
|
+
description:
|
|
682
|
+
name: path_parsing
|
|
611
|
-
sha256: "
|
|
683
|
+
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
|
|
612
684
|
url: "https://pub.dev"
|
|
613
685
|
source: hosted
|
|
614
|
-
version: "1.
|
|
686
|
+
version: "1.1.0"
|
|
615
687
|
path_provider:
|
|
616
688
|
dependency: "direct main"
|
|
617
689
|
description:
|
|
618
690
|
name: path_provider
|
|
619
|
-
sha256: "
|
|
691
|
+
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
|
|
620
692
|
url: "https://pub.dev"
|
|
621
693
|
source: hosted
|
|
622
|
-
version: "2.
|
|
694
|
+
version: "2.1.5"
|
|
623
695
|
path_provider_android:
|
|
624
696
|
dependency: transitive
|
|
625
697
|
description:
|
|
626
698
|
name: path_provider_android
|
|
627
|
-
sha256:
|
|
699
|
+
sha256: f2c65e21139ce2c3dad46922be8272bb5963516045659e71bb16e151c93b580e
|
|
628
700
|
url: "https://pub.dev"
|
|
629
701
|
source: hosted
|
|
630
|
-
version: "2.
|
|
702
|
+
version: "2.2.22"
|
|
631
703
|
path_provider_foundation:
|
|
632
704
|
dependency: transitive
|
|
633
705
|
description:
|
|
634
706
|
name: path_provider_foundation
|
|
635
|
-
sha256: "
|
|
707
|
+
sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699"
|
|
636
708
|
url: "https://pub.dev"
|
|
637
709
|
source: hosted
|
|
638
|
-
version: "2.
|
|
710
|
+
version: "2.6.0"
|
|
639
711
|
path_provider_linux:
|
|
640
712
|
dependency: transitive
|
|
641
713
|
description:
|
|
642
714
|
name: path_provider_linux
|
|
643
|
-
sha256:
|
|
715
|
+
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
|
644
716
|
url: "https://pub.dev"
|
|
645
717
|
source: hosted
|
|
646
|
-
version: "2.
|
|
718
|
+
version: "2.2.1"
|
|
647
719
|
path_provider_platform_interface:
|
|
648
720
|
dependency: transitive
|
|
649
721
|
description:
|
|
650
722
|
name: path_provider_platform_interface
|
|
651
|
-
sha256:
|
|
723
|
+
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
|
652
724
|
url: "https://pub.dev"
|
|
653
725
|
source: hosted
|
|
654
|
-
version: "2.1.
|
|
726
|
+
version: "2.1.2"
|
|
655
727
|
path_provider_windows:
|
|
656
728
|
dependency: transitive
|
|
657
729
|
description:
|
|
658
730
|
name: path_provider_windows
|
|
659
|
-
sha256:
|
|
731
|
+
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
|
|
660
732
|
url: "https://pub.dev"
|
|
661
733
|
source: hosted
|
|
662
|
-
version: "2.
|
|
734
|
+
version: "2.3.0"
|
|
663
735
|
petitparser:
|
|
664
736
|
dependency: transitive
|
|
665
737
|
description:
|
|
666
738
|
name: petitparser
|
|
667
|
-
sha256:
|
|
739
|
+
sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675"
|
|
668
740
|
url: "https://pub.dev"
|
|
669
741
|
source: hosted
|
|
670
|
-
version: "
|
|
742
|
+
version: "7.0.2"
|
|
671
743
|
platform:
|
|
672
744
|
dependency: transitive
|
|
673
745
|
description:
|
|
674
746
|
name: platform
|
|
675
|
-
sha256: "
|
|
747
|
+
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
|
|
676
748
|
url: "https://pub.dev"
|
|
677
749
|
source: hosted
|
|
678
|
-
version: "3.1.
|
|
750
|
+
version: "3.1.6"
|
|
679
751
|
plugin_platform_interface:
|
|
680
752
|
dependency: transitive
|
|
681
753
|
description:
|
|
@@ -684,54 +756,54 @@ packages:
|
|
|
684
756
|
url: "https://pub.dev"
|
|
685
757
|
source: hosted
|
|
686
758
|
version: "2.1.8"
|
|
687
|
-
|
|
759
|
+
pool:
|
|
688
760
|
dependency: transitive
|
|
689
761
|
description:
|
|
690
|
-
name:
|
|
762
|
+
name: pool
|
|
691
|
-
sha256: "
|
|
763
|
+
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
|
|
692
764
|
url: "https://pub.dev"
|
|
693
765
|
source: hosted
|
|
694
|
-
version: "
|
|
766
|
+
version: "1.5.2"
|
|
695
|
-
|
|
767
|
+
posix:
|
|
696
768
|
dependency: transitive
|
|
697
769
|
description:
|
|
698
|
-
name:
|
|
770
|
+
name: posix
|
|
699
|
-
sha256: "
|
|
771
|
+
sha256: "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07"
|
|
700
772
|
url: "https://pub.dev"
|
|
701
773
|
source: hosted
|
|
702
|
-
version: "
|
|
774
|
+
version: "6.5.0"
|
|
703
775
|
process:
|
|
704
776
|
dependency: transitive
|
|
705
777
|
description:
|
|
706
778
|
name: process
|
|
707
|
-
sha256:
|
|
779
|
+
sha256: c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744
|
|
708
780
|
url: "https://pub.dev"
|
|
709
781
|
source: hosted
|
|
710
|
-
version: "5.0.
|
|
782
|
+
version: "5.0.5"
|
|
711
783
|
pub_semver:
|
|
712
784
|
dependency: transitive
|
|
713
785
|
description:
|
|
714
786
|
name: pub_semver
|
|
715
|
-
sha256: "
|
|
787
|
+
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
|
|
716
788
|
url: "https://pub.dev"
|
|
717
789
|
source: hosted
|
|
718
|
-
version: "2.
|
|
790
|
+
version: "2.2.0"
|
|
719
791
|
pubspec_parse:
|
|
720
792
|
dependency: transitive
|
|
721
793
|
description:
|
|
722
794
|
name: pubspec_parse
|
|
723
|
-
sha256:
|
|
795
|
+
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
|
|
724
796
|
url: "https://pub.dev"
|
|
725
797
|
source: hosted
|
|
726
|
-
version: "1.
|
|
798
|
+
version: "1.5.0"
|
|
727
799
|
rxdart:
|
|
728
800
|
dependency: transitive
|
|
729
801
|
description:
|
|
730
802
|
name: rxdart
|
|
731
|
-
sha256: "
|
|
803
|
+
sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962"
|
|
732
804
|
url: "https://pub.dev"
|
|
733
805
|
source: hosted
|
|
734
|
-
version: "0.
|
|
806
|
+
version: "0.28.0"
|
|
735
807
|
settings_ui:
|
|
736
808
|
dependency: "direct main"
|
|
737
809
|
description:
|
|
@@ -744,82 +816,82 @@ packages:
|
|
|
744
816
|
dependency: "direct main"
|
|
745
817
|
description:
|
|
746
818
|
name: share_plus
|
|
747
|
-
sha256: "
|
|
819
|
+
sha256: "14c8860d4de93d3a7e53af51bff479598c4e999605290756bbbe45cf65b37840"
|
|
748
820
|
url: "https://pub.dev"
|
|
749
821
|
source: hosted
|
|
750
|
-
version: "
|
|
822
|
+
version: "12.0.1"
|
|
751
823
|
share_plus_platform_interface:
|
|
752
824
|
dependency: transitive
|
|
753
825
|
description:
|
|
754
826
|
name: share_plus_platform_interface
|
|
755
|
-
sha256: "
|
|
827
|
+
sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a"
|
|
756
828
|
url: "https://pub.dev"
|
|
757
829
|
source: hosted
|
|
758
|
-
version: "
|
|
830
|
+
version: "6.1.0"
|
|
759
831
|
shared_preferences:
|
|
760
832
|
dependency: "direct main"
|
|
761
833
|
description:
|
|
762
834
|
name: shared_preferences
|
|
763
|
-
sha256: "
|
|
835
|
+
sha256: "2939ae520c9024cb197fc20dee269cd8cdbf564c8b5746374ec6cacdc5169e64"
|
|
764
836
|
url: "https://pub.dev"
|
|
765
837
|
source: hosted
|
|
766
|
-
version: "2.
|
|
838
|
+
version: "2.5.4"
|
|
767
839
|
shared_preferences_android:
|
|
768
840
|
dependency: transitive
|
|
769
841
|
description:
|
|
770
842
|
name: shared_preferences_android
|
|
771
|
-
sha256:
|
|
843
|
+
sha256: "8374d6200ab33ac99031a852eba4c8eb2170c4bf20778b3e2c9eccb45384fb41"
|
|
772
844
|
url: "https://pub.dev"
|
|
773
845
|
source: hosted
|
|
774
|
-
version: "2.
|
|
846
|
+
version: "2.4.21"
|
|
775
847
|
shared_preferences_foundation:
|
|
776
848
|
dependency: transitive
|
|
777
849
|
description:
|
|
778
850
|
name: shared_preferences_foundation
|
|
779
|
-
sha256:
|
|
851
|
+
sha256: "4e7eaffc2b17ba398759f1151415869a34771ba11ebbccd1b0145472a619a64f"
|
|
780
852
|
url: "https://pub.dev"
|
|
781
853
|
source: hosted
|
|
782
|
-
version: "2.
|
|
854
|
+
version: "2.5.6"
|
|
783
855
|
shared_preferences_linux:
|
|
784
856
|
dependency: transitive
|
|
785
857
|
description:
|
|
786
858
|
name: shared_preferences_linux
|
|
787
|
-
sha256: "
|
|
859
|
+
sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
|
|
788
860
|
url: "https://pub.dev"
|
|
789
861
|
source: hosted
|
|
790
|
-
version: "2.
|
|
862
|
+
version: "2.4.1"
|
|
791
863
|
shared_preferences_platform_interface:
|
|
792
864
|
dependency: transitive
|
|
793
865
|
description:
|
|
794
866
|
name: shared_preferences_platform_interface
|
|
795
|
-
sha256: "
|
|
867
|
+
sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80"
|
|
796
868
|
url: "https://pub.dev"
|
|
797
869
|
source: hosted
|
|
798
|
-
version: "2.
|
|
870
|
+
version: "2.4.1"
|
|
799
871
|
shared_preferences_web:
|
|
800
872
|
dependency: transitive
|
|
801
873
|
description:
|
|
802
874
|
name: shared_preferences_web
|
|
803
|
-
sha256:
|
|
875
|
+
sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019
|
|
804
876
|
url: "https://pub.dev"
|
|
805
877
|
source: hosted
|
|
806
|
-
version: "2.
|
|
878
|
+
version: "2.4.3"
|
|
807
879
|
shared_preferences_windows:
|
|
808
880
|
dependency: transitive
|
|
809
881
|
description:
|
|
810
882
|
name: shared_preferences_windows
|
|
811
|
-
sha256: "
|
|
883
|
+
sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
|
|
812
884
|
url: "https://pub.dev"
|
|
813
885
|
source: hosted
|
|
814
|
-
version: "2.
|
|
886
|
+
version: "2.4.1"
|
|
815
887
|
shelf:
|
|
816
888
|
dependency: transitive
|
|
817
889
|
description:
|
|
818
890
|
name: shelf
|
|
819
|
-
sha256:
|
|
891
|
+
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
|
|
820
892
|
url: "https://pub.dev"
|
|
821
893
|
source: hosted
|
|
822
|
-
version: "1.4.
|
|
894
|
+
version: "1.4.2"
|
|
823
895
|
shelf_packages_handler:
|
|
824
896
|
dependency: transitive
|
|
825
897
|
description:
|
|
@@ -832,79 +904,79 @@ packages:
|
|
|
832
904
|
dependency: transitive
|
|
833
905
|
description:
|
|
834
906
|
name: shelf_static
|
|
835
|
-
sha256:
|
|
907
|
+
sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3
|
|
836
908
|
url: "https://pub.dev"
|
|
837
909
|
source: hosted
|
|
838
|
-
version: "1.1.
|
|
910
|
+
version: "1.1.3"
|
|
839
911
|
shelf_web_socket:
|
|
840
912
|
dependency: transitive
|
|
841
913
|
description:
|
|
842
914
|
name: shelf_web_socket
|
|
843
|
-
sha256: "
|
|
915
|
+
sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925"
|
|
844
916
|
url: "https://pub.dev"
|
|
845
917
|
source: hosted
|
|
846
|
-
version: "
|
|
918
|
+
version: "3.0.0"
|
|
847
919
|
sky_engine:
|
|
848
920
|
dependency: transitive
|
|
849
921
|
description: flutter
|
|
850
922
|
source: sdk
|
|
851
|
-
version: "0.0.
|
|
923
|
+
version: "0.0.0"
|
|
852
924
|
source_map_stack_trace:
|
|
853
925
|
dependency: transitive
|
|
854
926
|
description:
|
|
855
927
|
name: source_map_stack_trace
|
|
856
|
-
sha256:
|
|
928
|
+
sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b
|
|
857
929
|
url: "https://pub.dev"
|
|
858
930
|
source: hosted
|
|
859
|
-
version: "2.1.
|
|
931
|
+
version: "2.1.2"
|
|
860
932
|
source_maps:
|
|
861
933
|
dependency: transitive
|
|
862
934
|
description:
|
|
863
935
|
name: source_maps
|
|
864
|
-
sha256: "
|
|
936
|
+
sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
|
|
865
937
|
url: "https://pub.dev"
|
|
866
938
|
source: hosted
|
|
867
|
-
version: "0.10.
|
|
939
|
+
version: "0.10.13"
|
|
868
940
|
source_span:
|
|
869
941
|
dependency: transitive
|
|
870
942
|
description:
|
|
871
943
|
name: source_span
|
|
872
|
-
sha256: "
|
|
944
|
+
sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab"
|
|
873
945
|
url: "https://pub.dev"
|
|
874
946
|
source: hosted
|
|
875
|
-
version: "1.10.
|
|
947
|
+
version: "1.10.2"
|
|
876
948
|
stack_trace:
|
|
877
949
|
dependency: transitive
|
|
878
950
|
description:
|
|
879
951
|
name: stack_trace
|
|
880
|
-
sha256: "
|
|
952
|
+
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
|
|
881
953
|
url: "https://pub.dev"
|
|
882
954
|
source: hosted
|
|
883
|
-
version: "1.
|
|
955
|
+
version: "1.12.1"
|
|
884
956
|
stream_channel:
|
|
885
957
|
dependency: transitive
|
|
886
958
|
description:
|
|
887
959
|
name: stream_channel
|
|
888
|
-
sha256:
|
|
960
|
+
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
|
|
889
961
|
url: "https://pub.dev"
|
|
890
962
|
source: hosted
|
|
891
|
-
version: "2.1.
|
|
963
|
+
version: "2.1.4"
|
|
892
964
|
stream_transform:
|
|
893
965
|
dependency: transitive
|
|
894
966
|
description:
|
|
895
967
|
name: stream_transform
|
|
896
|
-
sha256:
|
|
968
|
+
sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
|
|
897
969
|
url: "https://pub.dev"
|
|
898
970
|
source: hosted
|
|
899
|
-
version: "2.1.
|
|
971
|
+
version: "2.1.1"
|
|
900
972
|
string_scanner:
|
|
901
973
|
dependency: transitive
|
|
902
974
|
description:
|
|
903
975
|
name: string_scanner
|
|
904
|
-
sha256: "
|
|
976
|
+
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
|
|
905
977
|
url: "https://pub.dev"
|
|
906
978
|
source: hosted
|
|
907
|
-
version: "1.
|
|
979
|
+
version: "1.4.1"
|
|
908
980
|
sync_http:
|
|
909
981
|
dependency: transitive
|
|
910
982
|
description:
|
|
@@ -913,246 +985,286 @@ packages:
|
|
|
913
985
|
url: "https://pub.dev"
|
|
914
986
|
source: hosted
|
|
915
987
|
version: "0.3.1"
|
|
988
|
+
synchronized:
|
|
989
|
+
dependency: transitive
|
|
990
|
+
description:
|
|
991
|
+
name: synchronized
|
|
992
|
+
sha256: c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0
|
|
993
|
+
url: "https://pub.dev"
|
|
994
|
+
source: hosted
|
|
995
|
+
version: "3.4.0"
|
|
916
996
|
term_glyph:
|
|
917
997
|
dependency: transitive
|
|
918
998
|
description:
|
|
919
999
|
name: term_glyph
|
|
920
|
-
sha256:
|
|
1000
|
+
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
|
|
921
1001
|
url: "https://pub.dev"
|
|
922
1002
|
source: hosted
|
|
923
|
-
version: "1.2.
|
|
1003
|
+
version: "1.2.2"
|
|
924
1004
|
test:
|
|
925
1005
|
dependency: "direct dev"
|
|
926
1006
|
description:
|
|
927
1007
|
name: test
|
|
928
|
-
sha256:
|
|
1008
|
+
sha256: "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7"
|
|
929
1009
|
url: "https://pub.dev"
|
|
930
1010
|
source: hosted
|
|
931
|
-
version: "1.
|
|
1011
|
+
version: "1.30.0"
|
|
932
1012
|
test_api:
|
|
933
1013
|
dependency: transitive
|
|
934
1014
|
description:
|
|
935
1015
|
name: test_api
|
|
936
|
-
sha256: "
|
|
1016
|
+
sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a"
|
|
937
1017
|
url: "https://pub.dev"
|
|
938
1018
|
source: hosted
|
|
939
|
-
version: "0.
|
|
1019
|
+
version: "0.7.10"
|
|
940
1020
|
test_core:
|
|
941
1021
|
dependency: transitive
|
|
942
1022
|
description:
|
|
943
1023
|
name: test_core
|
|
944
|
-
sha256:
|
|
1024
|
+
sha256: "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51"
|
|
945
1025
|
url: "https://pub.dev"
|
|
946
1026
|
source: hosted
|
|
947
|
-
version: "0.
|
|
1027
|
+
version: "0.6.16"
|
|
948
|
-
|
|
1028
|
+
time:
|
|
949
1029
|
dependency: transitive
|
|
950
1030
|
description:
|
|
951
|
-
name:
|
|
1031
|
+
name: time
|
|
952
|
-
sha256: "
|
|
1032
|
+
sha256: "46187cf30bffdab28c56be9a63861b36e4ab7347bf403297595d6a97e10c789f"
|
|
953
1033
|
url: "https://pub.dev"
|
|
954
1034
|
source: hosted
|
|
955
|
-
version: "
|
|
1035
|
+
version: "2.1.6"
|
|
956
1036
|
typed_data:
|
|
957
1037
|
dependency: transitive
|
|
958
1038
|
description:
|
|
959
1039
|
name: typed_data
|
|
960
|
-
sha256:
|
|
1040
|
+
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
|
|
961
1041
|
url: "https://pub.dev"
|
|
962
1042
|
source: hosted
|
|
963
|
-
version: "1.
|
|
1043
|
+
version: "1.4.0"
|
|
964
1044
|
universal_io:
|
|
965
1045
|
dependency: transitive
|
|
966
1046
|
description:
|
|
967
1047
|
name: universal_io
|
|
968
|
-
sha256:
|
|
1048
|
+
sha256: f63cbc48103236abf48e345e07a03ce5757ea86285ed313a6a032596ed9301e2
|
|
969
1049
|
url: "https://pub.dev"
|
|
970
1050
|
source: hosted
|
|
971
|
-
version: "2.
|
|
1051
|
+
version: "2.3.1"
|
|
972
1052
|
url_launcher:
|
|
973
1053
|
dependency: "direct main"
|
|
974
1054
|
description:
|
|
975
1055
|
name: url_launcher
|
|
976
|
-
sha256:
|
|
1056
|
+
sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
|
|
977
1057
|
url: "https://pub.dev"
|
|
978
1058
|
source: hosted
|
|
979
|
-
version: "6.
|
|
1059
|
+
version: "6.3.2"
|
|
980
1060
|
url_launcher_android:
|
|
981
1061
|
dependency: transitive
|
|
982
1062
|
description:
|
|
983
1063
|
name: url_launcher_android
|
|
984
|
-
sha256: "
|
|
1064
|
+
sha256: "767344bf3063897b5cf0db830e94f904528e6dd50a6dfaf839f0abf509009611"
|
|
985
1065
|
url: "https://pub.dev"
|
|
986
1066
|
source: hosted
|
|
987
|
-
version: "6.
|
|
1067
|
+
version: "6.3.28"
|
|
988
1068
|
url_launcher_ios:
|
|
989
1069
|
dependency: transitive
|
|
990
1070
|
description:
|
|
991
1071
|
name: url_launcher_ios
|
|
992
|
-
sha256: "
|
|
1072
|
+
sha256: "580fe5dfb51671ae38191d316e027f6b76272b026370708c2d898799750a02b0"
|
|
993
1073
|
url: "https://pub.dev"
|
|
994
1074
|
source: hosted
|
|
995
|
-
version: "6.
|
|
1075
|
+
version: "6.4.1"
|
|
996
1076
|
url_launcher_linux:
|
|
997
1077
|
dependency: transitive
|
|
998
1078
|
description:
|
|
999
1079
|
name: url_launcher_linux
|
|
1000
|
-
sha256:
|
|
1080
|
+
sha256: d5e14138b3bc193a0f63c10a53c94b91d399df0512b1f29b94a043db7482384a
|
|
1001
1081
|
url: "https://pub.dev"
|
|
1002
1082
|
source: hosted
|
|
1003
|
-
version: "3.
|
|
1083
|
+
version: "3.2.2"
|
|
1004
1084
|
url_launcher_macos:
|
|
1005
1085
|
dependency: transitive
|
|
1006
1086
|
description:
|
|
1007
1087
|
name: url_launcher_macos
|
|
1008
|
-
sha256: "
|
|
1088
|
+
sha256: "368adf46f71ad3c21b8f06614adb38346f193f3a59ba8fe9a2fd74133070ba18"
|
|
1009
1089
|
url: "https://pub.dev"
|
|
1010
1090
|
source: hosted
|
|
1011
|
-
version: "3.
|
|
1091
|
+
version: "3.2.5"
|
|
1012
1092
|
url_launcher_platform_interface:
|
|
1013
1093
|
dependency: transitive
|
|
1014
1094
|
description:
|
|
1015
1095
|
name: url_launcher_platform_interface
|
|
1016
|
-
sha256:
|
|
1096
|
+
sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
|
|
1017
1097
|
url: "https://pub.dev"
|
|
1018
1098
|
source: hosted
|
|
1019
|
-
version: "2.
|
|
1099
|
+
version: "2.3.2"
|
|
1020
1100
|
url_launcher_web:
|
|
1021
1101
|
dependency: transitive
|
|
1022
1102
|
description:
|
|
1023
1103
|
name: url_launcher_web
|
|
1024
|
-
sha256:
|
|
1104
|
+
sha256: d0412fcf4c6b31ecfdb7762359b7206ffba3bbffd396c6d9f9c4616ece476c1f
|
|
1025
1105
|
url: "https://pub.dev"
|
|
1026
1106
|
source: hosted
|
|
1027
|
-
version: "2.
|
|
1107
|
+
version: "2.4.2"
|
|
1028
1108
|
url_launcher_windows:
|
|
1029
1109
|
dependency: transitive
|
|
1030
1110
|
description:
|
|
1031
1111
|
name: url_launcher_windows
|
|
1032
|
-
sha256: "
|
|
1112
|
+
sha256: "712c70ab1b99744ff066053cbe3e80c73332b38d46e5e945c98689b2e66fc15f"
|
|
1033
1113
|
url: "https://pub.dev"
|
|
1034
1114
|
source: hosted
|
|
1035
|
-
version: "3.
|
|
1115
|
+
version: "3.1.5"
|
|
1036
1116
|
uuid:
|
|
1037
1117
|
dependency: transitive
|
|
1038
1118
|
description:
|
|
1039
1119
|
name: uuid
|
|
1040
|
-
sha256: "
|
|
1120
|
+
sha256: "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489"
|
|
1041
1121
|
url: "https://pub.dev"
|
|
1042
1122
|
source: hosted
|
|
1043
|
-
version: "
|
|
1123
|
+
version: "4.5.3"
|
|
1124
|
+
vector_graphics_codec:
|
|
1125
|
+
dependency: transitive
|
|
1126
|
+
description:
|
|
1127
|
+
name: vector_graphics_codec
|
|
1128
|
+
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
|
|
1129
|
+
url: "https://pub.dev"
|
|
1130
|
+
source: hosted
|
|
1131
|
+
version: "1.1.13"
|
|
1132
|
+
vector_graphics_compiler:
|
|
1133
|
+
dependency: transitive
|
|
1134
|
+
description:
|
|
1135
|
+
name: vector_graphics_compiler
|
|
1136
|
+
sha256: "5a88dd14c0954a5398af544651c7fb51b457a2a556949bfb25369b210ef73a74"
|
|
1137
|
+
url: "https://pub.dev"
|
|
1138
|
+
source: hosted
|
|
1139
|
+
version: "1.2.0"
|
|
1044
1140
|
vector_math:
|
|
1045
1141
|
dependency: transitive
|
|
1046
1142
|
description:
|
|
1047
1143
|
name: vector_math
|
|
1048
|
-
sha256:
|
|
1144
|
+
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
|
|
1049
1145
|
url: "https://pub.dev"
|
|
1050
1146
|
source: hosted
|
|
1051
|
-
version: "2.
|
|
1147
|
+
version: "2.2.0"
|
|
1052
1148
|
vm_service:
|
|
1053
1149
|
dependency: transitive
|
|
1054
1150
|
description:
|
|
1055
1151
|
name: vm_service
|
|
1056
|
-
sha256:
|
|
1152
|
+
sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60"
|
|
1057
1153
|
url: "https://pub.dev"
|
|
1058
1154
|
source: hosted
|
|
1059
|
-
version: "
|
|
1155
|
+
version: "15.0.2"
|
|
1060
1156
|
watcher:
|
|
1061
1157
|
dependency: transitive
|
|
1062
1158
|
description:
|
|
1063
1159
|
name: watcher
|
|
1064
|
-
sha256: "
|
|
1160
|
+
sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635"
|
|
1065
1161
|
url: "https://pub.dev"
|
|
1066
1162
|
source: hosted
|
|
1163
|
+
version: "1.2.1"
|
|
1164
|
+
web:
|
|
1165
|
+
dependency: transitive
|
|
1166
|
+
description:
|
|
1167
|
+
name: web
|
|
1168
|
+
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
|
|
1169
|
+
url: "https://pub.dev"
|
|
1170
|
+
source: hosted
|
|
1067
|
-
version: "1.1.
|
|
1171
|
+
version: "1.1.1"
|
|
1172
|
+
web_socket:
|
|
1173
|
+
dependency: transitive
|
|
1174
|
+
description:
|
|
1175
|
+
name: web_socket
|
|
1176
|
+
sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
|
|
1177
|
+
url: "https://pub.dev"
|
|
1178
|
+
source: hosted
|
|
1179
|
+
version: "1.0.1"
|
|
1068
1180
|
web_socket_channel:
|
|
1069
1181
|
dependency: transitive
|
|
1070
1182
|
description:
|
|
1071
1183
|
name: web_socket_channel
|
|
1072
|
-
sha256:
|
|
1184
|
+
sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
|
|
1073
1185
|
url: "https://pub.dev"
|
|
1074
1186
|
source: hosted
|
|
1075
|
-
version: "
|
|
1187
|
+
version: "3.0.3"
|
|
1076
1188
|
webdriver:
|
|
1077
1189
|
dependency: transitive
|
|
1078
1190
|
description:
|
|
1079
1191
|
name: webdriver
|
|
1080
|
-
sha256: "
|
|
1192
|
+
sha256: "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade"
|
|
1081
1193
|
url: "https://pub.dev"
|
|
1082
1194
|
source: hosted
|
|
1083
|
-
version: "3.
|
|
1195
|
+
version: "3.1.0"
|
|
1084
1196
|
webkit_inspection_protocol:
|
|
1085
1197
|
dependency: transitive
|
|
1086
1198
|
description:
|
|
1087
1199
|
name: webkit_inspection_protocol
|
|
1088
|
-
sha256: "
|
|
1200
|
+
sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
|
|
1089
1201
|
url: "https://pub.dev"
|
|
1090
1202
|
source: hosted
|
|
1091
|
-
version: "1.2.
|
|
1203
|
+
version: "1.2.1"
|
|
1092
1204
|
webview_flutter:
|
|
1093
1205
|
dependency: "direct main"
|
|
1094
1206
|
description:
|
|
1095
1207
|
name: webview_flutter
|
|
1096
|
-
sha256:
|
|
1208
|
+
sha256: a3da219916aba44947d3a5478b1927876a09781174b5a2b67fa5be0555154bf9
|
|
1097
1209
|
url: "https://pub.dev"
|
|
1098
1210
|
source: hosted
|
|
1099
|
-
version: "4.
|
|
1211
|
+
version: "4.13.1"
|
|
1100
1212
|
webview_flutter_android:
|
|
1101
1213
|
dependency: transitive
|
|
1102
1214
|
description:
|
|
1103
1215
|
name: webview_flutter_android
|
|
1104
|
-
sha256:
|
|
1216
|
+
sha256: "2a03df01df2fd30b075d1e7f24c28aee593f2e5d5ac4c3c4283c5eda63717b24"
|
|
1105
1217
|
url: "https://pub.dev"
|
|
1106
1218
|
source: hosted
|
|
1107
|
-
version: "
|
|
1219
|
+
version: "4.10.13"
|
|
1108
1220
|
webview_flutter_platform_interface:
|
|
1109
1221
|
dependency: transitive
|
|
1110
1222
|
description:
|
|
1111
1223
|
name: webview_flutter_platform_interface
|
|
1112
|
-
sha256:
|
|
1224
|
+
sha256: "63d26ee3aca7256a83ccb576a50272edd7cfc80573a4305caa98985feb493ee0"
|
|
1113
1225
|
url: "https://pub.dev"
|
|
1114
1226
|
source: hosted
|
|
1115
|
-
version: "2.
|
|
1227
|
+
version: "2.14.0"
|
|
1116
1228
|
webview_flutter_wkwebview:
|
|
1117
1229
|
dependency: transitive
|
|
1118
1230
|
description:
|
|
1119
1231
|
name: webview_flutter_wkwebview
|
|
1120
|
-
sha256:
|
|
1232
|
+
sha256: "0d85e8bc5db9a7c49f6ff57cbeafc6cd8216ad9c9ebc70b2c4579d955698933a"
|
|
1121
1233
|
url: "https://pub.dev"
|
|
1122
1234
|
source: hosted
|
|
1123
|
-
version: "3.
|
|
1235
|
+
version: "3.24.1"
|
|
1124
1236
|
win32:
|
|
1125
1237
|
dependency: transitive
|
|
1126
1238
|
description:
|
|
1127
1239
|
name: win32
|
|
1128
|
-
sha256:
|
|
1240
|
+
sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
|
|
1129
1241
|
url: "https://pub.dev"
|
|
1130
1242
|
source: hosted
|
|
1131
|
-
version: "5.
|
|
1243
|
+
version: "5.15.0"
|
|
1132
1244
|
xdg_directories:
|
|
1133
1245
|
dependency: transitive
|
|
1134
1246
|
description:
|
|
1135
1247
|
name: xdg_directories
|
|
1136
|
-
sha256:
|
|
1248
|
+
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
|
|
1137
1249
|
url: "https://pub.dev"
|
|
1138
1250
|
source: hosted
|
|
1139
|
-
version: "1.
|
|
1251
|
+
version: "1.1.0"
|
|
1140
1252
|
xml:
|
|
1141
1253
|
dependency: transitive
|
|
1142
1254
|
description:
|
|
1143
1255
|
name: xml
|
|
1144
|
-
sha256: "
|
|
1256
|
+
sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
|
|
1145
1257
|
url: "https://pub.dev"
|
|
1146
1258
|
source: hosted
|
|
1147
|
-
version: "6.
|
|
1259
|
+
version: "6.6.1"
|
|
1148
1260
|
yaml:
|
|
1149
1261
|
dependency: transitive
|
|
1150
1262
|
description:
|
|
1151
1263
|
name: yaml
|
|
1152
|
-
sha256:
|
|
1264
|
+
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
|
|
1153
1265
|
url: "https://pub.dev"
|
|
1154
1266
|
source: hosted
|
|
1155
|
-
version: "3.1.
|
|
1267
|
+
version: "3.1.3"
|
|
1156
1268
|
sdks:
|
|
1157
|
-
dart: ">=3.
|
|
1269
|
+
dart: ">=3.10.3 <4.0.0"
|
|
1158
|
-
flutter: ">=3.
|
|
1270
|
+
flutter: ">=3.38.5"
|
pubspec.yaml
CHANGED
|
@@ -14,32 +14,35 @@ dependencies:
|
|
|
14
14
|
flutter_web_plugins:
|
|
15
15
|
sdk: flutter
|
|
16
16
|
intl: any
|
|
17
|
-
path_provider: ^2.
|
|
17
|
+
path_provider: ^2.1.5
|
|
18
|
-
just_audio: ^0.
|
|
18
|
+
just_audio: ^0.10.5
|
|
19
|
-
shared_preferences: ^2.
|
|
19
|
+
shared_preferences: ^2.5.4
|
|
20
|
-
flutter_native_splash: ^2.
|
|
20
|
+
flutter_native_splash: ^2.4.7
|
|
21
21
|
flutter_swipe_detector: ^2.0.0
|
|
22
|
-
cupertino_icons: ^1.0.
|
|
22
|
+
cupertino_icons: ^1.0.8
|
|
23
23
|
settings_ui: ^2.0.2
|
|
24
24
|
get_storage: ^2.1.1
|
|
25
|
-
share_plus: ^
|
|
25
|
+
share_plus: ^12.0.1
|
|
26
|
-
url_launcher: ^6.
|
|
26
|
+
url_launcher: ^6.3.2
|
|
27
|
-
package_info_plus: ^
|
|
27
|
+
package_info_plus: ^9.0.0
|
|
28
|
-
flutter_azure_tts: ^
|
|
28
|
+
flutter_azure_tts: ^1.0.0
|
|
29
|
-
http: ^
|
|
29
|
+
http: ^1.6.0
|
|
30
|
-
atoms_state: 0.0.2
|
|
30
|
+
atoms_state: ^0.0.2
|
|
31
|
-
webview_flutter: ^4.
|
|
31
|
+
webview_flutter: ^4.13.1
|
|
32
|
-
app_review: ^
|
|
32
|
+
app_review: ^3.0.0
|
|
33
33
|
|
|
34
34
|
dev_dependencies:
|
|
35
35
|
flutter_test:
|
|
36
36
|
sdk: flutter
|
|
37
37
|
integration_test:
|
|
38
38
|
sdk: flutter
|
|
39
|
-
flutter_lints: ^
|
|
39
|
+
flutter_lints: ^6.0.0
|
|
40
|
-
flutter_launcher_icons: ^0.
|
|
40
|
+
flutter_launcher_icons: ^0.14.4
|
|
41
41
|
test: ^1.24.3
|
|
42
|
+
build_runner: any
|
|
43
|
+
flutter_gen_runner: any
|
|
42
44
|
|
|
45
|
+
html: any
|
|
43
46
|
flutter:
|
|
44
47
|
generate: true
|
|
45
48
|
uses-material-design: true
|
scripts/generate_book_names.dart
CHANGED
|
@@ -67,7 +67,7 @@ final keys = [
|
|
|
67
67
|
"secondJohn",
|
|
68
68
|
"thirdJohn",
|
|
69
69
|
"jude",
|
|
70
|
-
"revelation"
|
|
70
|
+
"revelation",
|
|
71
71
|
];
|
|
72
72
|
|
|
73
73
|
class CustomLocale {
|
|
@@ -78,7 +78,7 @@ class CustomLocale {
|
|
|
78
78
|
final List<String> bookNames;
|
|
79
79
|
|
|
80
80
|
const CustomLocale(this.languageCode, this.countryCode, this.name,
|
|
81
|
-
this.localName, this.bookNames);
|
|
81
|
+
this.localName, this.bookNames,);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
const locales = [
|
|
@@ -148,7 +148,7 @@ const locales = [
|
|
|
148
148
|
"2 John",
|
|
149
149
|
"3 John",
|
|
150
150
|
"Jude",
|
|
151
|
-
"Revelation"
|
|
151
|
+
"Revelation",
|
|
152
152
|
]),
|
|
153
153
|
CustomLocale("kn", "IN", "Kannada", "", [
|
|
154
154
|
"ಆದಿಕಾಂಡ",
|
|
@@ -216,7 +216,7 @@ const locales = [
|
|
|
216
216
|
"2 ಯೋಹಾನನು",
|
|
217
217
|
"3 ಯೋಹಾನನು",
|
|
218
218
|
"ಯೂದನು",
|
|
219
|
-
"ಪ್ರಕಟನೆ"
|
|
219
|
+
"ಪ್ರಕಟನೆ",
|
|
220
220
|
]),
|
|
221
221
|
CustomLocale("ta", "IN", "Tamil", "", [
|
|
222
222
|
"ஆதியாகமம்",
|
|
@@ -284,7 +284,7 @@ const locales = [
|
|
|
284
284
|
"2 யோவான்",
|
|
285
285
|
"3 யோவான்",
|
|
286
286
|
"யூதா",
|
|
287
|
-
"வெளி"
|
|
287
|
+
"வெளி",
|
|
288
288
|
]),
|
|
289
289
|
CustomLocale("te", "IN", "Telugu", "", [
|
|
290
290
|
"ఆదికాండము",
|
|
@@ -352,7 +352,7 @@ const locales = [
|
|
|
352
352
|
"2 యోహాను",
|
|
353
353
|
"3 యోహాను",
|
|
354
354
|
"యూదా",
|
|
355
|
-
"ప్రకటన గ్రంథము"
|
|
355
|
+
"ప్రకటన గ్రంథము",
|
|
356
356
|
]),
|
|
357
357
|
CustomLocale("pa", "IN", "Punjabi", "", [
|
|
358
358
|
"ਪੈਦਾਇਸ਼",
|
|
@@ -420,7 +420,7 @@ const locales = [
|
|
|
420
420
|
"੨ ਯੂਹੰਨਾ",
|
|
421
421
|
"੩ ਯੂਹੰਨਾ",
|
|
422
422
|
"ਯਹੂ ਦਾਹ",
|
|
423
|
-
"ਪਰਕਾਸ਼ ਦੀ ਪੋਥੀ"
|
|
423
|
+
"ਪਰਕਾਸ਼ ਦੀ ਪੋਥੀ",
|
|
424
424
|
]),
|
|
425
425
|
CustomLocale("hi", "IN", "Hindi", "", [
|
|
426
426
|
"उत्पत्ति",
|
|
@@ -488,7 +488,7 @@ const locales = [
|
|
|
488
488
|
"2 यूहन्ना",
|
|
489
489
|
"3 यूहन्ना",
|
|
490
490
|
"यहूदा",
|
|
491
|
-
"प्रकाशित वाक्य"
|
|
491
|
+
"प्रकाशित वाक्य",
|
|
492
492
|
]),
|
|
493
493
|
CustomLocale("gu", "IN", "Gujarati", "", [
|
|
494
494
|
"ઊત્પત્તિ",
|
|
@@ -556,7 +556,7 @@ const locales = [
|
|
|
556
556
|
"2 યોહાનનો પત્ર",
|
|
557
557
|
"3 યોહાનનો પત્ર",
|
|
558
558
|
"યહૂદાનો પત્ર",
|
|
559
|
-
"પ્રકટીકરણ"
|
|
559
|
+
"પ્રકટીકરણ",
|
|
560
560
|
]),
|
|
561
561
|
CustomLocale("ml", "IN", "Malayalam", "", [
|
|
562
562
|
"ഉല്പത്തി",
|
|
@@ -624,7 +624,7 @@ const locales = [
|
|
|
624
624
|
"2 യോഹന്നാൻ",
|
|
625
625
|
"3 യോഹന്നാൻ",
|
|
626
626
|
"യൂദാ",
|
|
627
|
-
"വെളിപ്പാട്"
|
|
627
|
+
"വെളിപ്പാട്",
|
|
628
628
|
]),
|
|
629
629
|
CustomLocale("or", "IN", "Oriya", "", [
|
|
630
630
|
"ଆଦି ପୁସ୍ତକ",
|
|
@@ -692,7 +692,7 @@ const locales = [
|
|
|
692
692
|
"ଯୋହନଙ୍କ ଦିତୀୟ ପତ୍",
|
|
693
693
|
"ଯୋହନଙ୍କ ତୃତୀୟ ପତ୍ର",
|
|
694
694
|
"ଯିହୂଦାଙ୍କ ପତ୍ର",
|
|
695
|
-
"ଯୋହନଙ୍କ ପ୍ରତି ପ୍ରକାଶିତ ବାକ୍ୟ"
|
|
695
|
+
"ଯୋହନଙ୍କ ପ୍ରତି ପ୍ରକାଶିତ ବାକ୍ୟ",
|
|
696
696
|
]),
|
|
697
697
|
CustomLocale("bn", "IN", "Bengali", "", [
|
|
698
698
|
"আদিপুস্তক ",
|
|
@@ -760,7 +760,7 @@ const locales = [
|
|
|
760
760
|
"যোহনের ২য় পত্",
|
|
761
761
|
"যোহনের ৩য় পত্",
|
|
762
762
|
"যুদের পত্র",
|
|
763
|
-
"पপ্রত্যাদেশ"
|
|
763
|
+
"पপ্রত্যাদেশ",
|
|
764
764
|
]),
|
|
765
765
|
CustomLocale("ne", "NP", "Nepali", "", [
|
|
766
766
|
"उत्पत्ति",
|
scripts/scrape.dart
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "dart:convert";
|
|
2
2
|
import "dart:io";
|
|
3
|
-
import
|
|
3
|
+
import "package:http/http.dart" as http;
|
|
4
|
-
import
|
|
4
|
+
import "package:html/parser.dart";
|
|
5
|
-
import
|
|
5
|
+
import "package:only_bible_app/models.dart";
|
|
6
6
|
|
|
7
7
|
final booksNames = [
|
|
8
8
|
"Genesis",
|
|
@@ -70,7 +70,7 @@ final booksNames = [
|
|
|
70
70
|
"2 John",
|
|
71
71
|
"3 John",
|
|
72
72
|
"Jude",
|
|
73
|
-
"Revelation"
|
|
73
|
+
"Revelation",
|
|
74
74
|
];
|
|
75
75
|
|
|
76
76
|
class Heading {
|
|
@@ -79,8 +79,9 @@ class Heading {
|
|
|
79
79
|
|
|
80
80
|
Heading(this.vIndex, this.text);
|
|
81
81
|
|
|
82
|
+
@override
|
|
82
83
|
toString() {
|
|
83
|
-
return "vIndex: $
|
|
84
|
+
return "vIndex: $vIndex, text: $text";
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
|
|
@@ -88,7 +89,7 @@ Future<List<Heading>> fetchPage(String book, int chapterIndex) async {
|
|
|
88
89
|
print("fetching $book $chapterIndex \n");
|
|
89
90
|
final res = await http.get(
|
|
90
91
|
Uri.parse(
|
|
91
|
-
"https://raw.githubusercontent.com/kenyonbowers/Bible-JSON/main/JSON/$
|
|
92
|
+
"https://raw.githubusercontent.com/kenyonbowers/Bible-JSON/main/JSON/$/1.json",
|
|
92
93
|
),
|
|
93
94
|
);
|
|
94
95
|
var document = parse(utf8.decode(res.bodyBytes, allowMalformed: true));
|
|
@@ -121,7 +122,7 @@ Future<List<Heading>> fetchPage(String book, int chapterIndex) async {
|
|
|
121
122
|
}).toList();
|
|
122
123
|
if (title != "") {
|
|
123
124
|
if (els.isNotEmpty) {
|
|
124
|
-
els.first.text =
|
|
125
|
+
els.first.text = "$title<br>${els.first.text}";
|
|
125
126
|
} else {
|
|
126
127
|
els.add(Heading(0, title));
|
|
127
128
|
}
|
secrets.properties
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
KEY_ALIAS='option'
|
|
2
|
+
KEY_PASSWORD='somenone'
|
|
3
|
+
STORE_PASSWORD='somenone'
|
|
4
|
+
STORE_FILE='../keystore.jks'
|
|
5
|
+
SUBSCRIPTION_KEY=a9d2d78796924a2a9df2b6d5c1c4a576
|
test/widget_test.dart
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// This is a basic Flutter widget test.
|
|
2
|
+
//
|
|
3
|
+
// To perform an interaction with a widget in your test, use the WidgetTester
|
|
4
|
+
// utility in the flutter_test package. For example, you can send tap and scroll
|
|
5
|
+
// gestures. You can also use WidgetTester to find child widgets in the widget
|
|
6
|
+
// tree, read text, and verify that the values of widget properties are correct.
|
|
7
|
+
|
|
8
|
+
import 'package:flutter/material.dart';
|
|
9
|
+
import 'package:flutter_test/flutter_test.dart';
|
|
10
|
+
|
|
11
|
+
import 'package:only_bible_app/main.dart';
|
|
12
|
+
|
|
13
|
+
void main() {
|
|
14
|
+
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
|
|
15
|
+
// Build our app and trigger a frame.
|
|
16
|
+
await tester.pumpWidget(const MyApp());
|
|
17
|
+
|
|
18
|
+
// Verify that our counter starts at 0.
|
|
19
|
+
expect(find.text('0'), findsOneWidget);
|
|
20
|
+
expect(find.text('1'), findsNothing);
|
|
21
|
+
|
|
22
|
+
// Tap the '+' icon and trigger a frame.
|
|
23
|
+
await tester.tap(find.byIcon(Icons.add));
|
|
24
|
+
await tester.pump();
|
|
25
|
+
|
|
26
|
+
// Verify that our counter has incremented.
|
|
27
|
+
expect(find.text('0'), findsNothing);
|
|
28
|
+
expect(find.text('1'), findsOneWidget);
|
|
29
|
+
});
|
|
30
|
+
}
|
web/favicon.png
ADDED
|
Binary file
|
web/icons/Icon-192.png
ADDED
|
Binary file
|
web/icons/Icon-512.png
ADDED
|
Binary file
|
web/icons/Icon-maskable-192.png
ADDED
|
Binary file
|
web/icons/Icon-maskable-512.png
ADDED
|
Binary file
|
web/index.html
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<!--
|
|
5
|
+
If you are serving your web app in a path other than the root, change the
|
|
6
|
+
href value below to reflect the base path you are serving from.
|
|
7
|
+
|
|
8
|
+
The path provided below has to start and end with a slash "/" in order for
|
|
9
|
+
it to work correctly.
|
|
10
|
+
|
|
11
|
+
For more details:
|
|
12
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
|
|
13
|
+
|
|
14
|
+
This is a placeholder for base href that will be replaced by the value of
|
|
15
|
+
the `--base-href` argument provided to `flutter build`.
|
|
16
|
+
-->
|
|
17
|
+
<base href="$FLUTTER_BASE_HREF">
|
|
18
|
+
|
|
19
|
+
<meta charset="UTF-8">
|
|
20
|
+
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
|
|
21
|
+
<meta name="description" content="A new Flutter project.">
|
|
22
|
+
|
|
23
|
+
<!-- iOS meta tags & icons -->
|
|
24
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
25
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
26
|
+
<meta name="apple-mobile-web-app-title" content="only_bible_app">
|
|
27
|
+
<link rel="apple-touch-icon" href="icons/Icon-192.png">
|
|
28
|
+
|
|
29
|
+
<!-- Favicon -->
|
|
30
|
+
<link rel="icon" type="image/png" href="favicon.png"/>
|
|
31
|
+
|
|
32
|
+
<title>only_bible_app</title>
|
|
33
|
+
<link rel="manifest" href="manifest.json">
|
|
34
|
+
</head>
|
|
35
|
+
<body>
|
|
36
|
+
<!--
|
|
37
|
+
You can customize the "flutter_bootstrap.js" script.
|
|
38
|
+
This is useful to provide a custom configuration to the Flutter loader
|
|
39
|
+
or to give the user feedback during the initialization process.
|
|
40
|
+
|
|
41
|
+
For more details:
|
|
42
|
+
* https://docs.flutter.dev/platform-integration/web/initialization
|
|
43
|
+
-->
|
|
44
|
+
<script src="flutter_bootstrap.js" async></script>
|
|
45
|
+
</body>
|
|
46
|
+
</html>
|
web/manifest.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "only_bible_app",
|
|
3
|
+
"short_name": "only_bible_app",
|
|
4
|
+
"start_url": ".",
|
|
5
|
+
"display": "standalone",
|
|
6
|
+
"background_color": "#0175C2",
|
|
7
|
+
"theme_color": "#0175C2",
|
|
8
|
+
"description": "A new Flutter project.",
|
|
9
|
+
"orientation": "portrait-primary",
|
|
10
|
+
"prefer_related_applications": false,
|
|
11
|
+
"icons": [
|
|
12
|
+
{
|
|
13
|
+
"src": "icons/Icon-192.png",
|
|
14
|
+
"sizes": "192x192",
|
|
15
|
+
"type": "image/png"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"src": "icons/Icon-512.png",
|
|
19
|
+
"sizes": "512x512",
|
|
20
|
+
"type": "image/png"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"src": "icons/Icon-maskable-192.png",
|
|
24
|
+
"sizes": "192x192",
|
|
25
|
+
"type": "image/png",
|
|
26
|
+
"purpose": "maskable"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"src": "icons/Icon-maskable-512.png",
|
|
30
|
+
"sizes": "512x512",
|
|
31
|
+
"type": "image/png",
|
|
32
|
+
"purpose": "maskable"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
windows/.gitignore
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
flutter/ephemeral/
|
|
2
|
+
|
|
3
|
+
# Visual Studio user-specific files.
|
|
4
|
+
*.suo
|
|
5
|
+
*.user
|
|
6
|
+
*.userosscache
|
|
7
|
+
*.sln.docstates
|
|
8
|
+
|
|
9
|
+
# Visual Studio build-related files.
|
|
10
|
+
x64/
|
|
11
|
+
x86/
|
|
12
|
+
|
|
13
|
+
# Visual Studio cache files
|
|
14
|
+
# files ending in .cache can be ignored
|
|
15
|
+
*.[Cc]ache
|
|
16
|
+
# but keep track of directories ending in .cache
|
|
17
|
+
!*.[Cc]ache/
|
windows/CMakeLists.txt
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Project-level configuration.
|
|
2
|
+
cmake_minimum_required(VERSION 3.14)
|
|
3
|
+
project(only_bible_app LANGUAGES CXX)
|
|
4
|
+
|
|
5
|
+
# The name of the executable created for the application. Change this to change
|
|
6
|
+
# the on-disk name of your application.
|
|
7
|
+
set(BINARY_NAME "only_bible_app")
|
|
8
|
+
|
|
9
|
+
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
|
|
10
|
+
# versions of CMake.
|
|
11
|
+
cmake_policy(VERSION 3.14...3.25)
|
|
12
|
+
|
|
13
|
+
# Define build configuration option.
|
|
14
|
+
get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
15
|
+
if(IS_MULTICONFIG)
|
|
16
|
+
set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release"
|
|
17
|
+
CACHE STRING "" FORCE)
|
|
18
|
+
else()
|
|
19
|
+
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
20
|
+
set(CMAKE_BUILD_TYPE "Debug" CACHE
|
|
21
|
+
STRING "Flutter build mode" FORCE)
|
|
22
|
+
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
|
|
23
|
+
"Debug" "Profile" "Release")
|
|
24
|
+
endif()
|
|
25
|
+
endif()
|
|
26
|
+
# Define settings for the Profile build mode.
|
|
27
|
+
set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
|
|
28
|
+
set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
|
|
29
|
+
set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}")
|
|
30
|
+
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}")
|
|
31
|
+
|
|
32
|
+
# Use Unicode for all projects.
|
|
33
|
+
add_definitions(-DUNICODE -D_UNICODE)
|
|
34
|
+
|
|
35
|
+
# Compilation settings that should be applied to most targets.
|
|
36
|
+
#
|
|
37
|
+
# Be cautious about adding new options here, as plugins use this function by
|
|
38
|
+
# default. In most cases, you should add new options to specific targets instead
|
|
39
|
+
# of modifying this function.
|
|
40
|
+
function(APPLY_STANDARD_SETTINGS TARGET)
|
|
41
|
+
target_compile_features(${TARGET} PUBLIC cxx_std_17)
|
|
42
|
+
target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100")
|
|
43
|
+
target_compile_options(${TARGET} PRIVATE /EHsc)
|
|
44
|
+
target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0")
|
|
45
|
+
target_compile_definitions(${TARGET} PRIVATE "$<$<CONFIG:Debug>:_DEBUG>")
|
|
46
|
+
endfunction()
|
|
47
|
+
|
|
48
|
+
# Flutter library and tool build rules.
|
|
49
|
+
set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
|
|
50
|
+
add_subdirectory(${FLUTTER_MANAGED_DIR})
|
|
51
|
+
|
|
52
|
+
# Application build; see runner/CMakeLists.txt.
|
|
53
|
+
add_subdirectory("runner")
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# Generated plugin build rules, which manage building the plugins and adding
|
|
57
|
+
# them to the application.
|
|
58
|
+
include(flutter/generated_plugins.cmake)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# === Installation ===
|
|
62
|
+
# Support files are copied into place next to the executable, so that it can
|
|
63
|
+
# run in place. This is done instead of making a separate bundle (as on Linux)
|
|
64
|
+
# so that building and running from within Visual Studio will work.
|
|
65
|
+
set(BUILD_BUNDLE_DIR "$<TARGET_FILE_DIR:${BINARY_NAME}>")
|
|
66
|
+
# Make the "install" step default, as it's required to run.
|
|
67
|
+
set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1)
|
|
68
|
+
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
|
69
|
+
set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
|
|
70
|
+
endif()
|
|
71
|
+
|
|
72
|
+
set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
|
|
73
|
+
set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}")
|
|
74
|
+
|
|
75
|
+
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
|
|
76
|
+
COMPONENT Runtime)
|
|
77
|
+
|
|
78
|
+
install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
|
|
79
|
+
COMPONENT Runtime)
|
|
80
|
+
|
|
81
|
+
install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
82
|
+
COMPONENT Runtime)
|
|
83
|
+
|
|
84
|
+
if(PLUGIN_BUNDLED_LIBRARIES)
|
|
85
|
+
install(FILES "${PLUGIN_BUNDLED_LIBRARIES}"
|
|
86
|
+
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
87
|
+
COMPONENT Runtime)
|
|
88
|
+
endif()
|
|
89
|
+
|
|
90
|
+
# Copy the native assets provided by the build.dart from all packages.
|
|
91
|
+
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/")
|
|
92
|
+
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
|
|
93
|
+
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|
94
|
+
COMPONENT Runtime)
|
|
95
|
+
|
|
96
|
+
# Fully re-copy the assets directory on each build to avoid having stale files
|
|
97
|
+
# from a previous install.
|
|
98
|
+
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
|
|
99
|
+
install(CODE "
|
|
100
|
+
file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
|
|
101
|
+
" COMPONENT Runtime)
|
|
102
|
+
install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
|
|
103
|
+
DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
|
|
104
|
+
|
|
105
|
+
# Install the AOT library on non-Debug builds only.
|
|
106
|
+
install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
|
|
107
|
+
CONFIGURATIONS Profile;Release
|
|
108
|
+
COMPONENT Runtime)
|
windows/flutter/CMakeLists.txt
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# This file controls Flutter-level build steps. It should not be edited.
|
|
2
|
+
cmake_minimum_required(VERSION 3.14)
|
|
3
|
+
|
|
4
|
+
set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
|
|
5
|
+
|
|
6
|
+
# Configuration provided via flutter tool.
|
|
7
|
+
include(${EPHEMERAL_DIR}/generated_config.cmake)
|
|
8
|
+
|
|
9
|
+
# TODO: Move the rest of this into files in ephemeral. See
|
|
10
|
+
# https://github.com/flutter/flutter/issues/57146.
|
|
11
|
+
set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper")
|
|
12
|
+
|
|
13
|
+
# Set fallback configurations for older versions of the flutter tool.
|
|
14
|
+
if (NOT DEFINED FLUTTER_TARGET_PLATFORM)
|
|
15
|
+
set(FLUTTER_TARGET_PLATFORM "windows-x64")
|
|
16
|
+
endif()
|
|
17
|
+
|
|
18
|
+
# === Flutter Library ===
|
|
19
|
+
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll")
|
|
20
|
+
|
|
21
|
+
# Published to parent scope for install step.
|
|
22
|
+
set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
|
|
23
|
+
set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
|
|
24
|
+
set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
|
|
25
|
+
set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE)
|
|
26
|
+
|
|
27
|
+
list(APPEND FLUTTER_LIBRARY_HEADERS
|
|
28
|
+
"flutter_export.h"
|
|
29
|
+
"flutter_windows.h"
|
|
30
|
+
"flutter_messenger.h"
|
|
31
|
+
"flutter_plugin_registrar.h"
|
|
32
|
+
"flutter_texture_registrar.h"
|
|
33
|
+
)
|
|
34
|
+
list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/")
|
|
35
|
+
add_library(flutter INTERFACE)
|
|
36
|
+
target_include_directories(flutter INTERFACE
|
|
37
|
+
"${EPHEMERAL_DIR}"
|
|
38
|
+
)
|
|
39
|
+
target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib")
|
|
40
|
+
add_dependencies(flutter flutter_assemble)
|
|
41
|
+
|
|
42
|
+
# === Wrapper ===
|
|
43
|
+
list(APPEND CPP_WRAPPER_SOURCES_CORE
|
|
44
|
+
"core_implementations.cc"
|
|
45
|
+
"standard_codec.cc"
|
|
46
|
+
)
|
|
47
|
+
list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/")
|
|
48
|
+
list(APPEND CPP_WRAPPER_SOURCES_PLUGIN
|
|
49
|
+
"plugin_registrar.cc"
|
|
50
|
+
)
|
|
51
|
+
list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/")
|
|
52
|
+
list(APPEND CPP_WRAPPER_SOURCES_APP
|
|
53
|
+
"flutter_engine.cc"
|
|
54
|
+
"flutter_view_controller.cc"
|
|
55
|
+
)
|
|
56
|
+
list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/")
|
|
57
|
+
|
|
58
|
+
# Wrapper sources needed for a plugin.
|
|
59
|
+
add_library(flutter_wrapper_plugin STATIC
|
|
60
|
+
${CPP_WRAPPER_SOURCES_CORE}
|
|
61
|
+
${CPP_WRAPPER_SOURCES_PLUGIN}
|
|
62
|
+
)
|
|
63
|
+
apply_standard_settings(flutter_wrapper_plugin)
|
|
64
|
+
set_target_properties(flutter_wrapper_plugin PROPERTIES
|
|
65
|
+
POSITION_INDEPENDENT_CODE ON)
|
|
66
|
+
set_target_properties(flutter_wrapper_plugin PROPERTIES
|
|
67
|
+
CXX_VISIBILITY_PRESET hidden)
|
|
68
|
+
target_link_libraries(flutter_wrapper_plugin PUBLIC flutter)
|
|
69
|
+
target_include_directories(flutter_wrapper_plugin PUBLIC
|
|
70
|
+
"${WRAPPER_ROOT}/include"
|
|
71
|
+
)
|
|
72
|
+
add_dependencies(flutter_wrapper_plugin flutter_assemble)
|
|
73
|
+
|
|
74
|
+
# Wrapper sources needed for the runner.
|
|
75
|
+
add_library(flutter_wrapper_app STATIC
|
|
76
|
+
${CPP_WRAPPER_SOURCES_CORE}
|
|
77
|
+
${CPP_WRAPPER_SOURCES_APP}
|
|
78
|
+
)
|
|
79
|
+
apply_standard_settings(flutter_wrapper_app)
|
|
80
|
+
target_link_libraries(flutter_wrapper_app PUBLIC flutter)
|
|
81
|
+
target_include_directories(flutter_wrapper_app PUBLIC
|
|
82
|
+
"${WRAPPER_ROOT}/include"
|
|
83
|
+
)
|
|
84
|
+
add_dependencies(flutter_wrapper_app flutter_assemble)
|
|
85
|
+
|
|
86
|
+
# === Flutter tool backend ===
|
|
87
|
+
# _phony_ is a non-existent file to force this command to run every time,
|
|
88
|
+
# since currently there's no way to get a full input/output list from the
|
|
89
|
+
# flutter tool.
|
|
90
|
+
set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_")
|
|
91
|
+
set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE)
|
|
92
|
+
add_custom_command(
|
|
93
|
+
OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
|
|
94
|
+
${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN}
|
|
95
|
+
${CPP_WRAPPER_SOURCES_APP}
|
|
96
|
+
${PHONY_OUTPUT}
|
|
97
|
+
COMMAND ${CMAKE_COMMAND} -E env
|
|
98
|
+
${FLUTTER_TOOL_ENVIRONMENT}
|
|
99
|
+
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat"
|
|
100
|
+
${FLUTTER_TARGET_PLATFORM} $<CONFIG>
|
|
101
|
+
VERBATIM
|
|
102
|
+
)
|
|
103
|
+
add_custom_target(flutter_assemble DEPENDS
|
|
104
|
+
"${FLUTTER_LIBRARY}"
|
|
105
|
+
${FLUTTER_LIBRARY_HEADERS}
|
|
106
|
+
${CPP_WRAPPER_SOURCES_CORE}
|
|
107
|
+
${CPP_WRAPPER_SOURCES_PLUGIN}
|
|
108
|
+
${CPP_WRAPPER_SOURCES_APP}
|
|
109
|
+
)
|
windows/flutter/generated_plugin_registrant.cc
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Generated file. Do not edit.
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
// clang-format off
|
|
6
|
+
|
|
7
|
+
#include "generated_plugin_registrant.h"
|
|
8
|
+
|
|
9
|
+
#include <share_plus/share_plus_windows_plugin_c_api.h>
|
|
10
|
+
#include <url_launcher_windows/url_launcher_windows.h>
|
|
11
|
+
|
|
12
|
+
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
|
13
|
+
SharePlusWindowsPluginCApiRegisterWithRegistrar(
|
|
14
|
+
registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi"));
|
|
15
|
+
UrlLauncherWindowsRegisterWithRegistrar(
|
|
16
|
+
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
|
|
17
|
+
}
|
windows/flutter/generated_plugin_registrant.h
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Generated file. Do not edit.
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
// clang-format off
|
|
6
|
+
|
|
7
|
+
#ifndef GENERATED_PLUGIN_REGISTRANT_
|
|
8
|
+
#define GENERATED_PLUGIN_REGISTRANT_
|
|
9
|
+
|
|
10
|
+
#include <flutter/plugin_registry.h>
|
|
11
|
+
|
|
12
|
+
// Registers Flutter plugins.
|
|
13
|
+
void RegisterPlugins(flutter::PluginRegistry* registry);
|
|
14
|
+
|
|
15
|
+
#endif // GENERATED_PLUGIN_REGISTRANT_
|
windows/flutter/generated_plugins.cmake
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Generated file, do not edit.
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
list(APPEND FLUTTER_PLUGIN_LIST
|
|
6
|
+
share_plus
|
|
7
|
+
url_launcher_windows
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
set(PLUGIN_BUNDLED_LIBRARIES)
|
|
14
|
+
|
|
15
|
+
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
|
16
|
+
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin})
|
|
17
|
+
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
|
|
18
|
+
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
|
19
|
+
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
|
20
|
+
endforeach(plugin)
|
|
21
|
+
|
|
22
|
+
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
|
23
|
+
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
|
|
24
|
+
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
|
25
|
+
endforeach(ffi_plugin)
|
windows/runner/CMakeLists.txt
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.14)
|
|
2
|
+
project(runner LANGUAGES CXX)
|
|
3
|
+
|
|
4
|
+
# Define the application target. To change its name, change BINARY_NAME in the
|
|
5
|
+
# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer
|
|
6
|
+
# work.
|
|
7
|
+
#
|
|
8
|
+
# Any new source files that you add to the application should be added here.
|
|
9
|
+
add_executable(${BINARY_NAME} WIN32
|
|
10
|
+
"flutter_window.cpp"
|
|
11
|
+
"main.cpp"
|
|
12
|
+
"utils.cpp"
|
|
13
|
+
"win32_window.cpp"
|
|
14
|
+
"${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
|
|
15
|
+
"Runner.rc"
|
|
16
|
+
"runner.exe.manifest"
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
# Apply the standard set of build settings. This can be removed for applications
|
|
20
|
+
# that need different build settings.
|
|
21
|
+
apply_standard_settings(${BINARY_NAME})
|
|
22
|
+
|
|
23
|
+
# Add preprocessor definitions for the build version.
|
|
24
|
+
target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"")
|
|
25
|
+
target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}")
|
|
26
|
+
target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}")
|
|
27
|
+
target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}")
|
|
28
|
+
target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}")
|
|
29
|
+
|
|
30
|
+
# Disable Windows macros that collide with C++ standard library functions.
|
|
31
|
+
target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX")
|
|
32
|
+
|
|
33
|
+
# Add dependency libraries and include directories. Add any application-specific
|
|
34
|
+
# dependencies here.
|
|
35
|
+
target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app)
|
|
36
|
+
target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib")
|
|
37
|
+
target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}")
|
|
38
|
+
|
|
39
|
+
# Run the Flutter tool portions of the build. This must not be removed.
|
|
40
|
+
add_dependencies(${BINARY_NAME} flutter_assemble)
|
windows/runner/Runner.rc
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// Microsoft Visual C++ generated resource script.
|
|
2
|
+
//
|
|
3
|
+
#pragma code_page(65001)
|
|
4
|
+
#include "resource.h"
|
|
5
|
+
|
|
6
|
+
#define APSTUDIO_READONLY_SYMBOLS
|
|
7
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
8
|
+
//
|
|
9
|
+
// Generated from the TEXTINCLUDE 2 resource.
|
|
10
|
+
//
|
|
11
|
+
#include "winres.h"
|
|
12
|
+
|
|
13
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
14
|
+
#undef APSTUDIO_READONLY_SYMBOLS
|
|
15
|
+
|
|
16
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
17
|
+
// English (United States) resources
|
|
18
|
+
|
|
19
|
+
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
20
|
+
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|
21
|
+
|
|
22
|
+
#ifdef APSTUDIO_INVOKED
|
|
23
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
24
|
+
//
|
|
25
|
+
// TEXTINCLUDE
|
|
26
|
+
//
|
|
27
|
+
|
|
28
|
+
1 TEXTINCLUDE
|
|
29
|
+
BEGIN
|
|
30
|
+
"resource.h\0"
|
|
31
|
+
END
|
|
32
|
+
|
|
33
|
+
2 TEXTINCLUDE
|
|
34
|
+
BEGIN
|
|
35
|
+
"#include ""winres.h""\r\n"
|
|
36
|
+
"\0"
|
|
37
|
+
END
|
|
38
|
+
|
|
39
|
+
3 TEXTINCLUDE
|
|
40
|
+
BEGIN
|
|
41
|
+
"\r\n"
|
|
42
|
+
"\0"
|
|
43
|
+
END
|
|
44
|
+
|
|
45
|
+
#endif // APSTUDIO_INVOKED
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
49
|
+
//
|
|
50
|
+
// Icon
|
|
51
|
+
//
|
|
52
|
+
|
|
53
|
+
// Icon with lowest ID value placed first to ensure application icon
|
|
54
|
+
// remains consistent on all systems.
|
|
55
|
+
IDI_APP_ICON ICON "resources\\app_icon.ico"
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
59
|
+
//
|
|
60
|
+
// Version
|
|
61
|
+
//
|
|
62
|
+
|
|
63
|
+
#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD)
|
|
64
|
+
#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD
|
|
65
|
+
#else
|
|
66
|
+
#define VERSION_AS_NUMBER 1,0,0,0
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
#if defined(FLUTTER_VERSION)
|
|
70
|
+
#define VERSION_AS_STRING FLUTTER_VERSION
|
|
71
|
+
#else
|
|
72
|
+
#define VERSION_AS_STRING "1.0.0"
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
VS_VERSION_INFO VERSIONINFO
|
|
76
|
+
FILEVERSION VERSION_AS_NUMBER
|
|
77
|
+
PRODUCTVERSION VERSION_AS_NUMBER
|
|
78
|
+
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
79
|
+
#ifdef _DEBUG
|
|
80
|
+
FILEFLAGS VS_FF_DEBUG
|
|
81
|
+
#else
|
|
82
|
+
FILEFLAGS 0x0L
|
|
83
|
+
#endif
|
|
84
|
+
FILEOS VOS__WINDOWS32
|
|
85
|
+
FILETYPE VFT_APP
|
|
86
|
+
FILESUBTYPE 0x0L
|
|
87
|
+
BEGIN
|
|
88
|
+
BLOCK "StringFileInfo"
|
|
89
|
+
BEGIN
|
|
90
|
+
BLOCK "040904e4"
|
|
91
|
+
BEGIN
|
|
92
|
+
VALUE "CompanyName", "sh.pyros" "\0"
|
|
93
|
+
VALUE "FileDescription", "only_bible_app" "\0"
|
|
94
|
+
VALUE "FileVersion", VERSION_AS_STRING "\0"
|
|
95
|
+
VALUE "InternalName", "only_bible_app" "\0"
|
|
96
|
+
VALUE "LegalCopyright", "Copyright (C) 2026 sh.pyros. All rights reserved." "\0"
|
|
97
|
+
VALUE "OriginalFilename", "only_bible_app.exe" "\0"
|
|
98
|
+
VALUE "ProductName", "only_bible_app" "\0"
|
|
99
|
+
VALUE "ProductVersion", VERSION_AS_STRING "\0"
|
|
100
|
+
END
|
|
101
|
+
END
|
|
102
|
+
BLOCK "VarFileInfo"
|
|
103
|
+
BEGIN
|
|
104
|
+
VALUE "Translation", 0x409, 1252
|
|
105
|
+
END
|
|
106
|
+
END
|
|
107
|
+
|
|
108
|
+
#endif // English (United States) resources
|
|
109
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
#ifndef APSTUDIO_INVOKED
|
|
114
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
115
|
+
//
|
|
116
|
+
// Generated from the TEXTINCLUDE 3 resource.
|
|
117
|
+
//
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
121
|
+
#endif // not APSTUDIO_INVOKED
|
windows/runner/flutter_window.cpp
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#include "flutter_window.h"
|
|
2
|
+
|
|
3
|
+
#include <optional>
|
|
4
|
+
|
|
5
|
+
#include "flutter/generated_plugin_registrant.h"
|
|
6
|
+
|
|
7
|
+
FlutterWindow::FlutterWindow(const flutter::DartProject& project)
|
|
8
|
+
: project_(project) {}
|
|
9
|
+
|
|
10
|
+
FlutterWindow::~FlutterWindow() {}
|
|
11
|
+
|
|
12
|
+
bool FlutterWindow::OnCreate() {
|
|
13
|
+
if (!Win32Window::OnCreate()) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
RECT frame = GetClientArea();
|
|
18
|
+
|
|
19
|
+
// The size here must match the window dimensions to avoid unnecessary surface
|
|
20
|
+
// creation / destruction in the startup path.
|
|
21
|
+
flutter_controller_ = std::make_unique<flutter::FlutterViewController>(
|
|
22
|
+
frame.right - frame.left, frame.bottom - frame.top, project_);
|
|
23
|
+
// Ensure that basic setup of the controller was successful.
|
|
24
|
+
if (!flutter_controller_->engine() || !flutter_controller_->view()) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
RegisterPlugins(flutter_controller_->engine());
|
|
28
|
+
SetChildContent(flutter_controller_->view()->GetNativeWindow());
|
|
29
|
+
|
|
30
|
+
flutter_controller_->engine()->SetNextFrameCallback([&]() {
|
|
31
|
+
this->Show();
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// Flutter can complete the first frame before the "show window" callback is
|
|
35
|
+
// registered. The following call ensures a frame is pending to ensure the
|
|
36
|
+
// window is shown. It is a no-op if the first frame hasn't completed yet.
|
|
37
|
+
flutter_controller_->ForceRedraw();
|
|
38
|
+
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
void FlutterWindow::OnDestroy() {
|
|
43
|
+
if (flutter_controller_) {
|
|
44
|
+
flutter_controller_ = nullptr;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
Win32Window::OnDestroy();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
LRESULT
|
|
51
|
+
FlutterWindow::MessageHandler(HWND hwnd, UINT const message,
|
|
52
|
+
WPARAM const wparam,
|
|
53
|
+
LPARAM const lparam) noexcept {
|
|
54
|
+
// Give Flutter, including plugins, an opportunity to handle window messages.
|
|
55
|
+
if (flutter_controller_) {
|
|
56
|
+
std::optional<LRESULT> result =
|
|
57
|
+
flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam,
|
|
58
|
+
lparam);
|
|
59
|
+
if (result) {
|
|
60
|
+
return *result;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
switch (message) {
|
|
65
|
+
case WM_FONTCHANGE:
|
|
66
|
+
flutter_controller_->engine()->ReloadSystemFonts();
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return Win32Window::MessageHandler(hwnd, message, wparam, lparam);
|
|
71
|
+
}
|
windows/runner/flutter_window.h
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#ifndef RUNNER_FLUTTER_WINDOW_H_
|
|
2
|
+
#define RUNNER_FLUTTER_WINDOW_H_
|
|
3
|
+
|
|
4
|
+
#include <flutter/dart_project.h>
|
|
5
|
+
#include <flutter/flutter_view_controller.h>
|
|
6
|
+
|
|
7
|
+
#include <memory>
|
|
8
|
+
|
|
9
|
+
#include "win32_window.h"
|
|
10
|
+
|
|
11
|
+
// A window that does nothing but host a Flutter view.
|
|
12
|
+
class FlutterWindow : public Win32Window {
|
|
13
|
+
public:
|
|
14
|
+
// Creates a new FlutterWindow hosting a Flutter view running |project|.
|
|
15
|
+
explicit FlutterWindow(const flutter::DartProject& project);
|
|
16
|
+
virtual ~FlutterWindow();
|
|
17
|
+
|
|
18
|
+
protected:
|
|
19
|
+
// Win32Window:
|
|
20
|
+
bool OnCreate() override;
|
|
21
|
+
void OnDestroy() override;
|
|
22
|
+
LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam,
|
|
23
|
+
LPARAM const lparam) noexcept override;
|
|
24
|
+
|
|
25
|
+
private:
|
|
26
|
+
// The project to run.
|
|
27
|
+
flutter::DartProject project_;
|
|
28
|
+
|
|
29
|
+
// The Flutter instance hosted by this window.
|
|
30
|
+
std::unique_ptr<flutter::FlutterViewController> flutter_controller_;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
#endif // RUNNER_FLUTTER_WINDOW_H_
|
windows/runner/main.cpp
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#include <flutter/dart_project.h>
|
|
2
|
+
#include <flutter/flutter_view_controller.h>
|
|
3
|
+
#include <windows.h>
|
|
4
|
+
|
|
5
|
+
#include "flutter_window.h"
|
|
6
|
+
#include "utils.h"
|
|
7
|
+
|
|
8
|
+
int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
|
|
9
|
+
_In_ wchar_t *command_line, _In_ int show_command) {
|
|
10
|
+
// Attach to console when present (e.g., 'flutter run') or create a
|
|
11
|
+
// new console when running with a debugger.
|
|
12
|
+
if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {
|
|
13
|
+
CreateAndAttachConsole();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Initialize COM, so that it is available for use in the library and/or
|
|
17
|
+
// plugins.
|
|
18
|
+
::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
|
|
19
|
+
|
|
20
|
+
flutter::DartProject project(L"data");
|
|
21
|
+
|
|
22
|
+
std::vector<std::string> command_line_arguments =
|
|
23
|
+
GetCommandLineArguments();
|
|
24
|
+
|
|
25
|
+
project.set_dart_entrypoint_arguments(std::move(command_line_arguments));
|
|
26
|
+
|
|
27
|
+
FlutterWindow window(project);
|
|
28
|
+
Win32Window::Point origin(10, 10);
|
|
29
|
+
Win32Window::Size size(1280, 720);
|
|
30
|
+
if (!window.Create(L"only_bible_app", origin, size)) {
|
|
31
|
+
return EXIT_FAILURE;
|
|
32
|
+
}
|
|
33
|
+
window.SetQuitOnClose(true);
|
|
34
|
+
|
|
35
|
+
::MSG msg;
|
|
36
|
+
while (::GetMessage(&msg, nullptr, 0, 0)) {
|
|
37
|
+
::TranslateMessage(&msg);
|
|
38
|
+
::DispatchMessage(&msg);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
::CoUninitialize();
|
|
42
|
+
return EXIT_SUCCESS;
|
|
43
|
+
}
|
windows/runner/resource.h
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//{{NO_DEPENDENCIES}}
|
|
2
|
+
// Microsoft Visual C++ generated include file.
|
|
3
|
+
// Used by Runner.rc
|
|
4
|
+
//
|
|
5
|
+
#define IDI_APP_ICON 101
|
|
6
|
+
|
|
7
|
+
// Next default values for new objects
|
|
8
|
+
//
|
|
9
|
+
#ifdef APSTUDIO_INVOKED
|
|
10
|
+
#ifndef APSTUDIO_READONLY_SYMBOLS
|
|
11
|
+
#define _APS_NEXT_RESOURCE_VALUE 102
|
|
12
|
+
#define _APS_NEXT_COMMAND_VALUE 40001
|
|
13
|
+
#define _APS_NEXT_CONTROL_VALUE 1001
|
|
14
|
+
#define _APS_NEXT_SYMED_VALUE 101
|
|
15
|
+
#endif
|
|
16
|
+
#endif
|
windows/runner/resources/app_icon.ico
ADDED
|
Binary file
|
windows/runner/runner.exe.manifest
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
+
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
|
3
|
+
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
4
|
+
<windowsSettings>
|
|
5
|
+
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
|
|
6
|
+
</windowsSettings>
|
|
7
|
+
</application>
|
|
8
|
+
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
9
|
+
<application>
|
|
10
|
+
<!-- Windows 10 and Windows 11 -->
|
|
11
|
+
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
|
12
|
+
</application>
|
|
13
|
+
</compatibility>
|
|
14
|
+
</assembly>
|
windows/runner/utils.cpp
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#include "utils.h"
|
|
2
|
+
|
|
3
|
+
#include <flutter_windows.h>
|
|
4
|
+
#include <io.h>
|
|
5
|
+
#include <stdio.h>
|
|
6
|
+
#include <windows.h>
|
|
7
|
+
|
|
8
|
+
#include <iostream>
|
|
9
|
+
|
|
10
|
+
void CreateAndAttachConsole() {
|
|
11
|
+
if (::AllocConsole()) {
|
|
12
|
+
FILE *unused;
|
|
13
|
+
if (freopen_s(&unused, "CONOUT$", "w", stdout)) {
|
|
14
|
+
_dup2(_fileno(stdout), 1);
|
|
15
|
+
}
|
|
16
|
+
if (freopen_s(&unused, "CONOUT$", "w", stderr)) {
|
|
17
|
+
_dup2(_fileno(stdout), 2);
|
|
18
|
+
}
|
|
19
|
+
std::ios::sync_with_stdio();
|
|
20
|
+
FlutterDesktopResyncOutputStreams();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
std::vector<std::string> GetCommandLineArguments() {
|
|
25
|
+
// Convert the UTF-16 command line arguments to UTF-8 for the Engine to use.
|
|
26
|
+
int argc;
|
|
27
|
+
wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc);
|
|
28
|
+
if (argv == nullptr) {
|
|
29
|
+
return std::vector<std::string>();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
std::vector<std::string> command_line_arguments;
|
|
33
|
+
|
|
34
|
+
// Skip the first argument as it's the binary name.
|
|
35
|
+
for (int i = 1; i < argc; i++) {
|
|
36
|
+
command_line_arguments.push_back(Utf8FromUtf16(argv[i]));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
::LocalFree(argv);
|
|
40
|
+
|
|
41
|
+
return command_line_arguments;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
std::string Utf8FromUtf16(const wchar_t* utf16_string) {
|
|
45
|
+
if (utf16_string == nullptr) {
|
|
46
|
+
return std::string();
|
|
47
|
+
}
|
|
48
|
+
unsigned int target_length = ::WideCharToMultiByte(
|
|
49
|
+
CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,
|
|
50
|
+
-1, nullptr, 0, nullptr, nullptr)
|
|
51
|
+
-1; // remove the trailing null character
|
|
52
|
+
int input_length = (int)wcslen(utf16_string);
|
|
53
|
+
std::string utf8_string;
|
|
54
|
+
if (target_length == 0 || target_length > utf8_string.max_size()) {
|
|
55
|
+
return utf8_string;
|
|
56
|
+
}
|
|
57
|
+
utf8_string.resize(target_length);
|
|
58
|
+
int converted_length = ::WideCharToMultiByte(
|
|
59
|
+
CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,
|
|
60
|
+
input_length, utf8_string.data(), target_length, nullptr, nullptr);
|
|
61
|
+
if (converted_length == 0) {
|
|
62
|
+
return std::string();
|
|
63
|
+
}
|
|
64
|
+
return utf8_string;
|
|
65
|
+
}
|
windows/runner/utils.h
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#ifndef RUNNER_UTILS_H_
|
|
2
|
+
#define RUNNER_UTILS_H_
|
|
3
|
+
|
|
4
|
+
#include <string>
|
|
5
|
+
#include <vector>
|
|
6
|
+
|
|
7
|
+
// Creates a console for the process, and redirects stdout and stderr to
|
|
8
|
+
// it for both the runner and the Flutter library.
|
|
9
|
+
void CreateAndAttachConsole();
|
|
10
|
+
|
|
11
|
+
// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string
|
|
12
|
+
// encoded in UTF-8. Returns an empty std::string on failure.
|
|
13
|
+
std::string Utf8FromUtf16(const wchar_t* utf16_string);
|
|
14
|
+
|
|
15
|
+
// Gets the command line arguments passed in as a std::vector<std::string>,
|
|
16
|
+
// encoded in UTF-8. Returns an empty std::vector<std::string> on failure.
|
|
17
|
+
std::vector<std::string> GetCommandLineArguments();
|
|
18
|
+
|
|
19
|
+
#endif // RUNNER_UTILS_H_
|
windows/runner/win32_window.cpp
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
#include "win32_window.h"
|
|
2
|
+
|
|
3
|
+
#include <dwmapi.h>
|
|
4
|
+
#include <flutter_windows.h>
|
|
5
|
+
|
|
6
|
+
#include "resource.h"
|
|
7
|
+
|
|
8
|
+
namespace {
|
|
9
|
+
|
|
10
|
+
/// Window attribute that enables dark mode window decorations.
|
|
11
|
+
///
|
|
12
|
+
/// Redefined in case the developer's machine has a Windows SDK older than
|
|
13
|
+
/// version 10.0.22000.0.
|
|
14
|
+
/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute
|
|
15
|
+
#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE
|
|
16
|
+
#define DWMWA_USE_IMMERSIVE_DARK_MODE 20
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW";
|
|
20
|
+
|
|
21
|
+
/// Registry key for app theme preference.
|
|
22
|
+
///
|
|
23
|
+
/// A value of 0 indicates apps should use dark mode. A non-zero or missing
|
|
24
|
+
/// value indicates apps should use light mode.
|
|
25
|
+
constexpr const wchar_t kGetPreferredBrightnessRegKey[] =
|
|
26
|
+
L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
|
|
27
|
+
constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme";
|
|
28
|
+
|
|
29
|
+
// The number of Win32Window objects that currently exist.
|
|
30
|
+
static int g_active_window_count = 0;
|
|
31
|
+
|
|
32
|
+
using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd);
|
|
33
|
+
|
|
34
|
+
// Scale helper to convert logical scaler values to physical using passed in
|
|
35
|
+
// scale factor
|
|
36
|
+
int Scale(int source, double scale_factor) {
|
|
37
|
+
return static_cast<int>(source * scale_factor);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module.
|
|
41
|
+
// This API is only needed for PerMonitor V1 awareness mode.
|
|
42
|
+
void EnableFullDpiSupportIfAvailable(HWND hwnd) {
|
|
43
|
+
HMODULE user32_module = LoadLibraryA("User32.dll");
|
|
44
|
+
if (!user32_module) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
auto enable_non_client_dpi_scaling =
|
|
48
|
+
reinterpret_cast<EnableNonClientDpiScaling*>(
|
|
49
|
+
GetProcAddress(user32_module, "EnableNonClientDpiScaling"));
|
|
50
|
+
if (enable_non_client_dpi_scaling != nullptr) {
|
|
51
|
+
enable_non_client_dpi_scaling(hwnd);
|
|
52
|
+
}
|
|
53
|
+
FreeLibrary(user32_module);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
} // namespace
|
|
57
|
+
|
|
58
|
+
// Manages the Win32Window's window class registration.
|
|
59
|
+
class WindowClassRegistrar {
|
|
60
|
+
public:
|
|
61
|
+
~WindowClassRegistrar() = default;
|
|
62
|
+
|
|
63
|
+
// Returns the singleton registrar instance.
|
|
64
|
+
static WindowClassRegistrar* GetInstance() {
|
|
65
|
+
if (!instance_) {
|
|
66
|
+
instance_ = new WindowClassRegistrar();
|
|
67
|
+
}
|
|
68
|
+
return instance_;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Returns the name of the window class, registering the class if it hasn't
|
|
72
|
+
// previously been registered.
|
|
73
|
+
const wchar_t* GetWindowClass();
|
|
74
|
+
|
|
75
|
+
// Unregisters the window class. Should only be called if there are no
|
|
76
|
+
// instances of the window.
|
|
77
|
+
void UnregisterWindowClass();
|
|
78
|
+
|
|
79
|
+
private:
|
|
80
|
+
WindowClassRegistrar() = default;
|
|
81
|
+
|
|
82
|
+
static WindowClassRegistrar* instance_;
|
|
83
|
+
|
|
84
|
+
bool class_registered_ = false;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr;
|
|
88
|
+
|
|
89
|
+
const wchar_t* WindowClassRegistrar::GetWindowClass() {
|
|
90
|
+
if (!class_registered_) {
|
|
91
|
+
WNDCLASS window_class{};
|
|
92
|
+
window_class.hCursor = LoadCursor(nullptr, IDC_ARROW);
|
|
93
|
+
window_class.lpszClassName = kWindowClassName;
|
|
94
|
+
window_class.style = CS_HREDRAW | CS_VREDRAW;
|
|
95
|
+
window_class.cbClsExtra = 0;
|
|
96
|
+
window_class.cbWndExtra = 0;
|
|
97
|
+
window_class.hInstance = GetModuleHandle(nullptr);
|
|
98
|
+
window_class.hIcon =
|
|
99
|
+
LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON));
|
|
100
|
+
window_class.hbrBackground = 0;
|
|
101
|
+
window_class.lpszMenuName = nullptr;
|
|
102
|
+
window_class.lpfnWndProc = Win32Window::WndProc;
|
|
103
|
+
RegisterClass(&window_class);
|
|
104
|
+
class_registered_ = true;
|
|
105
|
+
}
|
|
106
|
+
return kWindowClassName;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
void WindowClassRegistrar::UnregisterWindowClass() {
|
|
110
|
+
UnregisterClass(kWindowClassName, nullptr);
|
|
111
|
+
class_registered_ = false;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
Win32Window::Win32Window() {
|
|
115
|
+
++g_active_window_count;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
Win32Window::~Win32Window() {
|
|
119
|
+
--g_active_window_count;
|
|
120
|
+
Destroy();
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
bool Win32Window::Create(const std::wstring& title,
|
|
124
|
+
const Point& origin,
|
|
125
|
+
const Size& size) {
|
|
126
|
+
Destroy();
|
|
127
|
+
|
|
128
|
+
const wchar_t* window_class =
|
|
129
|
+
WindowClassRegistrar::GetInstance()->GetWindowClass();
|
|
130
|
+
|
|
131
|
+
const POINT target_point = {static_cast<LONG>(origin.x),
|
|
132
|
+
static_cast<LONG>(origin.y)};
|
|
133
|
+
HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST);
|
|
134
|
+
UINT dpi = FlutterDesktopGetDpiForMonitor(monitor);
|
|
135
|
+
double scale_factor = dpi / 96.0;
|
|
136
|
+
|
|
137
|
+
HWND window = CreateWindow(
|
|
138
|
+
window_class, title.c_str(), WS_OVERLAPPEDWINDOW,
|
|
139
|
+
Scale(origin.x, scale_factor), Scale(origin.y, scale_factor),
|
|
140
|
+
Scale(size.width, scale_factor), Scale(size.height, scale_factor),
|
|
141
|
+
nullptr, nullptr, GetModuleHandle(nullptr), this);
|
|
142
|
+
|
|
143
|
+
if (!window) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
UpdateTheme(window);
|
|
148
|
+
|
|
149
|
+
return OnCreate();
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
bool Win32Window::Show() {
|
|
153
|
+
return ShowWindow(window_handle_, SW_SHOWNORMAL);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// static
|
|
157
|
+
LRESULT CALLBACK Win32Window::WndProc(HWND const window,
|
|
158
|
+
UINT const message,
|
|
159
|
+
WPARAM const wparam,
|
|
160
|
+
LPARAM const lparam) noexcept {
|
|
161
|
+
if (message == WM_NCCREATE) {
|
|
162
|
+
auto window_struct = reinterpret_cast<CREATESTRUCT*>(lparam);
|
|
163
|
+
SetWindowLongPtr(window, GWLP_USERDATA,
|
|
164
|
+
reinterpret_cast<LONG_PTR>(window_struct->lpCreateParams));
|
|
165
|
+
|
|
166
|
+
auto that = static_cast<Win32Window*>(window_struct->lpCreateParams);
|
|
167
|
+
EnableFullDpiSupportIfAvailable(window);
|
|
168
|
+
that->window_handle_ = window;
|
|
169
|
+
} else if (Win32Window* that = GetThisFromHandle(window)) {
|
|
170
|
+
return that->MessageHandler(window, message, wparam, lparam);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return DefWindowProc(window, message, wparam, lparam);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
LRESULT
|
|
177
|
+
Win32Window::MessageHandler(HWND hwnd,
|
|
178
|
+
UINT const message,
|
|
179
|
+
WPARAM const wparam,
|
|
180
|
+
LPARAM const lparam) noexcept {
|
|
181
|
+
switch (message) {
|
|
182
|
+
case WM_DESTROY:
|
|
183
|
+
window_handle_ = nullptr;
|
|
184
|
+
Destroy();
|
|
185
|
+
if (quit_on_close_) {
|
|
186
|
+
PostQuitMessage(0);
|
|
187
|
+
}
|
|
188
|
+
return 0;
|
|
189
|
+
|
|
190
|
+
case WM_DPICHANGED: {
|
|
191
|
+
auto newRectSize = reinterpret_cast<RECT*>(lparam);
|
|
192
|
+
LONG newWidth = newRectSize->right - newRectSize->left;
|
|
193
|
+
LONG newHeight = newRectSize->bottom - newRectSize->top;
|
|
194
|
+
|
|
195
|
+
SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth,
|
|
196
|
+
newHeight, SWP_NOZORDER | SWP_NOACTIVATE);
|
|
197
|
+
|
|
198
|
+
return 0;
|
|
199
|
+
}
|
|
200
|
+
case WM_SIZE: {
|
|
201
|
+
RECT rect = GetClientArea();
|
|
202
|
+
if (child_content_ != nullptr) {
|
|
203
|
+
// Size and position the child window.
|
|
204
|
+
MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left,
|
|
205
|
+
rect.bottom - rect.top, TRUE);
|
|
206
|
+
}
|
|
207
|
+
return 0;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
case WM_ACTIVATE:
|
|
211
|
+
if (child_content_ != nullptr) {
|
|
212
|
+
SetFocus(child_content_);
|
|
213
|
+
}
|
|
214
|
+
return 0;
|
|
215
|
+
|
|
216
|
+
case WM_DWMCOLORIZATIONCOLORCHANGED:
|
|
217
|
+
UpdateTheme(hwnd);
|
|
218
|
+
return 0;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
return DefWindowProc(window_handle_, message, wparam, lparam);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
void Win32Window::Destroy() {
|
|
225
|
+
OnDestroy();
|
|
226
|
+
|
|
227
|
+
if (window_handle_) {
|
|
228
|
+
DestroyWindow(window_handle_);
|
|
229
|
+
window_handle_ = nullptr;
|
|
230
|
+
}
|
|
231
|
+
if (g_active_window_count == 0) {
|
|
232
|
+
WindowClassRegistrar::GetInstance()->UnregisterWindowClass();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {
|
|
237
|
+
return reinterpret_cast<Win32Window*>(
|
|
238
|
+
GetWindowLongPtr(window, GWLP_USERDATA));
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
void Win32Window::SetChildContent(HWND content) {
|
|
242
|
+
child_content_ = content;
|
|
243
|
+
SetParent(content, window_handle_);
|
|
244
|
+
RECT frame = GetClientArea();
|
|
245
|
+
|
|
246
|
+
MoveWindow(content, frame.left, frame.top, frame.right - frame.left,
|
|
247
|
+
frame.bottom - frame.top, true);
|
|
248
|
+
|
|
249
|
+
SetFocus(child_content_);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
RECT Win32Window::GetClientArea() {
|
|
253
|
+
RECT frame;
|
|
254
|
+
GetClientRect(window_handle_, &frame);
|
|
255
|
+
return frame;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
HWND Win32Window::GetHandle() {
|
|
259
|
+
return window_handle_;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
void Win32Window::SetQuitOnClose(bool quit_on_close) {
|
|
263
|
+
quit_on_close_ = quit_on_close;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
bool Win32Window::OnCreate() {
|
|
267
|
+
// No-op; provided for subclasses.
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
void Win32Window::OnDestroy() {
|
|
272
|
+
// No-op; provided for subclasses.
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
void Win32Window::UpdateTheme(HWND const window) {
|
|
276
|
+
DWORD light_mode;
|
|
277
|
+
DWORD light_mode_size = sizeof(light_mode);
|
|
278
|
+
LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey,
|
|
279
|
+
kGetPreferredBrightnessRegValue,
|
|
280
|
+
RRF_RT_REG_DWORD, nullptr, &light_mode,
|
|
281
|
+
&light_mode_size);
|
|
282
|
+
|
|
283
|
+
if (result == ERROR_SUCCESS) {
|
|
284
|
+
BOOL enable_dark_mode = light_mode == 0;
|
|
285
|
+
DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE,
|
|
286
|
+
&enable_dark_mode, sizeof(enable_dark_mode));
|
|
287
|
+
}
|
|
288
|
+
}
|
windows/runner/win32_window.h
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#ifndef RUNNER_WIN32_WINDOW_H_
|
|
2
|
+
#define RUNNER_WIN32_WINDOW_H_
|
|
3
|
+
|
|
4
|
+
#include <windows.h>
|
|
5
|
+
|
|
6
|
+
#include <functional>
|
|
7
|
+
#include <memory>
|
|
8
|
+
#include <string>
|
|
9
|
+
|
|
10
|
+
// A class abstraction for a high DPI-aware Win32 Window. Intended to be
|
|
11
|
+
// inherited from by classes that wish to specialize with custom
|
|
12
|
+
// rendering and input handling
|
|
13
|
+
class Win32Window {
|
|
14
|
+
public:
|
|
15
|
+
struct Point {
|
|
16
|
+
unsigned int x;
|
|
17
|
+
unsigned int y;
|
|
18
|
+
Point(unsigned int x, unsigned int y) : x(x), y(y) {}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
struct Size {
|
|
22
|
+
unsigned int width;
|
|
23
|
+
unsigned int height;
|
|
24
|
+
Size(unsigned int width, unsigned int height)
|
|
25
|
+
: width(width), height(height) {}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
Win32Window();
|
|
29
|
+
virtual ~Win32Window();
|
|
30
|
+
|
|
31
|
+
// Creates a win32 window with |title| that is positioned and sized using
|
|
32
|
+
// |origin| and |size|. New windows are created on the default monitor. Window
|
|
33
|
+
// sizes are specified to the OS in physical pixels, hence to ensure a
|
|
34
|
+
// consistent size this function will scale the inputted width and height as
|
|
35
|
+
// as appropriate for the default monitor. The window is invisible until
|
|
36
|
+
// |Show| is called. Returns true if the window was created successfully.
|
|
37
|
+
bool Create(const std::wstring& title, const Point& origin, const Size& size);
|
|
38
|
+
|
|
39
|
+
// Show the current window. Returns true if the window was successfully shown.
|
|
40
|
+
bool Show();
|
|
41
|
+
|
|
42
|
+
// Release OS resources associated with window.
|
|
43
|
+
void Destroy();
|
|
44
|
+
|
|
45
|
+
// Inserts |content| into the window tree.
|
|
46
|
+
void SetChildContent(HWND content);
|
|
47
|
+
|
|
48
|
+
// Returns the backing Window handle to enable clients to set icon and other
|
|
49
|
+
// window properties. Returns nullptr if the window has been destroyed.
|
|
50
|
+
HWND GetHandle();
|
|
51
|
+
|
|
52
|
+
// If true, closing this window will quit the application.
|
|
53
|
+
void SetQuitOnClose(bool quit_on_close);
|
|
54
|
+
|
|
55
|
+
// Return a RECT representing the bounds of the current client area.
|
|
56
|
+
RECT GetClientArea();
|
|
57
|
+
|
|
58
|
+
protected:
|
|
59
|
+
// Processes and route salient window messages for mouse handling,
|
|
60
|
+
// size change and DPI. Delegates handling of these to member overloads that
|
|
61
|
+
// inheriting classes can handle.
|
|
62
|
+
virtual LRESULT MessageHandler(HWND window,
|
|
63
|
+
UINT const message,
|
|
64
|
+
WPARAM const wparam,
|
|
65
|
+
LPARAM const lparam) noexcept;
|
|
66
|
+
|
|
67
|
+
// Called when CreateAndShow is called, allowing subclass window-related
|
|
68
|
+
// setup. Subclasses should return false if setup fails.
|
|
69
|
+
virtual bool OnCreate();
|
|
70
|
+
|
|
71
|
+
// Called when Destroy is called.
|
|
72
|
+
virtual void OnDestroy();
|
|
73
|
+
|
|
74
|
+
private:
|
|
75
|
+
friend class WindowClassRegistrar;
|
|
76
|
+
|
|
77
|
+
// OS callback called by message pump. Handles the WM_NCCREATE message which
|
|
78
|
+
// is passed when the non-client area is being created and enables automatic
|
|
79
|
+
// non-client DPI scaling so that the non-client area automatically
|
|
80
|
+
// responds to changes in DPI. All other messages are handled by
|
|
81
|
+
// MessageHandler.
|
|
82
|
+
static LRESULT CALLBACK WndProc(HWND const window,
|
|
83
|
+
UINT const message,
|
|
84
|
+
WPARAM const wparam,
|
|
85
|
+
LPARAM const lparam) noexcept;
|
|
86
|
+
|
|
87
|
+
// Retrieves a class instance pointer for |window|
|
|
88
|
+
static Win32Window* GetThisFromHandle(HWND const window) noexcept;
|
|
89
|
+
|
|
90
|
+
// Update the window frame's theme to match the system theme.
|
|
91
|
+
static void UpdateTheme(HWND const window);
|
|
92
|
+
|
|
93
|
+
bool quit_on_close_ = false;
|
|
94
|
+
|
|
95
|
+
// window handle for top level window.
|
|
96
|
+
HWND window_handle_ = nullptr;
|
|
97
|
+
|
|
98
|
+
// window handle for hosted content.
|
|
99
|
+
HWND child_content_ = nullptr;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
#endif // RUNNER_WIN32_WINDOW_H_
|