From 568dffd3fd05f807e7d4efb06d6760e62ffb4095 Mon Sep 17 00:00:00 2001 From: Abhay Maurya Date: Thu, 28 Oct 2021 18:33:18 +0530 Subject: [PATCH 01/36] fixes #242 --- pubspec.lock | 304 +++++++++++++++++++++++++++++---------------------- pubspec.yaml | 40 +++---- 2 files changed, 193 insertions(+), 151 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index c3704cf3..4f722fb1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,28 +7,28 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "21.0.0" + version: "30.0.0" analyzer: dependency: "direct dev" description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "1.5.0" + version: "2.7.0" animations: dependency: "direct main" description: name: animations url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" archive: dependency: transitive description: name: archive url: "https://pub.dartlang.org" source: hosted - version: "3.1.2" + version: "3.1.6" args: dependency: transitive description: @@ -49,14 +49,14 @@ packages: name: bloc url: "https://pub.dartlang.org" source: hosted - version: "6.1.3" + version: "7.2.1" build: dependency: transitive description: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.1.1" build_config: dependency: transitive description: @@ -70,56 +70,70 @@ packages: name: build_daemon url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.1" build_resolvers: dependency: transitive description: name: build_resolvers url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.4" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.1.4" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "7.0.0" + version: "7.2.2" built_collection: dependency: transitive description: name: built_collection url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "5.1.1" built_value: dependency: transitive description: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.0.5" + version: "8.1.3" cached_network_image: dependency: "direct main" description: name: cached_network_image url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.1.0" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" carousel_slider: dependency: "direct main" description: name: carousel_slider url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "4.0.0" characters: dependency: transitive description: @@ -133,7 +147,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.1" checked_yaml: dependency: transitive description: @@ -147,7 +161,7 @@ packages: name: cli_util url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.3.5" clock: dependency: transitive description: @@ -161,28 +175,28 @@ packages: name: cloud_firestore url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "2.5.4" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.0.3" + version: "5.4.3" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "2.4.4" code_builder: dependency: transitive description: name: code_builder url: "https://pub.dartlang.org" source: hosted - version: "4.0.0" + version: "4.1.0" collection: dependency: transitive description: @@ -197,6 +211,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.1" + cross_file: + dependency: transitive + description: + name: cross_file + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.2" crypto: dependency: "direct overridden" description: @@ -210,7 +231,7 @@ packages: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.2.0" data_connection_checker: dependency: "direct main" description: @@ -218,6 +239,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.3.4" + dbus: + dependency: transitive + description: + name: dbus + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.6" device_apps: dependency: "direct main" description: @@ -231,21 +259,21 @@ packages: name: device_info url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" device_info_platform_interface: dependency: transitive description: name: device_info_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" extended_image: dependency: "direct main" description: name: extended_image url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "5.1.3" extended_image_library: dependency: transitive description: @@ -259,14 +287,14 @@ packages: name: ffi url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.2" file: dependency: transitive description: name: file url: "https://pub.dartlang.org" source: hosted - version: "6.1.0" + version: "6.1.2" file_encrypter: dependency: "direct main" description: @@ -280,133 +308,133 @@ packages: name: firebase url: "https://pub.dartlang.org" source: hosted - version: "9.0.1" + version: "9.0.2" firebase_analytics: dependency: "direct main" description: name: firebase_analytics url: "https://pub.dartlang.org" source: hosted - version: "8.0.2" + version: "8.3.4" firebase_analytics_platform_interface: dependency: transitive description: name: firebase_analytics_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" firebase_analytics_web: dependency: transitive description: name: firebase_analytics_web url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.3.0+1" firebase_auth: dependency: "direct main" description: name: firebase_auth url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" + version: "3.1.4" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.2.0" + version: "6.1.2" firebase_auth_web: dependency: transitive description: name: firebase_auth_web url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "3.1.3" firebase_core: dependency: "direct overridden" description: name: firebase_core url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.8.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.0.0" + version: "4.0.1" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.1.0" firebase_dynamic_links: dependency: "direct main" description: name: firebase_dynamic_links url: "https://pub.dartlang.org" source: hosted - version: "0.5.3" + version: "2.0.11" firebase_in_app_messaging: dependency: "direct main" description: name: firebase_in_app_messaging url: "https://pub.dartlang.org" source: hosted - version: "0.5.0+4" + version: "0.5.0+11" firebase_messaging: dependency: "direct main" description: name: firebase_messaging url: "https://pub.dartlang.org" source: hosted - version: "9.1.3" + version: "10.0.9" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.1.3" + version: "3.0.7" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.6" + version: "2.0.7" firebase_remote_config: dependency: "direct main" description: name: firebase_remote_config url: "https://pub.dartlang.org" source: hosted - version: "0.6.0" - fixnum: + version: "0.11.0+2" + firebase_remote_config_platform_interface: dependency: transitive description: - name: fixnum + name: firebase_remote_config_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" - flare_dart: + version: "0.3.0+7" + fixnum: dependency: transitive description: - name: flare_dart + name: fixnum url: "https://pub.dartlang.org" source: hosted - version: "2.3.4" + version: "1.0.0" flare_flutter: dependency: "direct main" description: name: flare_flutter url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "3.0.2" flutter: dependency: "direct main" description: flutter @@ -418,14 +446,14 @@ packages: name: flutter_archive url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.1.0" flutter_bloc: dependency: transitive description: name: flutter_bloc url: "https://pub.dartlang.org" source: hosted - version: "6.1.3" + version: "7.1.0" flutter_blurhash: dependency: transitive description: @@ -446,14 +474,14 @@ packages: name: flutter_displaymode url: "https://pub.dartlang.org" source: hosted - version: "0.3.1-nullsafety.0" + version: "0.3.2" flutter_image_compress: dependency: "direct main" description: name: flutter_image_compress url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.0" flutter_launcher_icons: dependency: "direct dev" description: @@ -467,14 +495,21 @@ packages: name: flutter_local_notifications url: "https://pub.dartlang.org" source: hosted - version: "5.0.0+3" + version: "9.0.1" + flutter_local_notifications_linux: + dependency: transitive + description: + name: flutter_local_notifications_linux + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.0" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "5.0.0" flutter_mailer: dependency: "direct main" description: @@ -488,28 +523,28 @@ packages: name: flutter_native_splash url: "https://pub.dartlang.org" source: hosted - version: "1.2.3" + version: "1.3.1" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.4" flutter_staggered_grid_view: dependency: "direct main" description: name: flutter_staggered_grid_view url: "https://pub.dartlang.org" source: hosted - version: "0.4.0" + version: "0.4.1" flutter_svg: dependency: "direct main" description: name: flutter_svg url: "https://pub.dartlang.org" source: hosted - version: "0.22.0" + version: "0.23.0+1" flutter_web_plugins: dependency: transitive description: flutter @@ -521,14 +556,21 @@ packages: name: fluttertoast url: "https://pub.dartlang.org" source: hosted - version: "8.0.6" + version: "8.0.8" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" gallery_saver: dependency: "direct main" description: name: gallery_saver url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.3.2" get_it: dependency: "direct main" description: @@ -542,49 +584,49 @@ packages: name: github url: "https://pub.dartlang.org" source: hosted - version: "8.1.0" + version: "8.2.3" glob: dependency: transitive description: name: glob url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" google_mobile_ads: dependency: "direct main" description: name: google_mobile_ads url: "https://pub.dartlang.org" source: hosted - version: "0.13.0" + version: "0.13.5" google_sign_in: dependency: "direct main" description: name: google_sign_in url: "https://pub.dartlang.org" source: hosted - version: "5.0.2" + version: "5.2.0" google_sign_in_platform_interface: dependency: transitive description: name: google_sign_in_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.1.0" google_sign_in_web: dependency: transitive description: name: google_sign_in_web url: "https://pub.dartlang.org" source: hosted - version: "0.10.0" + version: "0.10.0+3" graphs: dependency: transitive description: name: graphs url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" hive: dependency: "direct main" description: @@ -598,21 +640,21 @@ packages: name: hive_flutter url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.0" hive_generator: dependency: "direct dev" description: name: hive_generator url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" http: dependency: "direct overridden" description: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.13.2" + version: "0.13.4" http_client_helper: dependency: transitive description: @@ -640,35 +682,35 @@ packages: name: image url: "https://pub.dartlang.org" source: hosted - version: "3.0.2" + version: "3.0.8" image_editor: dependency: "direct main" description: name: image_editor url: "https://pub.dartlang.org" source: hosted - version: "0.7.3" + version: "1.0.1" image_picker: dependency: "direct main" description: name: image_picker url: "https://pub.dartlang.org" source: hosted - version: "0.7.4" + version: "0.8.4+3" image_picker_for_web: dependency: transitive description: name: image_picker_for_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.4" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.4.1" in_app_update: dependency: "direct main" description: @@ -689,7 +731,7 @@ packages: name: io url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.3" js: dependency: transitive description: @@ -703,56 +745,56 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.3.0" json_serializable: dependency: "direct main" description: name: json_serializable url: "https://pub.dartlang.org" source: hosted - version: "4.1.4" + version: "6.0.1" lint: dependency: "direct dev" description: name: lint url: "https://pub.dartlang.org" source: hosted - version: "1.5.3" + version: "1.7.2" logger: dependency: "direct main" description: name: logger url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.0" logging: dependency: transitive description: name: logging url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "1.0.2" matcher: dependency: transitive description: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.10" + version: "0.12.11" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.7.0" mime: dependency: transitive description: name: mime url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.1" nested: dependency: transitive description: @@ -773,21 +815,21 @@ packages: name: package_config url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" paginate_firestore: dependency: "direct main" description: name: paginate_firestore url: "https://pub.dartlang.org" source: hosted - version: "0.3.1" + version: "1.0.2" palette_generator: dependency: "direct main" description: name: palette_generator url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.3.2" path: dependency: transitive description: @@ -801,35 +843,35 @@ packages: name: path_drawing url: "https://pub.dartlang.org" source: hosted - version: "0.5.0" + version: "0.5.1+1" path_parsing: dependency: transitive description: name: path_parsing url: "https://pub.dartlang.org" source: hosted - version: "0.2.0" + version: "0.2.1" path_provider: dependency: "direct overridden" description: name: path_provider url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.6" path_provider_linux: dependency: transitive description: name: path_provider_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" path_provider_macos: dependency: transitive description: name: path_provider_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" path_provider_platform_interface: dependency: transitive description: @@ -843,49 +885,49 @@ packages: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.3" pedantic: dependency: transitive description: name: pedantic url: "https://pub.dartlang.org" source: hosted - version: "1.11.0" + version: "1.11.1" permission_handler: dependency: "direct main" description: name: permission_handler url: "https://pub.dartlang.org" source: hosted - version: "7.1.0" + version: "8.2.5" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.3.0" + version: "3.7.0" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.4.0" photo_view: dependency: "direct main" description: name: photo_view url: "https://pub.dartlang.org" source: hosted - version: "0.11.1" + version: "0.13.0" photofilters: dependency: "direct main" description: name: photofilters url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "3.0.1" pixel_perfect: dependency: "direct main" description: @@ -899,14 +941,14 @@ packages: name: platform url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.2" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" pool: dependency: transitive description: @@ -920,42 +962,42 @@ packages: name: process url: "https://pub.dartlang.org" source: hosted - version: "4.2.1" + version: "4.2.4" provider: dependency: "direct main" description: name: provider url: "https://pub.dartlang.org" source: hosted - version: "4.3.3" + version: "5.0.0" pub_semver: dependency: transitive description: name: pub_semver url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" pubspec_parse: dependency: transitive description: name: pubspec_parse url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.0" purchases_flutter: dependency: "direct main" description: name: purchases_flutter url: "https://pub.dartlang.org" source: hosted - version: "3.2.1" + version: "3.4.6" quick_actions: dependency: "direct main" description: name: quick_actions url: "https://pub.dartlang.org" source: hosted - version: "0.6.0+1" + version: "0.6.0+7" quick_actions_platform_interface: dependency: transitive description: @@ -969,7 +1011,7 @@ packages: name: quiver url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.0.1+1" rxdart: dependency: "direct main" description: @@ -983,21 +1025,21 @@ packages: name: screenshot url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "1.2.3" share: dependency: "direct main" description: name: share url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.4" shelf: dependency: transitive description: name: shelf url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.2.0" shelf_web_socket: dependency: transitive description: @@ -1023,14 +1065,14 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.1" source_helper: dependency: transitive description: name: source_helper url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.3.0" source_span: dependency: transitive description: @@ -1044,14 +1086,14 @@ packages: name: sqflite url: "https://pub.dartlang.org" source: hosted - version: "2.0.0+3" + version: "2.0.0+4" sqflite_common: dependency: transitive description: name: sqflite_common url: "https://pub.dartlang.org" source: hosted - version: "2.0.0+2" + version: "2.0.1+1" stack_trace: dependency: transitive description: @@ -1100,14 +1142,14 @@ packages: name: timeago url: "https://pub.dartlang.org" source: hosted - version: "3.0.2" + version: "3.1.0" timezone: dependency: transitive description: name: timezone url: "https://pub.dartlang.org" source: hosted - version: "0.7.0" + version: "0.8.0" timing: dependency: transitive description: @@ -1135,49 +1177,49 @@ packages: name: url_launcher url: "https://pub.dartlang.org" source: hosted - version: "6.0.3" + version: "6.0.12" url_launcher_linux: dependency: transitive description: name: url_launcher_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" url_launcher_macos: dependency: transitive description: name: url_launcher_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.4" url_launcher_web: dependency: transitive description: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.4" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.2" uuid: dependency: transitive description: name: uuid url: "https://pub.dartlang.org" source: hosted - version: "3.0.4" + version: "3.0.5" vector_math: dependency: transitive description: @@ -1191,21 +1233,21 @@ packages: name: watcher url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.1" web_socket_channel: dependency: transitive description: name: web_socket_channel url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" win32: dependency: transitive description: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.0.5" + version: "2.2.10" xdg_directories: dependency: transitive description: @@ -1219,7 +1261,7 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.1.2" + version: "5.3.1" yaml: dependency: transitive description: @@ -1228,5 +1270,5 @@ packages: source: hosted version: "3.1.0" sdks: - dart: ">=2.12.0 <3.0.0" - flutter: ">=2.0.0" + dart: ">=2.14.0 <3.0.0" + flutter: ">=2.5.0" diff --git a/pubspec.yaml b/pubspec.yaml index ca025dbd..1490e215 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,30 +20,30 @@ environment: dependencies: animations: ^2.0.0 cached_network_image: ^3.0.0 - carousel_slider: ^3.0.0 - cloud_firestore: ^1.0.7 + carousel_slider: ^4.0.0 + cloud_firestore: ^2.5.4 data_connection_checker: ^0.3.4 device_apps: ^2.1.1 device_info: ^2.0.0 - extended_image: ^4.1.0 + extended_image: ^5.1.3 file_encrypter: ^1.0.1 firebase_analytics: ^8.0.2 - firebase_auth: ^1.1.2 - firebase_dynamic_links: ^0.5.1 + firebase_auth: ^3.1.4 + firebase_dynamic_links: ^2.0.11 firebase_in_app_messaging: ^0.5.0+4 - firebase_messaging: ^9.1.3 - firebase_remote_config: ^0.6.0 - flare_flutter: ^2.0.5 + firebase_messaging: ^10.0.9 + firebase_remote_config: ^0.11.0+2 + flare_flutter: ^3.0.2 flutter: sdk: flutter flutter_archive: ^4.0.1 flutter_displaymode: ^0.3.1-nullsafety.0 flutter_image_compress: ^1.0.0 - flutter_local_notifications: ^5.0.0+3 + flutter_local_notifications: ^9.0.1 flutter_mailer: ^2.0.0 flutter_native_splash: ^1.2.1 flutter_staggered_grid_view: ^0.4.0 - flutter_svg: ^0.22.0 + flutter_svg: ^0.23.0+1 fluttertoast: ^8.0.6 gallery_saver: ^2.1.0 get_it: ^7.2.0 @@ -53,22 +53,22 @@ dependencies: hive: ^2.0.4 hive_flutter: ^1.0.0 image: ^3.0.2 - image_editor: ^0.7.1 - image_picker: ^0.7.4 + image_editor: ^1.0.1 + image_picker: ^0.8.4+3 in_app_update: ^2.0.0 - json_serializable: ^4.1.4 + json_serializable: ^6.0.1 logger: ^1.0.0 - paginate_firestore: ^0.3.1 + paginate_firestore: ^1.0.2 palette_generator: ^0.3.0 - permission_handler: ^7.1.0 - photo_view: ^0.11.1 - photofilters: ^2.0.1 + permission_handler: ^8.2.5 + photo_view: ^0.13.0 + photofilters: ^3.0.1 pixel_perfect: ^1.1.0 - provider: ^4.1.3 + provider: ^5.0.0 purchases_flutter: ^3.2.1 quick_actions: ^0.6.0+1 rxdart: ^0.27.1 - screenshot: ^0.3.0 + screenshot: ^1.2.3 share: ^2.0.1 sliding_up_panel: ^2.0.0+1 timeago: ^3.0.2 @@ -81,7 +81,7 @@ dependency_overrides: crypto: ^3.0.0 # convert: ^2.1.0 dev_dependencies: - analyzer: ^1.5.0 + analyzer: ^2.7.0 build_runner: ^2.0.1 flutter_launcher_icons: ^0.9.0 hive_generator: ^1.1.0 From f998601ca3f99cc05b2e3b8d897859286da4ce16 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Wed, 1 Dec 2021 13:16:44 +0530 Subject: [PATCH 02/36] fix dependencies --- lib/notifications/localNotification.dart | 8 +++-- lib/ui/pages/upload/editWallScreen.dart | 8 ++--- pubspec.lock | 37 ++++++++++-------------- pubspec.yaml | 16 +++++----- 4 files changed, 32 insertions(+), 37 deletions(-) diff --git a/lib/notifications/localNotification.dart b/lib/notifications/localNotification.dart index 160e7d07..d8d7ed9d 100644 --- a/lib/notifications/localNotification.dart +++ b/lib/notifications/localNotification.dart @@ -40,7 +40,7 @@ class LocalNotification { final androidNotificationChannel = AndroidNotificationChannel( id, name, - description, + description: description, playSound: playSound, ); await flutterLocalNotificationsPlugin @@ -54,7 +54,8 @@ class LocalNotification { AndroidNotificationDetails( 'downloads', 'Downloads', - 'Get notifications for download progress of wallpapers.', + channelDescription: + 'Get notifications for download progress of wallpapers.', importance: Importance.max, priority: Priority.high, showProgress: true, @@ -80,7 +81,8 @@ class LocalNotification { AndroidNotificationDetails( 'downloads', 'Downloads', - 'Get notifications for download progress of wallpapers.', + channelDescription: + 'Get notifications for download progress of wallpapers.', importance: Importance.min, priority: Priority.min, color: Color(0xFFE57697), diff --git a/lib/ui/pages/upload/editWallScreen.dart b/lib/ui/pages/upload/editWallScreen.dart index 9e25e28a..72163a93 100644 --- a/lib/ui/pages/upload/editWallScreen.dart +++ b/lib/ui/pages/upload/editWallScreen.dart @@ -400,7 +400,7 @@ class _EditWallScreenState extends State { final ImageEditorOption option = ImageEditorOption(); - option.addOption(ClipOption.fromRect(rect)); + option.addOption(ClipOption.fromRect(rect!)); option.addOption( FlipOption(horizontal: flipHorizontal, vertical: flipVertical)); if (action.hasRotateAngle) { @@ -416,15 +416,15 @@ class _EditWallScreenState extends State { logger.d(const JsonEncoder.withIndent(' ').convert(option.toJson())); final DateTime start = DateTime.now(); - final Uint8List result = await ImageEditor.editImage( + final Uint8List? result = await ImageEditor.editImage( image: img, imageEditorOption: option, ); - logger.d('result.length = ${result.length}'); + logger.d('result.length = ${result?.length}'); final Duration diff = DateTime.now().difference(start); - image!.writeAsBytesSync(result); + image!.writeAsBytesSync(result!); logger.d('image_editor time : $diff'); if (navStack.length > 1) navStack.removeLast(); logger.d(navStack.toString()); diff --git a/pubspec.lock b/pubspec.lock index 4f722fb1..a4c5c2fa 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -49,7 +49,7 @@ packages: name: bloc url: "https://pub.dartlang.org" source: hosted - version: "7.2.1" + version: "6.1.3" build: dependency: transitive description: @@ -175,21 +175,21 @@ packages: name: cloud_firestore url: "https://pub.dartlang.org" source: hosted - version: "2.5.4" + version: "1.0.7" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "5.4.3" + version: "4.0.3" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web url: "https://pub.dartlang.org" source: hosted - version: "2.4.4" + version: "1.0.7" code_builder: dependency: transitive description: @@ -336,21 +336,21 @@ packages: name: firebase_auth url: "https://pub.dartlang.org" source: hosted - version: "3.1.4" + version: "1.4.1" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "6.1.2" + version: "4.3.1" firebase_auth_web: dependency: transitive description: name: firebase_auth_web url: "https://pub.dartlang.org" source: hosted - version: "3.1.3" + version: "1.3.1" firebase_core: dependency: "direct overridden" description: @@ -378,7 +378,7 @@ packages: name: firebase_dynamic_links url: "https://pub.dartlang.org" source: hosted - version: "2.0.11" + version: "0.5.3" firebase_in_app_messaging: dependency: "direct main" description: @@ -392,35 +392,28 @@ packages: name: firebase_messaging url: "https://pub.dartlang.org" source: hosted - version: "10.0.9" + version: "9.1.4" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.0.7" + version: "2.1.4" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.7" + version: "1.0.7" firebase_remote_config: dependency: "direct main" description: name: firebase_remote_config url: "https://pub.dartlang.org" source: hosted - version: "0.11.0+2" - firebase_remote_config_platform_interface: - dependency: transitive - description: - name: firebase_remote_config_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.0+7" + version: "0.6.0" fixnum: dependency: transitive description: @@ -453,7 +446,7 @@ packages: name: flutter_bloc url: "https://pub.dartlang.org" source: hosted - version: "7.1.0" + version: "6.1.3" flutter_blurhash: dependency: transitive description: @@ -822,7 +815,7 @@ packages: name: paginate_firestore url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "0.3.1" palette_generator: dependency: "direct main" description: @@ -969,7 +962,7 @@ packages: name: provider url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "4.3.3" pub_semver: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1490e215..f504b99b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,24 +15,24 @@ publish_to: none version: 2.6.9+77 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: ">=2.12.0 <3.0.0" dependencies: animations: ^2.0.0 cached_network_image: ^3.0.0 carousel_slider: ^4.0.0 - cloud_firestore: ^2.5.4 + cloud_firestore: ^1.0.7 data_connection_checker: ^0.3.4 device_apps: ^2.1.1 device_info: ^2.0.0 extended_image: ^5.1.3 file_encrypter: ^1.0.1 firebase_analytics: ^8.0.2 - firebase_auth: ^3.1.4 - firebase_dynamic_links: ^2.0.11 + firebase_auth: ^1.1.2 + firebase_dynamic_links: ^0.5.1 firebase_in_app_messaging: ^0.5.0+4 - firebase_messaging: ^10.0.9 - firebase_remote_config: ^0.11.0+2 + firebase_messaging: ^9.1.3 + firebase_remote_config: ^0.6.0 flare_flutter: ^3.0.2 flutter: sdk: flutter @@ -58,13 +58,13 @@ dependencies: in_app_update: ^2.0.0 json_serializable: ^6.0.1 logger: ^1.0.0 - paginate_firestore: ^1.0.2 + paginate_firestore: ^0.3.1 palette_generator: ^0.3.0 permission_handler: ^8.2.5 photo_view: ^0.13.0 photofilters: ^3.0.1 pixel_perfect: ^1.1.0 - provider: ^5.0.0 + provider: ^4.1.3 purchases_flutter: ^3.2.1 quick_actions: ^0.6.0+1 rxdart: ^0.27.1 From 9aee734b3402ff430e0ca31814a89e7e5ee2d471 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Wed, 1 Dec 2021 13:21:25 +0530 Subject: [PATCH 03/36] dart fix apply --- lib/auth/google_auth.dart | 7 +- lib/auth/userOldModel.dart | 3 +- .../provider/favouriteProvider.dart | 2 +- .../provider/favouriteSetupProvider.dart | 2 +- lib/data/links/model/linksModel.dart | 2 +- .../profile/wallpaper/getUserProfile.dart | 9 +-- .../wallpaper/profileSetupProvider.dart | 2 +- .../wallpaper/profileWallProvider.dart | 2 +- lib/data/setups/provider/setupProvider.dart | 4 +- lib/data/share/createDynamicLink.dart | 5 +- lib/data/upload/wallpaper/wallfirestore.dart | 7 +- .../provider/wallhavenWithoutProvider.dart | 4 +- lib/global/categoryProvider.dart | 4 +- lib/global/globals.dart | 4 +- lib/logger/logger.dart | 4 +- lib/main.dart | 15 ++-- lib/notifications/localNotification.dart | 2 +- lib/payments/upgrade.dart | 11 +-- lib/routes/router.dart | 21 +++--- lib/theme/darkThemeModel.dart | 6 +- lib/theme/theme.dart | 74 ++++--------------- lib/theme/themeModeProvider.dart | 2 +- lib/theme/themeModel.dart | 6 +- lib/ui/pages/adsNotLoading.dart | 4 +- lib/ui/pages/categories/colorScreen.dart | 4 +- lib/ui/pages/download/downloadScreen.dart | 3 +- .../download/downloadWallpaperViewScreen.dart | 5 +- .../pages/favourite/favouriteSetupScreen.dart | 2 +- .../favourite/favouriteSetupViewScreen.dart | 16 ++-- .../pages/favourite/favouriteWallScreen.dart | 2 +- .../favourite/favouriteWallViewScreen.dart | 9 ++- .../home/collections/collectionScreen.dart | 4 +- .../collections/collectionViewScreen.dart | 4 +- .../pages/home/core/notificationScreen.dart | 18 ++--- lib/ui/pages/home/core/oldVersionScreen.dart | 2 +- lib/ui/pages/home/core/pageManager.dart | 24 +++--- lib/ui/pages/home/core/splashScreen.dart | 9 ++- .../home/wallpapers/followingScreen.dart | 18 ++--- lib/ui/pages/home/wallpapers/homeScreen.dart | 2 +- .../wallpapers/wallpaperFilterScreen.dart | 7 +- .../home/wallpapers/wallpaperScreen.dart | 16 ++-- lib/ui/pages/onboarding/onboardingScreen.dart | 6 +- lib/ui/pages/onboarding/twitterigPopUp.dart | 2 +- lib/ui/pages/profile/aboutScreen.dart | 2 +- lib/ui/pages/profile/editSetupDetails.dart | 12 +-- lib/ui/pages/profile/followersScreen.dart | 7 +- lib/ui/pages/profile/profileScreen.dart | 29 +++----- .../pages/profile/profileSetupViewScreen.dart | 22 +++--- .../pages/profile/profileWallViewScreen.dart | 9 ++- lib/ui/pages/profile/reviewScreen.dart | 28 +++---- lib/ui/pages/profile/settings.dart | 20 ++--- lib/ui/pages/profile/sharePrismScreen.dart | 6 +- lib/ui/pages/profile/themeView.dart | 4 +- .../profile/userProfileSetupViewScreen.dart | 18 ++--- .../profile/userProfileWallViewScreen.dart | 9 ++- lib/ui/pages/search/searchScreen.dart | 7 +- .../pages/search/searchWallpaperScreen.dart | 11 +-- lib/ui/pages/search/userSearch.dart | 9 +-- lib/ui/pages/setup/setupScreen.dart | 6 +- lib/ui/pages/setup/setupViewScreen.dart | 8 +- lib/ui/pages/setup/shareSetupViewScreen.dart | 10 +-- lib/ui/pages/share/shareWallViewScreen.dart | 16 ++-- lib/ui/pages/upload/draftSetupScreen.dart | 16 +--- lib/ui/pages/upload/editWallScreen.dart | 51 ++++--------- lib/ui/pages/upload/setupGuidelines.dart | 8 +- lib/ui/pages/upload/uploadSetupScreen.dart | 14 ++-- lib/ui/pages/upload/uploadWallScreen.dart | 18 ++--- lib/ui/widgets/auth/googleButton.dart | 2 +- lib/ui/widgets/favourite/favLoader.dart | 4 +- lib/ui/widgets/favourite/favSetupLoader.dart | 4 +- .../focussedMenu/focusedMenuDetails.dart | 7 +- .../searchFocusedMenuDetails.dart | 3 +- .../home/collections/collectionsGrid.dart | 10 +-- .../home/collections/collectionsViewGrid.dart | 4 +- .../collections/loadingCardsCollection.dart | 2 +- lib/ui/widgets/home/core/bottomNavBar.dart | 8 +- lib/ui/widgets/home/core/categoriesBar.dart | 10 +-- lib/ui/widgets/home/core/colorBar.dart | 2 +- lib/ui/widgets/home/core/headingChipBar.dart | 2 +- .../widgets/home/wallpapers/clockOverlay.dart | 3 +- lib/ui/widgets/home/wallpapers/colorGrid.dart | 4 +- .../widgets/home/wallpapers/colorLoader.dart | 2 +- lib/ui/widgets/home/wallpapers/loading.dart | 2 +- .../widgets/home/wallpapers/pexelsGrid.dart | 4 +- .../widgets/home/wallpapers/pexelsTile.dart | 2 +- .../home/wallpapers/wallhavenGrid.dart | 4 +- .../home/wallpapers/wallhavenTile.dart | 4 +- .../home/wallpapers/wallpaperGrid.dart | 10 +-- .../home/wallpapers/wallpaperLoader.dart | 2 +- .../home/wallpapers/wallpaperTile.dart | 6 +- lib/ui/widgets/menuButton/downloadButton.dart | 12 ++- lib/ui/widgets/menuButton/editButton.dart | 8 +- lib/ui/widgets/menuButton/favIconButton.dart | 2 +- .../menuButton/favWallpaperButton.dart | 6 +- .../menuButton/setWallpaperButton.dart | 5 +- lib/ui/widgets/menuButton/shareButton.dart | 2 +- lib/ui/widgets/popup/categoryPopUp.dart | 4 +- lib/ui/widgets/popup/colorsPopUp.dart | 2 +- lib/ui/widgets/popup/contriPopUp.dart | 2 +- lib/ui/widgets/popup/editProfilePanel.dart | 18 ++--- lib/ui/widgets/popup/enterCodePanel.dart | 6 +- lib/ui/widgets/popup/linkPopUp.dart | 4 +- lib/ui/widgets/popup/noLoadLinkPopUp.dart | 2 +- lib/ui/widgets/popup/signInPopUp.dart | 8 +- .../widgets/premiumBanners/followingFeed.dart | 2 +- .../widgets/premiumBanners/premiumBanner.dart | 2 +- lib/ui/widgets/premiumBanners/setup.dart | 2 +- lib/ui/widgets/premiumBanners/setupOld.dart | 2 +- .../premiumBanners/setupPhotographer.dart | 2 +- lib/ui/widgets/premiumBanners/walls.dart | 2 +- .../widgets/premiumBanners/wallsCarousel.dart | 2 +- lib/ui/widgets/profile/downloadList.dart | 3 +- lib/ui/widgets/profile/generalList.dart | 4 +- lib/ui/widgets/profile/premiumList.dart | 4 +- lib/ui/widgets/profile/prismList.dart | 3 +- .../widgets/profile/uploadedSetupsLoader.dart | 2 +- .../widgets/profile/uploadedWallsLoader.dart | 2 +- lib/ui/widgets/profile/userList.dart | 10 +-- lib/ui/widgets/profile/userProfileGrid.dart | 8 +- lib/ui/widgets/profile/userProfileLoader.dart | 2 +- .../widgets/profile/userProfileSetupGrid.dart | 8 +- .../profile/userProfileSetupLoader.dart | 2 +- lib/ui/widgets/search/searchGrid.dart | 8 +- lib/ui/widgets/setups/loadingSetups.dart | 2 +- 124 files changed, 431 insertions(+), 518 deletions(-) diff --git a/lib/auth/google_auth.dart b/lib/auth/google_auth.dart index 2f426849..b4c1f811 100644 --- a/lib/auth/google_auth.dart +++ b/lib/auth/google_auth.dart @@ -1,16 +1,15 @@ import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/auth/userModel.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/payments/upgrade.dart'; +import 'package:Prism/ui/pages/home/wallpapers/homeScreen.dart' as home; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_auth/firebase_auth.dart'; -import 'package:flutter/foundation.dart'; import 'package:google_sign_in/google_sign_in.dart'; import 'package:hive/hive.dart'; import 'package:purchases_flutter/purchases_flutter.dart'; -import 'package:Prism/ui/pages/home/wallpapers/homeScreen.dart' as home; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; const String USER_OLD_COLLECTION = 'users'; const String USER_NEW_COLLECTION = 'usersv2'; diff --git a/lib/auth/userOldModel.dart b/lib/auth/userOldModel.dart index aade2678..fea1b134 100644 --- a/lib/auth/userOldModel.dart +++ b/lib/auth/userOldModel.dart @@ -1,9 +1,8 @@ import 'package:Prism/auth/google_auth.dart'; import 'package:Prism/logger/logger.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:flutter/material.dart'; -import 'package:hive/hive.dart'; import 'package:firebase_auth/firebase_auth.dart'; +import 'package:hive/hive.dart'; part 'userOldModel.g.dart'; diff --git a/lib/data/favourites/provider/favouriteProvider.dart b/lib/data/favourites/provider/favouriteProvider.dart index b70a3687..c5411088 100644 --- a/lib/data/favourites/provider/favouriteProvider.dart +++ b/lib/data/favourites/provider/favouriteProvider.dart @@ -1,10 +1,10 @@ import 'package:Prism/auth/google_auth.dart'; import 'package:Prism/data/pexels/model/wallpaperp.dart'; import 'package:Prism/data/wallhaven/model/wallpaper.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; import 'package:hive/hive.dart'; class FavouriteProvider extends ChangeNotifier { diff --git a/lib/data/favourites/provider/favouriteSetupProvider.dart b/lib/data/favourites/provider/favouriteSetupProvider.dart index d846b4fb..4fbd6842 100644 --- a/lib/data/favourites/provider/favouriteSetupProvider.dart +++ b/lib/data/favourites/provider/favouriteSetupProvider.dart @@ -1,8 +1,8 @@ import 'package:Prism/auth/google_auth.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; import 'package:hive/hive.dart'; class FavouriteSetupProvider extends ChangeNotifier { diff --git a/lib/data/links/model/linksModel.dart b/lib/data/links/model/linksModel.dart index 5b292539..60c49339 100644 --- a/lib/data/links/model/linksModel.dart +++ b/lib/data/links/model/linksModel.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class LinksModel { String name; diff --git a/lib/data/profile/wallpaper/getUserProfile.dart b/lib/data/profile/wallpaper/getUserProfile.dart index 237f6b5b..878d2c37 100644 --- a/lib/data/profile/wallpaper/getUserProfile.dart +++ b/lib/data/profile/wallpaper/getUserProfile.dart @@ -1,12 +1,9 @@ import 'package:Prism/auth/google_auth.dart'; -import 'package:Prism/auth/userModel.dart'; -import 'package:Prism/auth/userOldModel.dart'; import 'package:Prism/data/links/model/linksModel.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; class UserProfileProvider extends ChangeNotifier { final FirebaseFirestore databaseReference = FirebaseFirestore.instance; @@ -146,9 +143,9 @@ Future unfollow(String email, String id) async { Future setUserLinks(List linklist, String id) async { final Map updateLink = {}; - linklist.forEach((element) { + for (var element in linklist) { updateLink[element.name] = element.link; - }); + } await databaseReference .collection(USER_NEW_COLLECTION) .doc(id) diff --git a/lib/data/profile/wallpaper/profileSetupProvider.dart b/lib/data/profile/wallpaper/profileSetupProvider.dart index 85c9c721..f7119d93 100644 --- a/lib/data/profile/wallpaper/profileSetupProvider.dart +++ b/lib/data/profile/wallpaper/profileSetupProvider.dart @@ -1,7 +1,7 @@ +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; class ProfileSetupProvider extends ChangeNotifier { final FirebaseFirestore databaseReference = FirebaseFirestore.instance; diff --git a/lib/data/profile/wallpaper/profileWallProvider.dart b/lib/data/profile/wallpaper/profileWallProvider.dart index 42bfbf52..0791b819 100644 --- a/lib/data/profile/wallpaper/profileWallProvider.dart +++ b/lib/data/profile/wallpaper/profileWallProvider.dart @@ -1,7 +1,7 @@ +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; class ProfileWallProvider extends ChangeNotifier { final FirebaseFirestore databaseReference = FirebaseFirestore.instance; diff --git a/lib/data/setups/provider/setupProvider.dart b/lib/data/setups/provider/setupProvider.dart index 22911e50..862eb3a8 100644 --- a/lib/data/setups/provider/setupProvider.dart +++ b/lib/data/setups/provider/setupProvider.dart @@ -107,7 +107,9 @@ Future getSetupFromName(String? name) async { .where("name", isEqualTo: name) .get() .then((value) { - value.docs.forEach((f) => setup = f.data()); + for (var f in value.docs) { + setup = f.data(); + } logger.d(setup.toString()); }).catchError((e) { logger.d("data done with error"); diff --git a/lib/data/share/createDynamicLink.dart b/lib/data/share/createDynamicLink.dart index 14eab568..bbccb0d1 100644 --- a/lib/data/share/createDynamicLink.dart +++ b/lib/data/share/createDynamicLink.dart @@ -1,12 +1,11 @@ import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/popup/copyrightPopUp.dart'; import 'package:animations/animations.dart'; import 'package:firebase_dynamic_links/firebase_dynamic_links.dart'; -import 'package:flutter/foundation.dart'; -import 'package:Prism/logger/logger.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:share/share.dart'; Future createDynamicLink( diff --git a/lib/data/upload/wallpaper/wallfirestore.dart b/lib/data/upload/wallpaper/wallfirestore.dart index 311f4232..71422ea6 100644 --- a/lib/data/upload/wallpaper/wallfirestore.dart +++ b/lib/data/upload/wallpaper/wallfirestore.dart @@ -1,11 +1,12 @@ import 'dart:convert'; + import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/main.dart' as main; -import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:intl/intl.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:http/http.dart' as http; -import 'package:Prism/global/globals.dart' as globals; +import 'package:intl/intl.dart'; FirebaseFirestore firestore = FirebaseFirestore.instance; Future createRecord( diff --git a/lib/data/wallhaven/provider/wallhavenWithoutProvider.dart b/lib/data/wallhaven/provider/wallhavenWithoutProvider.dart index 2c72b871..1f47c202 100644 --- a/lib/data/wallhaven/provider/wallhavenWithoutProvider.dart +++ b/lib/data/wallhaven/provider/wallhavenWithoutProvider.dart @@ -1,11 +1,11 @@ import 'dart:convert'; + import 'package:Prism/data/categories/categories.dart'; import 'package:Prism/data/wallhaven/model/tag.dart'; import 'package:Prism/data/wallhaven/model/wallpaper.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; -import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; -import 'package:Prism/logger/logger.dart'; List walls = []; List wallsS = []; diff --git a/lib/global/categoryProvider.dart b/lib/global/categoryProvider.dart index f460a160..374115ea 100644 --- a/lib/global/categoryProvider.dart +++ b/lib/global/categoryProvider.dart @@ -1,11 +1,11 @@ import 'package:Prism/data/categories/categories.dart'; +import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as data; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wdata; -import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/global/categoryMenu.dart'; -import 'package:flutter/cupertino.dart'; import 'package:Prism/main.dart' as main; +import 'package:flutter/cupertino.dart'; final List choices = categories .map( diff --git a/lib/global/globals.dart b/lib/global/globals.dart index 5ec8c544..27b08374 100644 --- a/lib/global/globals.dart +++ b/lib/global/globals.dart @@ -69,11 +69,11 @@ String bannerTextOn = "true"; bool isPremiumWall(List premiumCollections, List wallCollections) { bool result = false; - wallCollections.forEach((element) { + for (var element in wallCollections) { if (premiumCollections.contains(element)) { result = true; } else {} - }); + } return result; } diff --git a/lib/logger/logger.dart b/lib/logger/logger.dart index a772ae1f..a0ef4f1c 100644 --- a/lib/logger/logger.dart +++ b/lib/logger/logger.dart @@ -1,9 +1,9 @@ import 'dart:developer' as developer; import 'dart:io'; +import 'package:file_encrypter/file_encrypter.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_archive/flutter_archive.dart'; -import 'package:file_encrypter/file_encrypter.dart'; import 'package:logger/logger.dart'; import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; @@ -165,7 +165,7 @@ Future encryptLogsZip(String zipPath) async { pathList.removeLast(); final String outFilename = "${pathList.join("/")}/logs_zip.dat"; logger.v("Encryption Started"); - String secretKey = await FileEncrypter.encrypt( + final String secretKey = await FileEncrypter.encrypt( inFilename: zipPath, outFileName: outFilename, ); diff --git a/lib/main.dart b/lib/main.dart index 7ea04ac2..69a0a1eb 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,45 +1,46 @@ import 'dart:async'; import 'dart:io'; + import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/auth/badgeModel.dart'; import 'package:Prism/auth/transactionModel.dart'; import 'package:Prism/auth/userModel.dart'; import 'package:Prism/auth/userOldModel.dart'; import 'package:Prism/data/ads/adsNotifier.dart'; +import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/notifications/model/inAppNotifModel.dart'; import 'package:Prism/data/palette/paletteNotifier.dart'; import 'package:Prism/data/profile/wallpaper/getUserProfile.dart'; import 'package:Prism/data/profile/wallpaper/profileSetupProvider.dart'; import 'package:Prism/data/profile/wallpaper/profileWallProvider.dart'; +import 'package:Prism/data/setups/provider/setupProvider.dart'; import 'package:Prism/data/user/user_notifier.dart'; import 'package:Prism/global/categoryProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/locator/locator.dart'; import 'package:Prism/logger/logger.dart'; import 'package:Prism/notifications/localNotification.dart'; import 'package:Prism/payments/upgrade.dart'; -import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; -import 'package:Prism/data/setups/provider/setupProvider.dart'; +import 'package:Prism/routes/router.dart' as router; import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/theme/themeModel.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/pages/home/core/splashScreen.dart'; import 'package:Prism/ui/pages/onboarding/onboardingScreen.dart'; import 'package:Prism/ui/pages/undefinedScreen.dart'; import 'package:firebase_analytics/observer.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_in_app_messaging/firebase_in_app_messaging.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/routes/router.dart' as router; -import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:flutter/services.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; import 'package:hive/hive.dart'; import 'package:path_provider/path_provider.dart'; import 'package:provider/provider.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/services.dart'; String userHiveKey = "prismUserV2-1"; late Box prefs; diff --git a/lib/notifications/localNotification.dart b/lib/notifications/localNotification.dart index d8d7ed9d..fa503d98 100644 --- a/lib/notifications/localNotification.dart +++ b/lib/notifications/localNotification.dart @@ -1,6 +1,6 @@ import 'package:Prism/routes/routing_constants.dart'; -import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; class LocalNotification { FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = diff --git a/lib/payments/upgrade.dart b/lib/payments/upgrade.dart index 126a74ad..aa4b9d56 100644 --- a/lib/payments/upgrade.dart +++ b/lib/payments/upgrade.dart @@ -1,18 +1,19 @@ import 'dart:async'; + import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/main.dart' as main; +import 'package:Prism/payments/components.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/animated/loader.dart'; +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:purchases_flutter/purchases_flutter.dart'; -import 'package:cached_network_image/cached_network_image.dart'; import 'package:purchases_flutter/object_wrappers.dart'; -import 'package:Prism/payments/components.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; +import 'package:purchases_flutter/purchases_flutter.dart'; PurchaserInfo? _purchaserInfo; diff --git a/lib/routes/router.dart b/lib/routes/router.dart index 768b66da..8bd1d152 100644 --- a/lib/routes/router.dart +++ b/lib/routes/router.dart @@ -1,14 +1,18 @@ import 'package:Prism/analytics/analytics_service.dart'; -import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/payments/upgrade.dart'; +import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/ui/pages/adsNotLoading.dart'; +// import 'package:Prism/ui/pages/profile/photographerProfile.dart'; +import 'package:Prism/ui/pages/categories/colorScreen.dart'; +import 'package:Prism/ui/pages/download/downloadScreen.dart'; +import 'package:Prism/ui/pages/download/downloadWallpaperViewScreen.dart'; import 'package:Prism/ui/pages/favourite/favouriteSetupScreen.dart'; import 'package:Prism/ui/pages/favourite/favouriteSetupViewScreen.dart'; import 'package:Prism/ui/pages/favourite/favouriteWallScreen.dart'; -import 'package:Prism/ui/pages/home/collections/collectionViewScreen.dart'; -import 'package:Prism/ui/pages/download/downloadScreen.dart'; -import 'package:Prism/ui/pages/download/downloadWallpaperViewScreen.dart'; import 'package:Prism/ui/pages/favourite/favouriteWallViewScreen.dart'; +import 'package:Prism/ui/pages/home/collections/collectionViewScreen.dart'; +import 'package:Prism/ui/pages/home/core/notificationScreen.dart'; import 'package:Prism/ui/pages/home/core/pageManager.dart'; import 'package:Prism/ui/pages/home/core/splashScreen.dart'; import 'package:Prism/ui/pages/home/wallpapers/wallpaperFilterScreen.dart'; @@ -16,16 +20,14 @@ import 'package:Prism/ui/pages/home/wallpapers/wallpaperScreen.dart'; import 'package:Prism/ui/pages/onboarding/onboardingScreen.dart'; import 'package:Prism/ui/pages/profile/aboutScreen.dart'; import 'package:Prism/ui/pages/profile/editSetupDetails.dart'; -import 'package:Prism/ui/pages/profile/followerProfile.dart'; -// import 'package:Prism/ui/pages/profile/photographerProfile.dart'; -import 'package:Prism/ui/pages/categories/colorScreen.dart'; +import 'package:Prism/ui/pages/profile/followersScreen.dart'; import 'package:Prism/ui/pages/profile/profileScreen.dart'; import 'package:Prism/ui/pages/profile/profileSetupViewScreen.dart'; import 'package:Prism/ui/pages/profile/profileWallViewScreen.dart'; +import 'package:Prism/ui/pages/profile/reviewScreen.dart'; import 'package:Prism/ui/pages/profile/settings.dart'; import 'package:Prism/ui/pages/profile/sharePrismScreen.dart'; import 'package:Prism/ui/pages/profile/themeView.dart'; -import 'package:Prism/ui/pages/profile/followersScreen.dart'; import 'package:Prism/ui/pages/profile/userProfileSetupViewScreen.dart'; import 'package:Prism/ui/pages/profile/userProfileWallViewScreen.dart'; import 'package:Prism/ui/pages/search/searchScreen.dart'; @@ -36,18 +38,15 @@ import 'package:Prism/ui/pages/setup/setupViewScreen.dart'; import 'package:Prism/ui/pages/setup/shareSetupViewScreen.dart'; import 'package:Prism/ui/pages/share/shareWallViewScreen.dart'; import 'package:Prism/ui/pages/undefinedScreen.dart'; -import 'package:Prism/ui/pages/home/core/notificationScreen.dart'; import 'package:Prism/ui/pages/upload/draftSetupScreen.dart'; import 'package:Prism/ui/pages/upload/editWallScreen.dart'; import 'package:Prism/ui/pages/upload/setupGuidelines.dart'; import 'package:Prism/ui/pages/upload/uploadSetupScreen.dart'; import 'package:Prism/ui/pages/upload/uploadWallScreen.dart'; -import 'package:Prism/ui/pages/profile/reviewScreen.dart'; import 'package:Prism/ui/widgets/popup/editProfilePanel.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:image/image.dart' as imagelib; -import 'package:Prism/logger/logger.dart'; List navStack = ["Home"]; diff --git a/lib/theme/darkThemeModel.dart b/lib/theme/darkThemeModel.dart index 4342e811..3098530c 100644 --- a/lib/theme/darkThemeModel.dart +++ b/lib/theme/darkThemeModel.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:Prism/theme/theme.dart'; -import 'package:Prism/main.dart' as main; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; +import 'package:Prism/theme/theme.dart'; +import 'package:flutter/material.dart'; Map darkThemes = { "kDMaterial Dark": kDarkTheme, diff --git a/lib/theme/theme.dart b/lib/theme/theme.dart index 5abbd7da..0f62d055 100644 --- a/lib/theme/theme.dart +++ b/lib/theme/theme.dart @@ -1,17 +1,13 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/config.dart' as config; +import 'package:flutter/material.dart'; ThemeData kLightTheme = ThemeData( - colorScheme: const ColorScheme.light(primary: Color(0xFFE57697)), canvasColor: Colors.transparent, primaryColor: Colors.white, brightness: Brightness.light, errorColor: const Color(0xFFE57697), - accentColor: config.Colors().accentColor(1), focusColor: config.Colors().mainColor(1), hintColor: config.Colors().secondColor(1), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: const TextStyle( fontFamily: 'Proxima Nova', @@ -74,20 +70,16 @@ ThemeData kLightTheme = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), + ), colorScheme: const ColorScheme.light(primary: Color(0xFFE57697)).copyWith(secondary: config.Colors().accentColor(1)), ); ThemeData kDarkTheme = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFFE57697)), canvasColor: Colors.transparent, primaryColor: config.Colors().mainDarkColor(1), brightness: Brightness.dark, errorColor: const Color(0xFFE57697), - accentColor: config.Colors().accentDarkColor(1), focusColor: config.Colors().mainDarkColor(1), hintColor: config.Colors().secondDarkColor(1), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -150,20 +142,16 @@ ThemeData kDarkTheme = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFFE57697)).copyWith(secondary: config.Colors().accentDarkColor(1)), ); ThemeData kLightTheme2 = ThemeData( - colorScheme: const ColorScheme.light(primary: Color(0xFFC19439)), canvasColor: Colors.transparent, primaryColor: const Color(0xFFF7F1E3), brightness: Brightness.light, errorColor: const Color(0xFFC19439), - accentColor: const Color(0xFF96732C), focusColor: config.Colors().mainColor(1), hintColor: const Color(0xFFF1E6D0), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: const TextStyle( fontFamily: 'Proxima Nova', @@ -226,20 +214,16 @@ ThemeData kLightTheme2 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), + ), colorScheme: const ColorScheme.light(primary: Color(0xFFC19439)).copyWith(secondary: const Color(0xFF96732C)), ); ThemeData kDarkTheme2 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFFFFFFFF)), canvasColor: Colors.transparent, primaryColor: Colors.black, brightness: Brightness.dark, - accentColor: Colors.white, errorColor: Colors.black, focusColor: Colors.black, hintColor: Colors.black, - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: const TextStyle( fontFamily: 'Proxima Nova', @@ -302,20 +286,16 @@ ThemeData kDarkTheme2 = ThemeData( fontWeight: FontWeight.w400, color: Colors.white, ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFFFFFFFF)).copyWith(secondary: Colors.white), ); ThemeData kLightTheme3 = ThemeData( - colorScheme: const ColorScheme.light(primary: Color(0xFFA7796D)), canvasColor: Colors.transparent, primaryColor: const Color(0xFFC5A79F), brightness: Brightness.light, errorColor: const Color(0xFFA7796D), - accentColor: const Color(0xFF7D564B), focusColor: config.Colors().mainColor(1), hintColor: const Color(0xFFBE9C93), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: const TextStyle( fontFamily: 'Proxima Nova', @@ -378,20 +358,16 @@ ThemeData kLightTheme3 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), + ), colorScheme: const ColorScheme.light(primary: Color(0xFFA7796D)).copyWith(secondary: const Color(0xFF7D564B)), ); ThemeData kLightTheme4 = ThemeData( - colorScheme: const ColorScheme.light(primary: Color(0xFF596F95)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF8399BE), brightness: Brightness.light, errorColor: const Color(0xFF596F95), - accentColor: const Color(0xFF36435A), focusColor: config.Colors().mainColor(1), hintColor: const Color(0xFF788CAF), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: const TextStyle( fontFamily: 'Proxima Nova', @@ -454,20 +430,16 @@ ThemeData kLightTheme4 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), + ), colorScheme: const ColorScheme.light(primary: Color(0xFF596F95)).copyWith(secondary: const Color(0xFF36435A)), ); ThemeData kDarkTheme3 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFF767B45)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF202113), brightness: Brightness.dark, errorColor: const Color(0xFF767B45), - accentColor: const Color(0xFFE3E4D0), focusColor: config.Colors().mainDarkColor(1), hintColor: const Color(0xFF35371F), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -530,20 +502,16 @@ ThemeData kDarkTheme3 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFF767B45)).copyWith(secondary: const Color(0xFFE3E4D0)), ); ThemeData kDarkTheme4 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFF427DA8)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF041B29), brightness: Brightness.dark, errorColor: const Color(0xFF427DA8), - accentColor: const Color(0xFFB0CCE0), focusColor: config.Colors().mainDarkColor(1), hintColor: const Color(0xFF152836), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -606,20 +574,16 @@ ThemeData kDarkTheme4 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFF427DA8)).copyWith(secondary: const Color(0xFFB0CCE0)), ); ThemeData kDarkTheme5 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFF4C7044)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF12210E), brightness: Brightness.dark, errorColor: const Color(0xFF4C7044), - accentColor: const Color(0xFFD9E6D6), focusColor: config.Colors().mainDarkColor(1), hintColor: const Color(0xFF1D2B1A), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -682,20 +646,16 @@ ThemeData kDarkTheme5 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFF4C7044)).copyWith(secondary: const Color(0xFFD9E6D6)), ); ThemeData kDarkTheme6 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFF703826)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF290D02), brightness: Brightness.dark, errorColor: const Color(0xFF703826), - accentColor: const Color(0xFFDFB0A0), focusColor: config.Colors().mainDarkColor(1), hintColor: const Color(0xFF361B12), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -758,20 +718,16 @@ ThemeData kDarkTheme6 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFF703826)).copyWith(secondary: const Color(0xFFDFB0A0)), ); ThemeData kDarkTheme7 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFF2D6079)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF142431), brightness: Brightness.dark, errorColor: const Color(0xFF2D6079), - accentColor: const Color(0xFFA9CDDF), focusColor: config.Colors().mainDarkColor(1), hintColor: const Color(0xFF193543), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -834,20 +790,16 @@ ThemeData kDarkTheme7 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFF2D6079)).copyWith(secondary: const Color(0xFFA9CDDF)), ); ThemeData kDarkTheme8 = ThemeData( - colorScheme: const ColorScheme.dark(primary: Color(0xFF686E80)), canvasColor: Colors.transparent, primaryColor: const Color(0xFF393D46), brightness: Brightness.dark, errorColor: const Color(0xFF686E80), - accentColor: const Color(0xFFEEEFF2), focusColor: config.Colors().mainDarkColor(1), hintColor: const Color(0xFF33363F), - accentTextTheme: - const TextTheme(headline6: TextStyle(fontFamily: "Proxima Nova")), textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -910,5 +862,5 @@ ThemeData kDarkTheme8 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), + ), colorScheme: const ColorScheme.dark(primary: Color(0xFF686E80)).copyWith(secondary: const Color(0xFFEEEFF2)), ); diff --git a/lib/theme/themeModeProvider.dart b/lib/theme/themeModeProvider.dart index b6fee0ff..38851e0c 100644 --- a/lib/theme/themeModeProvider.dart +++ b/lib/theme/themeModeProvider.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/main.dart' as main; +import 'package:flutter/material.dart'; Map modes = { "Light": ThemeMode.light, diff --git a/lib/theme/themeModel.dart b/lib/theme/themeModel.dart index e064120a..6e816806 100644 --- a/lib/theme/themeModel.dart +++ b/lib/theme/themeModel.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:Prism/theme/theme.dart'; -import 'package:Prism/main.dart' as main; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; +import 'package:Prism/theme/theme.dart'; +import 'package:flutter/material.dart'; Map themes = { "kLFrost White": kLightTheme, diff --git a/lib/ui/pages/adsNotLoading.dart b/lib/ui/pages/adsNotLoading.dart index dbd37b66..9904bc6c 100644 --- a/lib/ui/pages/adsNotLoading.dart +++ b/lib/ui/pages/adsNotLoading.dart @@ -1,11 +1,11 @@ +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; class AdsNotLoading extends StatelessWidget { const AdsNotLoading({Key? key}) : super(key: key); diff --git a/lib/ui/pages/categories/colorScreen.dart b/lib/ui/pages/categories/colorScreen.dart index 74eae5ac..0cf0381b 100644 --- a/lib/ui/pages/categories/colorScreen.dart +++ b/lib/ui/pages/categories/colorScreen.dart @@ -1,11 +1,11 @@ import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/colorLoader.dart'; import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/colorLoader.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; -import 'package:Prism/logger/logger.dart'; class ColorScreen extends StatelessWidget { final List? arguments; diff --git a/lib/ui/pages/download/downloadScreen.dart b/lib/ui/pages/download/downloadScreen.dart index d857a39e..44bbd352 100644 --- a/lib/ui/pages/download/downloadScreen.dart +++ b/lib/ui/pages/download/downloadScreen.dart @@ -1,6 +1,8 @@ import 'dart:collection'; import 'dart:io'; + import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; @@ -9,7 +11,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class DownloadScreen extends StatefulWidget { @override diff --git a/lib/ui/pages/download/downloadWallpaperViewScreen.dart b/lib/ui/pages/download/downloadWallpaperViewScreen.dart index 3e140deb..ae317806 100644 --- a/lib/ui/pages/download/downloadWallpaperViewScreen.dart +++ b/lib/ui/pages/download/downloadWallpaperViewScreen.dart @@ -1,12 +1,13 @@ import 'dart:io'; + +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class DownloadWallpaperScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/favourite/favouriteSetupScreen.dart b/lib/ui/pages/favourite/favouriteSetupScreen.dart index a0bdb4d2..c611193c 100644 --- a/lib/ui/pages/favourite/favouriteSetupScreen.dart +++ b/lib/ui/pages/favourite/favouriteSetupScreen.dart @@ -1,4 +1,5 @@ import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/widgets/favourite/favSetupLoader.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; @@ -6,7 +7,6 @@ import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class FavouriteSetupScreen extends StatelessWidget { const FavouriteSetupScreen({ diff --git a/lib/ui/pages/favourite/favouriteSetupViewScreen.dart b/lib/ui/pages/favourite/favouriteSetupViewScreen.dart index 9143ac2e..9406d14c 100644 --- a/lib/ui/pages/favourite/favouriteSetupViewScreen.dart +++ b/lib/ui/pages/favourite/favouriteSetupViewScreen.dart @@ -1,31 +1,31 @@ import 'dart:ui'; +import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/animated/favouriteIcon.dart'; +import 'package:Prism/ui/widgets/animated/showUp.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; import 'package:Prism/ui/widgets/home/wallpapers/clockSetupOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; +import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:device_apps/device_apps.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/analytics/analytics_service.dart'; -import 'package:Prism/ui/widgets/animated/showUp.dart'; -import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:hive/hive.dart'; -import 'package:Prism/logger/logger.dart'; class FavSetupViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/favourite/favouriteWallScreen.dart b/lib/ui/pages/favourite/favouriteWallScreen.dart index 5dae15c6..a3b92bff 100644 --- a/lib/ui/pages/favourite/favouriteWallScreen.dart +++ b/lib/ui/pages/favourite/favouriteWallScreen.dart @@ -1,4 +1,5 @@ import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/widgets/favourite/favLoader.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; @@ -6,7 +7,6 @@ import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class FavouriteWallpaperScreen extends StatelessWidget { const FavouriteWallpaperScreen({ diff --git a/lib/ui/pages/favourite/favouriteWallViewScreen.dart b/lib/ui/pages/favourite/favouriteWallViewScreen.dart index b4634458..b62b3c57 100644 --- a/lib/ui/pages/favourite/favouriteWallViewScreen.dart +++ b/lib/ui/pages/favourite/favouriteWallViewScreen.dart @@ -1,13 +1,17 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; + import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/home/core/colorBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/editButton.dart'; import 'package:Prism/ui/widgets/menuButton/favWallpaperButton.dart'; @@ -20,9 +24,6 @@ import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class FavWallpaperViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/home/collections/collectionScreen.dart b/lib/ui/pages/home/collections/collectionScreen.dart index 0a690937..acc97a14 100644 --- a/lib/ui/pages/home/collections/collectionScreen.dart +++ b/lib/ui/pages/home/collections/collectionScreen.dart @@ -1,10 +1,10 @@ +import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/collections/provider/collectionsWithoutProvider.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/home/collections/collectionsGrid.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/analytics/analytics_service.dart'; -import 'package:Prism/logger/logger.dart'; class CollectionScreen extends StatefulWidget { const CollectionScreen({ diff --git a/lib/ui/pages/home/collections/collectionViewScreen.dart b/lib/ui/pages/home/collections/collectionViewScreen.dart index 4792cc2d..2e91734f 100644 --- a/lib/ui/pages/home/collections/collectionViewScreen.dart +++ b/lib/ui/pages/home/collections/collectionViewScreen.dart @@ -1,11 +1,11 @@ import 'package:Prism/data/collections/provider/collectionsWithoutProvider.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; -import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; import 'package:Prism/ui/widgets/home/collections/collectionsViewGrid.dart'; +import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; class CollectionViewScreen extends StatelessWidget { final List? arguments; diff --git a/lib/ui/pages/home/core/notificationScreen.dart b/lib/ui/pages/home/core/notificationScreen.dart index 423f7b21..9fc93e73 100644 --- a/lib/ui/pages/home/core/notificationScreen.dart +++ b/lib/ui/pages/home/core/notificationScreen.dart @@ -1,20 +1,20 @@ import 'dart:ui'; import 'package:Prism/data/notifications/model/inAppNotifModel.dart'; -import 'package:animations/animations.dart'; -import 'package:flutter/material.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:Prism/ui/pages/home/wallpapers/homeScreen.dart' as home; +import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:hive/hive.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/ui/pages/home/wallpapers/homeScreen.dart' as home; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/main.dart' as main; import 'package:intl/intl.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; +import 'package:url_launcher/url_launcher.dart'; class NotificationScreen extends StatefulWidget { @override @@ -122,7 +122,7 @@ class _NotificationScreenState extends State { child: Text('No new notifications', style: TextStyle(color: Theme.of(context).accentColor))), ), - floatingActionButton: notifications!.isNotEmpty + floatingActionButton: notifications.isNotEmpty ? FloatingActionButton( mini: true, tooltip: "Clear Notifications", diff --git a/lib/ui/pages/home/core/oldVersionScreen.dart b/lib/ui/pages/home/core/oldVersionScreen.dart index e31665fc..c4ee1f82 100644 --- a/lib/ui/pages/home/core/oldVersionScreen.dart +++ b/lib/ui/pages/home/core/oldVersionScreen.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/global/globals.dart' as globals; +import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; class OldVersion extends StatelessWidget { diff --git a/lib/ui/pages/home/core/pageManager.dart b/lib/ui/pages/home/core/pageManager.dart index 51bb7f0c..4b10c273 100644 --- a/lib/ui/pages/home/core/pageManager.dart +++ b/lib/ui/pages/home/core/pageManager.dart @@ -1,31 +1,25 @@ -import 'dart:io'; + import 'package:Prism/data/ads/adsNotifier.dart'; +import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/pages/home/collections/collectionScreen.dart'; -import 'package:Prism/ui/pages/home/wallpapers/homeScreen.dart'; import 'package:Prism/ui/pages/home/wallpapers/followingScreen.dart'; +import 'package:Prism/ui/pages/home/wallpapers/homeScreen.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; import 'package:Prism/ui/widgets/home/core/categoriesBar.dart'; import 'package:Prism/ui/widgets/home/core/offlineBanner.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:animations/animations.dart'; import 'package:data_connection_checker/data_connection_checker.dart'; -import 'package:device_info/device_info.dart'; -import 'package:flutter/material.dart'; import 'package:firebase_dynamic_links/firebase_dynamic_links.dart'; +import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; -// import 'package:rate_my_app/rate_my_app.dart'; -// import 'package:smooth_star_rating/smooth_star_rating.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/main.dart' as main; import 'package:quick_actions/quick_actions.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; TabController? tabController; @@ -164,7 +158,7 @@ class _PageManagerChildState extends State Future initDynamicLinks(BuildContext context) async { final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink(); - final Uri? deepLink = data?.link; + final Uri? deepLink = data.link; if (deepLink != null && linkOpened == 0) { logger.d("opened while closed altogether via deep link"); diff --git a/lib/ui/pages/home/core/splashScreen.dart b/lib/ui/pages/home/core/splashScreen.dart index 7459ff48..cc7427a0 100644 --- a/lib/ui/pages/home/core/splashScreen.dart +++ b/lib/ui/pages/home/core/splashScreen.dart @@ -1,15 +1,16 @@ import 'dart:convert'; + import 'package:Prism/data/categories/categories.dart'; import 'package:Prism/data/notifications/notifications.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; +import 'package:Prism/theme/config.dart' as config; import 'package:Prism/ui/pages/home/core/oldVersionScreen.dart'; import 'package:Prism/ui/pages/home/core/pageManager.dart'; import 'package:firebase_remote_config/firebase_remote_config.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/theme/config.dart' as config; -import 'package:Prism/main.dart' as main; -import 'package:Prism/logger/logger.dart'; late RemoteConfig remoteConfig; diff --git a/lib/ui/pages/home/wallpapers/followingScreen.dart b/lib/ui/pages/home/wallpapers/followingScreen.dart index 7a384f7b..bdbf5b34 100644 --- a/lib/ui/pages/home/wallpapers/followingScreen.dart +++ b/lib/ui/pages/home/wallpapers/followingScreen.dart @@ -1,21 +1,21 @@ import 'dart:async'; import 'package:Prism/auth/google_auth.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; +import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; +import 'package:Prism/ui/widgets/menuButton/favIconButton.dart'; +import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:Prism/ui/widgets/premiumBanners/followingFeed.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; -import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:timeago/timeago.dart' as timeago; -import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; -import 'package:Prism/ui/widgets/menuButton/favIconButton.dart'; -import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/global/globals.dart' as globals; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/ui/widgets/premiumBanners/followingFeed.dart'; -import 'package:Prism/logger/logger.dart'; +import 'package:timeago/timeago.dart' as timeago; class FollowingScreen extends StatefulWidget { const FollowingScreen({ diff --git a/lib/ui/pages/home/wallpapers/homeScreen.dart b/lib/ui/pages/home/wallpapers/homeScreen.dart index 500ee014..321f1a9c 100644 --- a/lib/ui/pages/home/wallpapers/homeScreen.dart +++ b/lib/ui/pages/home/wallpapers/homeScreen.dart @@ -1,6 +1,7 @@ import 'package:Prism/global/categoryMenu.dart'; import 'package:Prism/global/categoryProvider.dart'; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; import 'package:Prism/ui/widgets/home/wallpapers/pexelsGrid.dart'; @@ -9,7 +10,6 @@ import 'package:Prism/ui/widgets/home/wallpapers/wallpaperGrid.dart'; import 'package:Prism/ui/widgets/popup/changelogPopUp.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/main.dart' as main; import 'package:provider/provider.dart'; final FirebaseMessaging f = FirebaseMessaging.instance; diff --git a/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart index a79d2b45..e16428e2 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'dart:typed_data'; import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; @@ -10,6 +11,7 @@ import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/theme.dart'; import 'package:Prism/theme/themeModeProvider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/pages/home/wallpapers/customFilters.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; @@ -19,15 +21,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:gallery_saver/gallery_saver.dart'; import 'package:image/image.dart' as imagelib; +import 'package:path_provider/path_provider.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:photo_view/photo_view.dart'; import 'package:photofilters/filters/filters.dart'; -import 'package:path_provider/path_provider.dart'; import 'package:photofilters/filters/preset_filters.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; class WallpaperFilterScreen extends StatefulWidget { final imagelib.Image image; diff --git a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart index d4312d39..b9fd4539 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; + import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/palette/paletteNotifier.dart'; import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; @@ -8,13 +9,17 @@ import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as data; import 'package:Prism/data/share/createDynamicLink.dart'; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wdata; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/home/core/colorBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/editButton.dart'; import 'package:Prism/ui/widgets/menuButton/favWallpaperButton.dart'; @@ -23,16 +28,11 @@ import 'package:Prism/ui/widgets/menuButton/shareButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:palette_generator/palette_generator.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; -import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:screenshot/screenshot.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/svgAssets.dart'; +import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; class WallpaperScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/onboarding/onboardingScreen.dart b/lib/ui/pages/onboarding/onboardingScreen.dart index 52d4a20b..88f6a15a 100644 --- a/lib/ui/pages/onboarding/onboardingScreen.dart +++ b/lib/ui/pages/onboarding/onboardingScreen.dart @@ -1,14 +1,14 @@ +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/themeModeProvider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/pages/home/core/splashScreen.dart'; import 'package:Prism/ui/pages/onboarding/twitterigPopUp.dart'; import 'package:Prism/ui/widgets/animated/showUp.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; -import 'package:Prism/theme/toasts.dart' as toasts; class OnboardingScreen extends StatefulWidget { @override diff --git a/lib/ui/pages/onboarding/twitterigPopUp.dart b/lib/ui/pages/onboarding/twitterigPopUp.dart index 387398a8..8b7d5db4 100644 --- a/lib/ui/pages/onboarding/twitterigPopUp.dart +++ b/lib/ui/pages/onboarding/twitterigPopUp.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:Prism/auth/google_auth.dart'; import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/pages/home/core/splashScreen.dart'; @@ -10,7 +11,6 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; -import 'package:Prism/global/globals.dart' as globals; // class OptionalInfo extends StatefulWidget { // final Image img; diff --git a/lib/ui/pages/profile/aboutScreen.dart b/lib/ui/pages/profile/aboutScreen.dart index 1a34c9ab..5da8c01b 100644 --- a/lib/ui/pages/profile/aboutScreen.dart +++ b/lib/ui/pages/profile/aboutScreen.dart @@ -1,3 +1,4 @@ +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/darkThemeModel.dart'; @@ -9,7 +10,6 @@ import 'package:Prism/ui/widgets/popup/contriPopUp.dart'; import 'package:Prism/ui/widgets/profile/prismList.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; import 'package:github/github.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; diff --git a/lib/ui/pages/profile/editSetupDetails.dart b/lib/ui/pages/profile/editSetupDetails.dart index 172a42dc..f3364006 100644 --- a/lib/ui/pages/profile/editSetupDetails.dart +++ b/lib/ui/pages/profile/editSetupDetails.dart @@ -1,24 +1,24 @@ import 'dart:convert'; import 'dart:io'; + import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/apps/appsData.dart'; +import 'package:Prism/data/upload/wallpaper/wallfirestore.dart' as WallStore; import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:cached_network_image/cached_network_image.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:github/github.dart'; import 'package:hive/hive.dart'; import 'package:image_picker/image_picker.dart'; import 'package:path/path.dart' as Path; -import 'package:Prism/routes/router.dart'; -import 'package:flutter/material.dart'; -import 'package:Prism/data/upload/wallpaper/wallfirestore.dart' as WallStore; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/global/globals.dart' as globals; class EditSetupReviewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/profile/followersScreen.dart b/lib/ui/pages/profile/followersScreen.dart index 4836046f..e036e358 100644 --- a/lib/ui/pages/profile/followersScreen.dart +++ b/lib/ui/pages/profile/followersScreen.dart @@ -1,10 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; -import 'package:flutter/foundation.dart'; +import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/logger/logger.dart'; class FollowersScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/profile/profileScreen.dart b/lib/ui/pages/profile/profileScreen.dart index 8b8ee24b..3c1b1bcc 100644 --- a/lib/ui/pages/profile/profileScreen.dart +++ b/lib/ui/pages/profile/profileScreen.dart @@ -1,44 +1,33 @@ import 'dart:async'; import 'dart:convert'; -import 'package:Prism/auth/google_auth.dart'; -import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; -import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; + import 'package:Prism/data/profile/wallpaper/getUserProfile.dart'; -import 'package:Prism/data/profile/wallpaper/profileSetupProvider.dart'; -import 'package:Prism/data/profile/wallpaper/profileWallProvider.dart'; import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/animated/loader.dart'; -import 'package:Prism/ui/widgets/popup/editProfilePanel.dart'; -import 'package:Prism/ui/widgets/popup/linkPopUp.dart'; +import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; +import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; import 'package:Prism/ui/widgets/popup/noLoadLinkPopUp.dart'; import 'package:Prism/ui/widgets/profile/aboutList.dart'; +import 'package:Prism/ui/widgets/profile/downloadList.dart'; import 'package:Prism/ui/widgets/profile/drawerWidget.dart'; import 'package:Prism/ui/widgets/profile/generalList.dart'; -import 'package:Prism/ui/widgets/profile/downloadList.dart'; import 'package:Prism/ui/widgets/profile/premiumList.dart'; -import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; -import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; -import 'package:Prism/ui/widgets/profile/uploadedWallsLoader.dart'; -import 'package:Prism/ui/widgets/profile/uploadedSetupsLoader.dart'; import 'package:Prism/ui/widgets/profile/userList.dart'; import 'package:Prism/ui/widgets/profile/userProfileLoader.dart'; import 'package:Prism/ui/widgets/profile/userProfileSetupLoader.dart'; import 'package:cached_network_image/cached_network_image.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/main.dart' as main; -import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:intl/intl.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:http/http.dart' as http; import 'package:url_launcher/url_launcher.dart'; diff --git a/lib/ui/pages/profile/profileSetupViewScreen.dart b/lib/ui/pages/profile/profileSetupViewScreen.dart index d80c4740..35d423c6 100644 --- a/lib/ui/pages/profile/profileSetupViewScreen.dart +++ b/lib/ui/pages/profile/profileSetupViewScreen.dart @@ -1,35 +1,35 @@ import 'dart:ui'; +import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/profile/wallpaper/profileSetupProvider.dart'; import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/animated/favouriteIcon.dart'; +import 'package:Prism/ui/widgets/animated/showUp.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; +import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:device_apps/device_apps.dart'; +import 'package:device_info/device_info.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:provider/provider.dart'; -import 'package:sliding_up_panel/sliding_up_panel.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/analytics/analytics_service.dart'; -import 'package:Prism/ui/widgets/animated/showUp.dart'; -import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:gallery_saver/gallery_saver.dart'; -import 'package:device_info/device_info.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:hive/hive.dart'; +import 'package:permission_handler/permission_handler.dart'; +import 'package:provider/provider.dart'; +import 'package:sliding_up_panel/sliding_up_panel.dart'; +import 'package:url_launcher/url_launcher.dart'; class ProfileSetupViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/profile/profileWallViewScreen.dart b/lib/ui/pages/profile/profileWallViewScreen.dart index 1abaa88a..19c0cea9 100644 --- a/lib/ui/pages/profile/profileWallViewScreen.dart +++ b/lib/ui/pages/profile/profileWallViewScreen.dart @@ -1,13 +1,17 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; + import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/profile/wallpaper/profileWallProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/home/core/colorBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/editButton.dart'; import 'package:Prism/ui/widgets/menuButton/favWallpaperButton.dart'; @@ -20,9 +24,6 @@ import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class ProfileWallViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/profile/reviewScreen.dart b/lib/ui/pages/profile/reviewScreen.dart index 59177f74..10ea1b0c 100644 --- a/lib/ui/pages/profile/reviewScreen.dart +++ b/lib/ui/pages/profile/reviewScreen.dart @@ -1,26 +1,26 @@ import 'dart:ui'; -import 'package:Prism/routes/routing_constants.dart'; -import 'package:flutter/material.dart'; +import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; -import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/main.dart' as main; import 'package:Prism/ui/widgets/animated/loader.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:intl/intl.dart'; +import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:photo_view/photo_view.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:permission_handler/permission_handler.dart'; -import 'package:gallery_saver/gallery_saver.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:device_info/device_info.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:Prism/analytics/analytics_service.dart'; -import 'package:animations/animations.dart'; +import 'package:gallery_saver/gallery_saver.dart'; +import 'package:intl/intl.dart'; +import 'package:permission_handler/permission_handler.dart'; +import 'package:photo_view/photo_view.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class ReviewScreen extends StatefulWidget { @override diff --git a/lib/ui/pages/profile/settings.dart b/lib/ui/pages/profile/settings.dart index 2a5a0f8a..92904909 100644 --- a/lib/ui/pages/profile/settings.dart +++ b/lib/ui/pages/profile/settings.dart @@ -1,21 +1,21 @@ +import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; +import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/notifications/model/inAppNotifModel.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; +import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/home/core/headingChipBar.dart'; +import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:animations/animations.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; -import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; -import 'package:animations/animations.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class SettingsScreen extends StatefulWidget { const SettingsScreen({ diff --git a/lib/ui/pages/profile/sharePrismScreen.dart b/lib/ui/pages/profile/sharePrismScreen.dart index b10e3f09..e0fca2ef 100644 --- a/lib/ui/pages/profile/sharePrismScreen.dart +++ b/lib/ui/pages/profile/sharePrismScreen.dart @@ -1,11 +1,11 @@ import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/material.dart'; import 'package:share/share.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class SharePrismScreen extends StatefulWidget { @override diff --git a/lib/ui/pages/profile/themeView.dart b/lib/ui/pages/profile/themeView.dart index c6fd3222..5410bc95 100644 --- a/lib/ui/pages/profile/themeView.dart +++ b/lib/ui/pages/profile/themeView.dart @@ -1,5 +1,7 @@ +import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/global/svgAssets.dart'; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; @@ -10,8 +12,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/analytics/analytics_service.dart'; List accentColors = [ const Color(0xFFE57697), diff --git a/lib/ui/pages/profile/userProfileSetupViewScreen.dart b/lib/ui/pages/profile/userProfileSetupViewScreen.dart index 63b75907..2b062836 100644 --- a/lib/ui/pages/profile/userProfileSetupViewScreen.dart +++ b/lib/ui/pages/profile/userProfileSetupViewScreen.dart @@ -1,32 +1,32 @@ import 'dart:ui'; +import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/profile/wallpaper/getUserProfile.dart' as user_data; import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/animated/favouriteIcon.dart'; +import 'package:Prism/ui/widgets/animated/showUp.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; import 'package:Prism/ui/widgets/home/wallpapers/clockSetupOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; +import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:device_apps/device_apps.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; -import 'package:Prism/analytics/analytics_service.dart'; -import 'package:Prism/ui/widgets/animated/showUp.dart'; -import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:hive/hive.dart'; -import 'package:Prism/logger/logger.dart'; class UserProfileSetupViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/profile/userProfileWallViewScreen.dart b/lib/ui/pages/profile/userProfileWallViewScreen.dart index 1876a362..6964cda5 100644 --- a/lib/ui/pages/profile/userProfileWallViewScreen.dart +++ b/lib/ui/pages/profile/userProfileWallViewScreen.dart @@ -1,13 +1,17 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; + import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/profile/wallpaper/getUserProfile.dart' as user_data; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/home/core/colorBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/editButton.dart'; import 'package:Prism/ui/widgets/menuButton/favWallpaperButton.dart'; @@ -20,9 +24,6 @@ import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class UserProfileWallViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/search/searchScreen.dart b/lib/ui/pages/search/searchScreen.dart index 95ce4e57..4a614d01 100644 --- a/lib/ui/pages/search/searchScreen.dart +++ b/lib/ui/pages/search/searchScreen.dart @@ -1,10 +1,11 @@ +import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wdata; -import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/global/searchProviderMenu.dart'; import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; -import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; @@ -13,8 +14,6 @@ import 'package:Prism/ui/widgets/search/searchGrid.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/logger/logger.dart'; class SearchScreen extends StatefulWidget { @override diff --git a/lib/ui/pages/search/searchWallpaperScreen.dart b/lib/ui/pages/search/searchWallpaperScreen.dart index 1a969fea..70c58da1 100644 --- a/lib/ui/pages/search/searchWallpaperScreen.dart +++ b/lib/ui/pages/search/searchWallpaperScreen.dart @@ -1,14 +1,18 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; + import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wdata; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/home/core/colorBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/editButton.dart'; import 'package:Prism/ui/widgets/menuButton/favWallpaperButton.dart'; @@ -18,12 +22,9 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:palette_generator/palette_generator.dart'; -import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:screenshot/screenshot.dart'; +import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class SearchWallpaperScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/search/userSearch.dart b/lib/ui/pages/search/userSearch.dart index 238b5196..f3c27304 100644 --- a/lib/ui/pages/search/userSearch.dart +++ b/lib/ui/pages/search/userSearch.dart @@ -1,17 +1,16 @@ import 'package:Prism/auth/userModel.dart'; -import 'package:Prism/data/user/user_service.dart'; import 'package:Prism/data/user/user_notifier.dart'; +import 'package:Prism/data/user/user_service.dart'; import 'package:Prism/global/svgAssets.dart'; import 'package:Prism/locator/locator.dart'; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/ui/pages/search/searchScreen.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; import 'package:Prism/ui/widgets/popup/noLoadLinkPopUp.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -264,7 +263,7 @@ class _UsersResultListState extends State { width: MediaQuery.of(context).size.width * 0.7, child: Text( - "${user.name}", + user.name, textAlign: TextAlign.center, maxLines: 1, overflow: TextOverflow.ellipsis, @@ -427,7 +426,7 @@ class _UsersResultListState extends State { onPressed: () { if (user.links != null) { final links = user.links; - if (links![e] + if (links[e] .toString() .contains( "@gmail.com")) { diff --git a/lib/ui/pages/setup/setupScreen.dart b/lib/ui/pages/setup/setupScreen.dart index a2ec8ef0..ee2508af 100644 --- a/lib/ui/pages/setup/setupScreen.dart +++ b/lib/ui/pages/setup/setupScreen.dart @@ -1,4 +1,6 @@ import 'package:Prism/data/setups/provider/setupProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/darkThemeModel.dart'; @@ -6,16 +8,14 @@ import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/theme.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; -import 'package:Prism/ui/widgets/premiumBanners/setupOld.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:Prism/ui/widgets/premiumBanners/setupOld.dart'; import 'package:Prism/ui/widgets/setups/arrowAnimation.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class SetupScreen extends StatefulWidget { const SetupScreen({ diff --git a/lib/ui/pages/setup/setupViewScreen.dart b/lib/ui/pages/setup/setupViewScreen.dart index 49e35bf7..432e19e5 100644 --- a/lib/ui/pages/setup/setupViewScreen.dart +++ b/lib/ui/pages/setup/setupViewScreen.dart @@ -5,6 +5,9 @@ import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/setups/provider/setupProvider.dart'; import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; @@ -19,14 +22,11 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:device_apps/device_apps.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/logger/logger.dart'; class SetupViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/setup/shareSetupViewScreen.dart b/lib/ui/pages/setup/shareSetupViewScreen.dart index eaa985e5..68c299b8 100644 --- a/lib/ui/pages/setup/shareSetupViewScreen.dart +++ b/lib/ui/pages/setup/shareSetupViewScreen.dart @@ -4,9 +4,13 @@ import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/setups/provider/setupProvider.dart' as sdata; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/animated/favouriteIcon.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/animated/showUp.dart'; @@ -21,15 +25,11 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:device_apps/device_apps.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/logger/logger.dart'; class ShareSetupViewScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/share/shareWallViewScreen.dart b/lib/ui/pages/share/shareWallViewScreen.dart index 6550474b..bfb197cf 100644 --- a/lib/ui/pages/share/shareWallViewScreen.dart +++ b/lib/ui/pages/share/shareWallViewScreen.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; + import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/palette/paletteNotifier.dart'; import 'package:Prism/data/pexels/model/wallpaperp.dart'; @@ -9,14 +10,18 @@ import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as Data; import 'package:Prism/data/wallhaven/model/wallpaper.dart'; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as WData; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/home/core/collapsedPanel.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/home/core/colorBar.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/clockOverlay.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; import 'package:Prism/ui/widgets/menuButton/editButton.dart'; import 'package:Prism/ui/widgets/menuButton/favWallpaperButton.dart'; @@ -28,15 +33,10 @@ import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:palette_generator/palette_generator.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/logger/logger.dart'; class ShareWallpaperViewScreen extends StatefulWidget { final List? arguments; @@ -834,7 +834,7 @@ class _ShareWallpaperViewScreenState extends State crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( + SizedBox( width: MediaQuery.of(context) .size diff --git a/lib/ui/pages/upload/draftSetupScreen.dart b/lib/ui/pages/upload/draftSetupScreen.dart index cd042e99..c9a50547 100644 --- a/lib/ui/pages/upload/draftSetupScreen.dart +++ b/lib/ui/pages/upload/draftSetupScreen.dart @@ -1,19 +1,11 @@ -import 'dart:io'; -import 'package:Prism/global/svgAssets.dart'; -import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/theme/themeModeProvider.dart'; + +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/pages/profile/reviewScreen.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:image_picker/image_picker.dart'; -import 'package:Prism/routes/router.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; -import 'package:Prism/global/globals.dart' as globals; class DraftSetupScreen extends StatefulWidget { const DraftSetupScreen(); diff --git a/lib/ui/pages/upload/editWallScreen.dart b/lib/ui/pages/upload/editWallScreen.dart index 72163a93..98fa2eb7 100644 --- a/lib/ui/pages/upload/editWallScreen.dart +++ b/lib/ui/pages/upload/editWallScreen.dart @@ -1,13 +1,14 @@ import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; + +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/routes/router.dart'; -import 'package:flutter/material.dart'; import 'package:extended_image/extended_image.dart'; +import 'package:flutter/material.dart'; import 'package:image_editor/image_editor.dart' hide ImageSource; -import 'package:Prism/logger/logger.dart'; class EditWallScreen extends StatefulWidget { final List? arguments; @@ -315,56 +316,36 @@ class _EditWallScreenState extends State { Icons.flip, color: Theme.of(context).accentColor, ), - title: Text( - 'Flip', - style: Theme.of(context).textTheme.bodyText2!.copyWith( - color: Theme.of(context).accentColor, - ), - ), + label: 'Flip', ), BottomNavigationBarItem( icon: Icon( Icons.rotate_left, color: Theme.of(context).accentColor, ), - title: Text( - 'Rotate Left', - style: Theme.of(context).textTheme.bodyText2!.copyWith( - color: Theme.of(context).accentColor, - ), - ), + label: 'Rotate Left', ), BottomNavigationBarItem( icon: Icon( Icons.rotate_right, color: Theme.of(context).accentColor, ), - title: Text( - 'Rotate Right', - style: Theme.of(context).textTheme.bodyText2!.copyWith( - color: Theme.of(context).accentColor, - ), - ), + label: 'Rotate Right', ), BottomNavigationBarItem( icon: Icon( Icons.crop, color: Theme.of(context).accentColor, ), - title: Text( - cropRatio == 1 / 2 - ? "9:18" - : cropRatio == 9 / 16 - ? "9:16" - : cropRatio == 9 / 21 - ? "9:21" - : cropRatio == 9 / 19.5 - ? "9:19.5" - : "9:18", - style: Theme.of(context).textTheme.bodyText2!.copyWith( - color: Theme.of(context).accentColor, - ), - ), + label: cropRatio == 1 / 2 + ? "9:18" + : cropRatio == 9 / 16 + ? "9:16" + : cropRatio == 9 / 21 + ? "9:21" + : cropRatio == 9 / 19.5 + ? "9:19.5" + : "9:18", ), ], onTap: (int index) { diff --git a/lib/ui/pages/upload/setupGuidelines.dart b/lib/ui/pages/upload/setupGuidelines.dart index 409c9337..8ed39f38 100644 --- a/lib/ui/pages/upload/setupGuidelines.dart +++ b/lib/ui/pages/upload/setupGuidelines.dart @@ -1,15 +1,15 @@ import 'dart:io'; + import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/themeModeProvider.dart'; -import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:Prism/routes/router.dart'; -import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class SetupGuidelinesScreen extends StatefulWidget { const SetupGuidelinesScreen(); diff --git a/lib/ui/pages/upload/uploadSetupScreen.dart b/lib/ui/pages/upload/uploadSetupScreen.dart index 23e23614..8d5e1316 100644 --- a/lib/ui/pages/upload/uploadSetupScreen.dart +++ b/lib/ui/pages/upload/uploadSetupScreen.dart @@ -1,25 +1,25 @@ import 'dart:convert'; import 'dart:io'; import 'dart:math'; + import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/apps/appsData.dart'; +import 'package:Prism/data/upload/wallpaper/wallfirestore.dart' as WallStore; import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:github/github.dart'; import 'package:hive/hive.dart'; import 'package:image_picker/image_picker.dart'; import 'package:path/path.dart' as Path; -import 'package:Prism/routes/router.dart'; -import 'package:flutter/material.dart'; import 'package:photo_view/photo_view.dart'; -import 'package:Prism/data/upload/wallpaper/wallfirestore.dart' as WallStore; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class UploadSetupScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/pages/upload/uploadWallScreen.dart b/lib/ui/pages/upload/uploadWallScreen.dart index 7c834574..b64e98dc 100644 --- a/lib/ui/pages/upload/uploadWallScreen.dart +++ b/lib/ui/pages/upload/uploadWallScreen.dart @@ -2,22 +2,22 @@ import 'dart:convert'; import 'dart:io'; import 'dart:math'; import 'dart:typed_data'; + import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/data/upload/wallpaper/wallfirestore.dart' as WallStore; +import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flare_flutter/flare_actor.dart'; -import 'package:flutter/foundation.dart'; -import 'package:path/path.dart' as Path; -import 'package:Prism/routes/router.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_image_compress/flutter_image_compress.dart'; import 'package:github/github.dart'; -import 'package:Prism/gitkey.dart'; +import 'package:path/path.dart' as Path; import 'package:photo_view/photo_view.dart'; -import 'package:Prism/data/upload/wallpaper/wallfirestore.dart' as WallStore; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:flutter_image_compress/flutter_image_compress.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class UploadWallScreen extends StatefulWidget { final List? arguments; diff --git a/lib/ui/widgets/auth/googleButton.dart b/lib/ui/widgets/auth/googleButton.dart index f7be9b5d..5620452e 100644 --- a/lib/ui/widgets/auth/googleButton.dart +++ b/lib/ui/widgets/auth/googleButton.dart @@ -1,6 +1,6 @@ import 'package:Prism/auth/google_auth.dart'; -import 'package:flutter/material.dart'; import 'package:Prism/theme/config.dart' as config; +import 'package:flutter/material.dart'; final GoogleAuth gAuth = GoogleAuth(); diff --git a/lib/ui/widgets/favourite/favLoader.dart b/lib/ui/widgets/favourite/favLoader.dart index 775176da..6b79a038 100644 --- a/lib/ui/widgets/favourite/favLoader.dart +++ b/lib/ui/widgets/favourite/favLoader.dart @@ -1,8 +1,8 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/favourite/favGrid.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; -import 'package:Prism/logger/logger.dart'; +import 'package:flutter/material.dart'; class FavLoader extends StatefulWidget { final Future? future; diff --git a/lib/ui/widgets/favourite/favSetupLoader.dart b/lib/ui/widgets/favourite/favSetupLoader.dart index 9c02bea2..9eb900fd 100644 --- a/lib/ui/widgets/favourite/favSetupLoader.dart +++ b/lib/ui/widgets/favourite/favSetupLoader.dart @@ -1,8 +1,8 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/favourite/favSetupGrid.dart'; import 'package:Prism/ui/widgets/setups/loadingSetups.dart'; -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; -import 'package:Prism/logger/logger.dart'; +import 'package:flutter/material.dart'; class FavSetupLoader extends StatefulWidget { final Future? future; diff --git a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart index dd6fda9c..6dcb2d10 100644 --- a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart @@ -1,12 +1,15 @@ import 'dart:ui'; + import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as PData; import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as Data; -import 'package:Prism/data/profile/wallpaper/profileWallProvider.dart'; import 'package:Prism/data/profile/wallpaper/getUserProfile.dart' as UserData; +import 'package:Prism/data/profile/wallpaper/profileWallProvider.dart'; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as WData; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/themeModeProvider.dart'; @@ -18,8 +21,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class FocusedMenuDetails extends StatefulWidget { final String? provider; diff --git a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart index 1c48f87e..21601738 100644 --- a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart @@ -1,7 +1,9 @@ import 'dart:ui'; + import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wdata; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/menuButton/downloadButton.dart'; @@ -10,7 +12,6 @@ import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/logger/logger.dart'; class SearchFocusedMenuDetails extends StatelessWidget { final String? selectedProvider; diff --git a/lib/ui/widgets/home/collections/collectionsGrid.dart b/lib/ui/widgets/home/collections/collectionsGrid.dart index 3ed867e5..5adb018a 100644 --- a/lib/ui/widgets/home/collections/collectionsGrid.dart +++ b/lib/ui/widgets/home/collections/collectionsGrid.dart @@ -1,5 +1,10 @@ import 'dart:math'; +import 'package:Prism/data/collections/provider/collectionsWithoutProvider.dart' + as CData; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; @@ -9,11 +14,6 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/data/collections/provider/collectionsWithoutProvider.dart' - as CData; -import 'package:Prism/logger/logger.dart'; class CollectionsGrid extends StatefulWidget { @override diff --git a/lib/ui/widgets/home/collections/collectionsViewGrid.dart b/lib/ui/widgets/home/collections/collectionsViewGrid.dart index 009526ed..a592ae8c 100644 --- a/lib/ui/widgets/home/collections/collectionsViewGrid.dart +++ b/lib/ui/widgets/home/collections/collectionsViewGrid.dart @@ -1,15 +1,15 @@ import 'package:Prism/data/collections/provider/collectionsWithoutProvider.dart'; +import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; -import 'package:Prism/data/share/createDynamicLink.dart'; import 'package:Prism/ui/widgets/home/wallpapers/seeMoreButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class CollectionViewGrid extends StatefulWidget { const CollectionViewGrid(); diff --git a/lib/ui/widgets/home/collections/loadingCardsCollection.dart b/lib/ui/widgets/home/collections/loadingCardsCollection.dart index 13d208ca..8e228142 100644 --- a/lib/ui/widgets/home/collections/loadingCardsCollection.dart +++ b/lib/ui/widgets/home/collections/loadingCardsCollection.dart @@ -1,9 +1,9 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class LoadingCardsCollection extends StatefulWidget { const LoadingCardsCollection({ diff --git a/lib/ui/widgets/home/core/bottomNavBar.dart b/lib/ui/widgets/home/core/bottomNavBar.dart index 41b7f745..9f58ceff 100644 --- a/lib/ui/widgets/home/core/bottomNavBar.dart +++ b/lib/ui/widgets/home/core/bottomNavBar.dart @@ -1,8 +1,12 @@ import 'dart:io'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:flutter/foundation.dart'; @@ -10,11 +14,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; import 'package:intl/intl.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/logger/logger.dart'; class BottomBar extends StatefulWidget { final Widget? child; diff --git a/lib/ui/widgets/home/core/categoriesBar.dart b/lib/ui/widgets/home/core/categoriesBar.dart index f5155620..e64bb562 100644 --- a/lib/ui/widgets/home/core/categoriesBar.dart +++ b/lib/ui/widgets/home/core/categoriesBar.dart @@ -1,6 +1,11 @@ +import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/notifications/model/inAppNotifModel.dart'; import 'package:Prism/global/categoryProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; +import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/popup/categoryPopUp.dart'; import 'package:flutter/material.dart'; @@ -8,11 +13,6 @@ import 'package:flutter_svg/svg.dart'; import 'package:hive/hive.dart'; import 'package:in_app_update/in_app_update.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/analytics/analytics_service.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; -import 'package:Prism/logger/logger.dart'; class CategoriesBar extends StatefulWidget { const CategoriesBar({ diff --git a/lib/ui/widgets/home/core/colorBar.dart b/lib/ui/widgets/home/core/colorBar.dart index 5b5c69b4..82dff7da 100644 --- a/lib/ui/widgets/home/core/colorBar.dart +++ b/lib/ui/widgets/home/core/colorBar.dart @@ -1,7 +1,7 @@ import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; class ColorBar extends StatelessWidget { const ColorBar({ diff --git a/lib/ui/widgets/home/core/headingChipBar.dart b/lib/ui/widgets/home/core/headingChipBar.dart index 6f96fa0c..631ec3e9 100644 --- a/lib/ui/widgets/home/core/headingChipBar.dart +++ b/lib/ui/widgets/home/core/headingChipBar.dart @@ -1,7 +1,7 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; class HeadingChipBar extends StatefulWidget { final String current; diff --git a/lib/ui/widgets/home/wallpapers/clockOverlay.dart b/lib/ui/widgets/home/wallpapers/clockOverlay.dart index 593af2b7..374bac02 100644 --- a/lib/ui/widgets/home/wallpapers/clockOverlay.dart +++ b/lib/ui/widgets/home/wallpapers/clockOverlay.dart @@ -1,7 +1,8 @@ import 'dart:io'; -import 'package:intl/intl.dart'; + import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; class ClockOverlay extends StatefulWidget { final String? link; diff --git a/lib/ui/widgets/home/wallpapers/colorGrid.dart b/lib/ui/widgets/home/wallpapers/colorGrid.dart index fe8e57c5..a01cbf48 100644 --- a/lib/ui/widgets/home/wallpapers/colorGrid.dart +++ b/lib/ui/widgets/home/wallpapers/colorGrid.dart @@ -1,16 +1,16 @@ import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as PData; +import 'package:Prism/data/share/createDynamicLink.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/focussedMenu/focusedMenu.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; -import 'package:Prism/data/share/createDynamicLink.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class ColorGrid extends StatefulWidget { final String provider; diff --git a/lib/ui/widgets/home/wallpapers/colorLoader.dart b/lib/ui/widgets/home/wallpapers/colorLoader.dart index f5723851..5f8c4d27 100644 --- a/lib/ui/widgets/home/wallpapers/colorLoader.dart +++ b/lib/ui/widgets/home/wallpapers/colorLoader.dart @@ -1,8 +1,8 @@ import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as PData; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/home/wallpapers/colorGrid.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; class ColorLoader extends StatefulWidget { final Future future; diff --git a/lib/ui/widgets/home/wallpapers/loading.dart b/lib/ui/widgets/home/wallpapers/loading.dart index 84a02344..8cf03259 100644 --- a/lib/ui/widgets/home/wallpapers/loading.dart +++ b/lib/ui/widgets/home/wallpapers/loading.dart @@ -1,9 +1,9 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class LoadingCards extends StatefulWidget { const LoadingCards({ diff --git a/lib/ui/widgets/home/wallpapers/pexelsGrid.dart b/lib/ui/widgets/home/wallpapers/pexelsGrid.dart index d490ccc6..68ffe8ca 100644 --- a/lib/ui/widgets/home/wallpapers/pexelsGrid.dart +++ b/lib/ui/widgets/home/wallpapers/pexelsGrid.dart @@ -1,5 +1,6 @@ import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as PData; import 'package:Prism/global/categoryProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/focussedMenu/focusedMenu.dart'; @@ -8,11 +9,10 @@ import 'package:Prism/ui/widgets/home/wallpapers/carouselDots.dart'; import 'package:Prism/ui/widgets/home/wallpapers/pexelsTile.dart'; import 'package:Prism/ui/widgets/home/wallpapers/seeMoreButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; +import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:carousel_slider/carousel_slider.dart'; -import 'package:Prism/global/globals.dart' as globals; class PexelsGrid extends StatefulWidget { final String? provider; diff --git a/lib/ui/widgets/home/wallpapers/pexelsTile.dart b/lib/ui/widgets/home/wallpapers/pexelsTile.dart index 132349b3..0fd0c0f8 100644 --- a/lib/ui/widgets/home/wallpapers/pexelsTile.dart +++ b/lib/ui/widgets/home/wallpapers/pexelsTile.dart @@ -1,9 +1,9 @@ +import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as PData; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/wallpapers/pexelsGrid.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as PData; import 'package:provider/provider.dart'; class PexelsTile extends StatelessWidget { diff --git a/lib/ui/widgets/home/wallpapers/wallhavenGrid.dart b/lib/ui/widgets/home/wallpapers/wallhavenGrid.dart index 9e449473..788ba8f1 100644 --- a/lib/ui/widgets/home/wallpapers/wallhavenGrid.dart +++ b/lib/ui/widgets/home/wallpapers/wallhavenGrid.dart @@ -1,6 +1,7 @@ import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wData; import 'package:Prism/global/categoryProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/focussedMenu/focusedMenu.dart'; @@ -11,9 +12,8 @@ import 'package:Prism/ui/widgets/home/wallpapers/wallhavenTile.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/material.dart'; -import 'package:url_launcher/url_launcher.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; +import 'package:url_launcher/url_launcher.dart'; class WallHavenGrid extends StatefulWidget { final String? provider; diff --git a/lib/ui/widgets/home/wallpapers/wallhavenTile.dart b/lib/ui/widgets/home/wallpapers/wallhavenTile.dart index bf002f07..f7ef45c1 100644 --- a/lib/ui/widgets/home/wallpapers/wallhavenTile.dart +++ b/lib/ui/widgets/home/wallpapers/wallhavenTile.dart @@ -1,10 +1,10 @@ +import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' + as wData; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/wallpapers/wallhavenGrid.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' - as wData; import 'package:provider/provider.dart'; class WallhavenTile extends StatelessWidget { diff --git a/lib/ui/widgets/home/wallpapers/wallpaperGrid.dart b/lib/ui/widgets/home/wallpapers/wallpaperGrid.dart index 88c82462..e354e8d2 100644 --- a/lib/ui/widgets/home/wallpapers/wallpaperGrid.dart +++ b/lib/ui/widgets/home/wallpapers/wallpaperGrid.dart @@ -1,21 +1,21 @@ +import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as Data; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/focussedMenu/focusedMenu.dart'; -import 'package:Prism/ui/widgets/premiumBanners/wallsCarousel.dart'; -import 'package:Prism/ui/widgets/premiumBanners/walls.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; import 'package:Prism/ui/widgets/home/wallpapers/carouselDots.dart'; import 'package:Prism/ui/widgets/home/wallpapers/seeMoreButton.dart'; import 'package:Prism/ui/widgets/home/wallpapers/wallpaperTile.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:Prism/ui/widgets/premiumBanners/walls.dart'; +import 'package:Prism/ui/widgets/premiumBanners/wallsCarousel.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as Data; -import 'package:Prism/global/globals.dart' as globals; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/logger/logger.dart'; class WallpaperGrid extends StatefulWidget { final String? provider; diff --git a/lib/ui/widgets/home/wallpapers/wallpaperLoader.dart b/lib/ui/widgets/home/wallpapers/wallpaperLoader.dart index 8e54261f..fc0986ee 100644 --- a/lib/ui/widgets/home/wallpapers/wallpaperLoader.dart +++ b/lib/ui/widgets/home/wallpapers/wallpaperLoader.dart @@ -1,7 +1,7 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; import 'package:Prism/ui/widgets/home/wallpapers/wallpaperGrid.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; class WallpaperLoader extends StatefulWidget { final Future future; diff --git a/lib/ui/widgets/home/wallpapers/wallpaperTile.dart b/lib/ui/widgets/home/wallpapers/wallpaperTile.dart index cadd1d2a..dbaaa257 100644 --- a/lib/ui/widgets/home/wallpapers/wallpaperTile.dart +++ b/lib/ui/widgets/home/wallpapers/wallpaperTile.dart @@ -1,15 +1,15 @@ import 'dart:developer'; +import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as Data; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/wallpapers/wallpaperGrid.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/data/prism/provider/prismWithoutProvider.dart' as Data; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class WallpaperTile extends StatelessWidget { const WallpaperTile({ diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index c97b7fee..9f58a914 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -1,20 +1,18 @@ import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/ads/adsNotifier.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:animations/animations.dart'; import 'package:device_info/device_info.dart'; import 'package:flare_flutter/flare_actor.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flutter/services.dart'; -import 'package:Prism/main.dart' as main; -import 'package:gallery_saver/gallery_saver.dart'; import 'package:permission_handler/permission_handler.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:flutter/foundation.dart'; -import 'package:Prism/logger/logger.dart'; import 'package:provider/provider.dart'; class DownloadButton extends StatefulWidget { diff --git a/lib/ui/widgets/menuButton/editButton.dart b/lib/ui/widgets/menuButton/editButton.dart index 133203a0..c06adf3a 100644 --- a/lib/ui/widgets/menuButton/editButton.dart +++ b/lib/ui/widgets/menuButton/editButton.dart @@ -2,13 +2,13 @@ import 'dart:io'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:path_provider/path_provider.dart'; -import 'package:image/image.dart' as imagelib; import 'package:http/http.dart' as http; +import 'package:image/image.dart' as imagelib; import 'package:path/path.dart' as path; -import 'package:flutter/foundation.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:path_provider/path_provider.dart'; class EditButton extends StatefulWidget { final String? url; diff --git a/lib/ui/widgets/menuButton/favIconButton.dart b/lib/ui/widgets/menuButton/favIconButton.dart index 9614c2bc..36e3dca8 100644 --- a/lib/ui/widgets/menuButton/favIconButton.dart +++ b/lib/ui/widgets/menuButton/favIconButton.dart @@ -2,12 +2,12 @@ import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/pexels/model/wallpaperp.dart'; import 'package:Prism/data/wallhaven/model/wallpaper.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/ui/widgets/animated/favouriteIcon.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; class FavIconButton extends StatefulWidget { final String? id; diff --git a/lib/ui/widgets/menuButton/favWallpaperButton.dart b/lib/ui/widgets/menuButton/favWallpaperButton.dart index e1670a9e..42eb2c7f 100644 --- a/lib/ui/widgets/menuButton/favWallpaperButton.dart +++ b/lib/ui/widgets/menuButton/favWallpaperButton.dart @@ -2,14 +2,14 @@ import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/pexels/model/wallpaperp.dart'; import 'package:Prism/data/wallhaven/model/wallpaper.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/routes/router.dart'; import 'package:Prism/ui/widgets/animated/favouriteIcon.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/routes/router.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class FavouriteWallpaperButton extends StatefulWidget { final String id; diff --git a/lib/ui/widgets/menuButton/setWallpaperButton.dart b/lib/ui/widgets/menuButton/setWallpaperButton.dart index 41037673..51667b29 100644 --- a/lib/ui/widgets/menuButton/setWallpaperButton.dart +++ b/lib/ui/widgets/menuButton/setWallpaperButton.dart @@ -1,11 +1,12 @@ import 'dart:io' show Platform; + import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:device_info/device_info.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/logger/logger.dart'; class SetWallpaperButton extends StatefulWidget { final String? url; diff --git a/lib/ui/widgets/menuButton/shareButton.dart b/lib/ui/widgets/menuButton/shareButton.dart index 536cc803..dfc44e9b 100644 --- a/lib/ui/widgets/menuButton/shareButton.dart +++ b/lib/ui/widgets/menuButton/shareButton.dart @@ -1,10 +1,10 @@ import 'package:Prism/analytics/analytics_service.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:firebase_dynamic_links/firebase_dynamic_links.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:share/share.dart'; -import 'package:Prism/logger/logger.dart'; class ShareButton extends StatefulWidget { final String? id; diff --git a/lib/ui/widgets/popup/categoryPopUp.dart b/lib/ui/widgets/popup/categoryPopUp.dart index 6bf12a50..efbfa01e 100644 --- a/lib/ui/widgets/popup/categoryPopUp.dart +++ b/lib/ui/widgets/popup/categoryPopUp.dart @@ -1,12 +1,12 @@ import 'package:Prism/global/categoryMenu.dart'; import 'package:Prism/global/categoryProvider.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/ui/pages/home/core/pageManager.dart' as PM; import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/ui/pages/home/core/pageManager.dart' as PM; -import 'package:Prism/logger/logger.dart'; void showCategories(BuildContext context, CategoryMenu initialValue) { final controller = ScrollController(); diff --git a/lib/ui/widgets/popup/colorsPopUp.dart b/lib/ui/widgets/popup/colorsPopUp.dart index a9cbe401..a1ea5707 100644 --- a/lib/ui/widgets/popup/colorsPopUp.dart +++ b/lib/ui/widgets/popup/colorsPopUp.dart @@ -1,10 +1,10 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:animations/animations.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; final databaseReference = FirebaseFirestore.instance; List colors = [ diff --git a/lib/ui/widgets/popup/contriPopUp.dart b/lib/ui/widgets/popup/contriPopUp.dart index 9b91c0da..d9ff984f 100644 --- a/lib/ui/widgets/popup/contriPopUp.dart +++ b/lib/ui/widgets/popup/contriPopUp.dart @@ -1,3 +1,4 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/pages/profile/aboutScreen.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; @@ -5,7 +6,6 @@ import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:github/github.dart'; -import 'package:Prism/logger/logger.dart'; void showContributorDetails(BuildContext context, String username) { Future getUser(String username) async { diff --git a/lib/ui/widgets/popup/editProfilePanel.dart b/lib/ui/widgets/popup/editProfilePanel.dart index a105f528..70b74b3a 100644 --- a/lib/ui/widgets/popup/editProfilePanel.dart +++ b/lib/ui/widgets/popup/editProfilePanel.dart @@ -4,17 +4,17 @@ import 'dart:typed_data'; import 'package:Prism/auth/google_auth.dart'; import 'package:Prism/gitkey.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/global/svgAssets.dart'; import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/router.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flutter/material.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/main.dart' as main; import 'package:flutter_image_compress/flutter_image_compress.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:github/github.dart'; @@ -233,11 +233,11 @@ class _EditProfilePanelState extends State { linkIcons .sort((a, b) => a['name'].toString().compareTo(b['name'].toString())); final links = globals.prismUser.links; - linkIcons.forEach((element) { + for (var element in linkIcons) { if (links[element['name']] != "" && links[element['name']] != null) { element['value'] = links[element['name']]; } - }); + } _link = linkIcons[3]; bioController = TextEditingController(text: globals.prismUser.bio); usernameController = @@ -981,7 +981,7 @@ class _EditProfilePanelState extends State { showRemoveAlertDialog(context, () async { linkController.text = ""; - var links = globals.prismUser.links; + final links = globals.prismUser.links; links.remove( _link?["name"].toString()); globals.prismUser.links = links; @@ -1101,7 +1101,7 @@ class _EditProfilePanelState extends State { }); } if (linkEdit) { - Map links = globals.prismUser.links; + final Map links = globals.prismUser.links; for (int p = 0; p < linkIcons.length; p++) { if (linkIcons[p]["value"] != "") { links[linkIcons[p]["name"]] = @@ -1185,7 +1185,7 @@ class _EditProfilePanelState extends State { }); } if (linkEdit) { - Map links = globals.prismUser.links; + final Map links = globals.prismUser.links; for (int p = 0; p < linkIcons.length; p++) { if (linkIcons[p]["value"] != "") { links[linkIcons[p]["name"]] = diff --git a/lib/ui/widgets/popup/enterCodePanel.dart b/lib/ui/widgets/popup/enterCodePanel.dart index a9cbad16..88f2eb07 100644 --- a/lib/ui/widgets/popup/enterCodePanel.dart +++ b/lib/ui/widgets/popup/enterCodePanel.dart @@ -1,8 +1,8 @@ -import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/theme/jam_icons_icons.dart'; class EnterCodePanel extends StatefulWidget { const EnterCodePanel({ @@ -66,7 +66,7 @@ class _EnterCodePanelState extends State { Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - Container( + SizedBox( height: 80, width: width - 24, child: Center( diff --git a/lib/ui/widgets/popup/linkPopUp.dart b/lib/ui/widgets/popup/linkPopUp.dart index ddd77438..f2c72e2f 100644 --- a/lib/ui/widgets/popup/linkPopUp.dart +++ b/lib/ui/widgets/popup/linkPopUp.dart @@ -1,11 +1,11 @@ import 'package:Prism/auth/google_auth.dart'; import 'package:Prism/data/links/model/linksModel.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/pages/profile/aboutScreen.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:animations/animations.dart'; -import 'package:flutter/material.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:Prism/logger/logger.dart'; +import 'package:flutter/material.dart'; void showLinksPopUp(BuildContext context, String id) { Future> getLinks(String id) async { diff --git a/lib/ui/widgets/popup/noLoadLinkPopUp.dart b/lib/ui/widgets/popup/noLoadLinkPopUp.dart index c1ea84f2..5f1cc0ee 100644 --- a/lib/ui/widgets/popup/noLoadLinkPopUp.dart +++ b/lib/ui/widgets/popup/noLoadLinkPopUp.dart @@ -1,9 +1,9 @@ +import 'package:Prism/global/globals.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; // import 'package:Prism/data/links/model/linksModel.dart'; import 'package:Prism/ui/pages/profile/aboutScreen.dart'; import 'package:animations/animations.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart'; void showNoLoadLinksPopUp(BuildContext context, Map link) { // List links = []; diff --git a/lib/ui/widgets/popup/signInPopUp.dart b/lib/ui/widgets/popup/signInPopUp.dart index 4b6359dc..10f9e3f2 100644 --- a/lib/ui/widgets/popup/signInPopUp.dart +++ b/lib/ui/widgets/popup/signInPopUp.dart @@ -1,11 +1,11 @@ +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:animations/animations.dart'; import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/main.dart' as main; -import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:Prism/logger/logger.dart'; void googleSignInPopUp(BuildContext context, Function func) { final Dialog loaderDialog = Dialog( diff --git a/lib/ui/widgets/premiumBanners/followingFeed.dart b/lib/ui/widgets/premiumBanners/followingFeed.dart index 7ae316b2..5d87fedb 100644 --- a/lib/ui/widgets/premiumBanners/followingFeed.dart +++ b/lib/ui/widgets/premiumBanners/followingFeed.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBannerFollowingFeed extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/premiumBanners/premiumBanner.dart b/lib/ui/widgets/premiumBanners/premiumBanner.dart index 3ba2a1e1..722d285b 100644 --- a/lib/ui/widgets/premiumBanners/premiumBanner.dart +++ b/lib/ui/widgets/premiumBanners/premiumBanner.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBanner extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/premiumBanners/setup.dart b/lib/ui/widgets/premiumBanners/setup.dart index 9e9d937d..9db4bfcc 100644 --- a/lib/ui/widgets/premiumBanners/setup.dart +++ b/lib/ui/widgets/premiumBanners/setup.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBannerSetup extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/premiumBanners/setupOld.dart b/lib/ui/widgets/premiumBanners/setupOld.dart index ab1e6de5..74a63d4e 100644 --- a/lib/ui/widgets/premiumBanners/setupOld.dart +++ b/lib/ui/widgets/premiumBanners/setupOld.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBannerSetupOld extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/premiumBanners/setupPhotographer.dart b/lib/ui/widgets/premiumBanners/setupPhotographer.dart index ba5774af..c6839d9a 100644 --- a/lib/ui/widgets/premiumBanners/setupPhotographer.dart +++ b/lib/ui/widgets/premiumBanners/setupPhotographer.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBannerSetupPhotographer extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/premiumBanners/walls.dart b/lib/ui/widgets/premiumBanners/walls.dart index 61fd4dff..fb2d2ced 100644 --- a/lib/ui/widgets/premiumBanners/walls.dart +++ b/lib/ui/widgets/premiumBanners/walls.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBannerWalls extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/premiumBanners/wallsCarousel.dart b/lib/ui/widgets/premiumBanners/wallsCarousel.dart index fbdd7723..4fa40f5f 100644 --- a/lib/ui/widgets/premiumBanners/wallsCarousel.dart +++ b/lib/ui/widgets/premiumBanners/wallsCarousel.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:flutter/material.dart'; class PremiumBannerWallsCarousel extends StatelessWidget { final bool? comparator; diff --git a/lib/ui/widgets/profile/downloadList.dart b/lib/ui/widgets/profile/downloadList.dart index 4020b142..7e317e2e 100644 --- a/lib/ui/widgets/profile/downloadList.dart +++ b/lib/ui/widgets/profile/downloadList.dart @@ -1,11 +1,12 @@ import 'dart:io'; + +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:animations/animations.dart'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:permission_handler/permission_handler.dart'; -import 'package:Prism/logger/logger.dart'; class DownloadList extends StatelessWidget { @override diff --git a/lib/ui/widgets/profile/generalList.dart b/lib/ui/widgets/profile/generalList.dart index f3dcd5dd..5c2a88fa 100644 --- a/lib/ui/widgets/profile/generalList.dart +++ b/lib/ui/widgets/profile/generalList.dart @@ -1,10 +1,10 @@ import 'package:Prism/data/notifications/model/inAppNotifModel.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:flutter/material.dart'; import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:flutter/material.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; -import 'package:Prism/main.dart' as main; import 'package:hive/hive.dart'; class GeneralList extends StatefulWidget { diff --git a/lib/ui/widgets/profile/premiumList.dart b/lib/ui/widgets/profile/premiumList.dart index c5855217..b186bc0b 100644 --- a/lib/ui/widgets/profile/premiumList.dart +++ b/lib/ui/widgets/profile/premiumList.dart @@ -1,9 +1,9 @@ +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/main.dart' as main; +import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; -import 'package:Prism/routes/routing_constants.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/global/globals.dart' as globals; class PremiumList extends StatelessWidget { @override diff --git a/lib/ui/widgets/profile/prismList.dart b/lib/ui/widgets/profile/prismList.dart index 2a35a99a..e7529b6f 100644 --- a/lib/ui/widgets/profile/prismList.dart +++ b/lib/ui/widgets/profile/prismList.dart @@ -1,6 +1,8 @@ import 'dart:io' show Platform; + import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/widgets/popup/changelogPopUp.dart'; import 'package:animations/animations.dart'; import 'package:device_info/device_info.dart'; @@ -9,7 +11,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_mailer/flutter_mailer.dart'; import 'package:share/share.dart'; import 'package:url_launcher/url_launcher.dart'; -import 'package:Prism/theme/toasts.dart' as toasts; class PrismList extends StatelessWidget { @override diff --git a/lib/ui/widgets/profile/uploadedSetupsLoader.dart b/lib/ui/widgets/profile/uploadedSetupsLoader.dart index c74c7b5f..34b77ce4 100644 --- a/lib/ui/widgets/profile/uploadedSetupsLoader.dart +++ b/lib/ui/widgets/profile/uploadedSetupsLoader.dart @@ -1,7 +1,7 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/profile/uploadedSetupsGrid.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; class UploadedSetupsLoader extends StatefulWidget { final Future future; diff --git a/lib/ui/widgets/profile/uploadedWallsLoader.dart b/lib/ui/widgets/profile/uploadedWallsLoader.dart index 0edd913c..a467548d 100644 --- a/lib/ui/widgets/profile/uploadedWallsLoader.dart +++ b/lib/ui/widgets/profile/uploadedWallsLoader.dart @@ -1,7 +1,7 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/profile/uploadedWallsGrid.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/logger/logger.dart'; class ProfileLoader extends StatefulWidget { final Future future; diff --git a/lib/ui/widgets/profile/userList.dart b/lib/ui/widgets/profile/userList.dart index 4674cd37..6b8bb3cc 100644 --- a/lib/ui/widgets/profile/userList.dart +++ b/lib/ui/widgets/profile/userList.dart @@ -1,17 +1,17 @@ import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/favourites/provider/favouriteSetupProvider.dart'; +import 'package:Prism/global/globals.dart' as globals; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/theme/jam_icons_icons.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:animations/animations.dart'; import 'package:flutter/material.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/theme/toasts.dart' as toasts; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class UserList extends StatelessWidget { final bool expanded; - UserList({required this.expanded}); + const UserList({required this.expanded}); @override Widget build(BuildContext context) { if (globals.prismUser.loggedIn == false) { diff --git a/lib/ui/widgets/profile/userProfileGrid.dart b/lib/ui/widgets/profile/userProfileGrid.dart index f6595e4c..a550b389 100644 --- a/lib/ui/widgets/profile/userProfileGrid.dart +++ b/lib/ui/widgets/profile/userProfileGrid.dart @@ -1,19 +1,19 @@ import 'package:Prism/data/profile/wallpaper/getUserProfile.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/focussedMenu/focusedMenu.dart'; -import 'package:Prism/ui/widgets/home/wallpapers/seeMoreButton.dart'; -import 'package:Prism/ui/widgets/premiumBanners/walls.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; +import 'package:Prism/ui/widgets/home/wallpapers/seeMoreButton.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:Prism/ui/widgets/premiumBanners/walls.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class UserProfileGrid extends StatefulWidget { final String? email; diff --git a/lib/ui/widgets/profile/userProfileLoader.dart b/lib/ui/widgets/profile/userProfileLoader.dart index e330efd6..e6ae7ea7 100644 --- a/lib/ui/widgets/profile/userProfileLoader.dart +++ b/lib/ui/widgets/profile/userProfileLoader.dart @@ -1,9 +1,9 @@ import 'package:Prism/data/profile/wallpaper/getUserProfile.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/home/wallpapers/loading.dart'; import 'package:Prism/ui/widgets/profile/userProfileGrid.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class UserProfileLoader extends StatefulWidget { final String? email; diff --git a/lib/ui/widgets/profile/userProfileSetupGrid.dart b/lib/ui/widgets/profile/userProfileSetupGrid.dart index 2379a967..5450a0f6 100644 --- a/lib/ui/widgets/profile/userProfileSetupGrid.dart +++ b/lib/ui/widgets/profile/userProfileSetupGrid.dart @@ -1,19 +1,19 @@ import 'package:Prism/data/profile/wallpaper/getUserProfile.dart'; +import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/global/svgAssets.dart'; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/wallpapers/seeMoreButton.dart'; -import 'package:Prism/ui/widgets/premiumBanners/setupPhotographer.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:Prism/ui/widgets/premiumBanners/setupPhotographer.dart'; import 'package:Prism/ui/widgets/setups/loadingSetups.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/global/globals.dart' as globals; -import 'package:Prism/logger/logger.dart'; class UserProfileSetupGrid extends StatefulWidget { final String? email; diff --git a/lib/ui/widgets/profile/userProfileSetupLoader.dart b/lib/ui/widgets/profile/userProfileSetupLoader.dart index 00c8a685..d73d2964 100644 --- a/lib/ui/widgets/profile/userProfileSetupLoader.dart +++ b/lib/ui/widgets/profile/userProfileSetupLoader.dart @@ -1,9 +1,9 @@ import 'package:Prism/data/profile/wallpaper/getUserProfile.dart'; +import 'package:Prism/logger/logger.dart'; import 'package:Prism/ui/widgets/profile/userProfileSetupGrid.dart'; import 'package:Prism/ui/widgets/setups/loadingSetups.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class UserProfileSetupLoader extends StatefulWidget { final String? email; diff --git a/lib/ui/widgets/search/searchGrid.dart b/lib/ui/widgets/search/searchGrid.dart index e14f077b..51f3966b 100644 --- a/lib/ui/widgets/search/searchGrid.dart +++ b/lib/ui/widgets/search/searchGrid.dart @@ -1,19 +1,19 @@ +import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pData; +import 'package:Prism/data/share/createDynamicLink.dart'; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' as wData; -import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pData; +import 'package:Prism/logger/logger.dart'; +import 'package:Prism/main.dart' as main; import 'package:Prism/routes/routing_constants.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/focussedMenu/searchFocusedMenu.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; -import 'package:Prism/data/share/createDynamicLink.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/main.dart' as main; -import 'package:Prism/logger/logger.dart'; class SearchGrid extends StatefulWidget { final String query; diff --git a/lib/ui/widgets/setups/loadingSetups.dart b/lib/ui/widgets/setups/loadingSetups.dart index fdfe4a16..93c937f5 100644 --- a/lib/ui/widgets/setups/loadingSetups.dart +++ b/lib/ui/widgets/setups/loadingSetups.dart @@ -1,9 +1,9 @@ +import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/home/core/inheritedScrollControllerProvider.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:provider/provider.dart'; -import 'package:Prism/logger/logger.dart'; class LoadingSetupCards extends StatefulWidget { const LoadingSetupCards({ From 2b45ba7a59c45c0ed2903be181707c78ee1e662c Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 13:30:52 +0530 Subject: [PATCH 04/36] update dependencies --- pubspec.lock | 28 ++++++++++++++++++++++------ pubspec.yaml | 11 ++++++++--- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index a4c5c2fa..5ae11229 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -43,6 +43,15 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.8.2" + async_wallpaper: + dependency: "direct main" + description: + path: "." + ref: HEAD + resolved-ref: "66c1239e86622336e3216361f40cfb26a38a3c4c" + url: "https://github.com/codenameakshay/async_wallpaper.git" + source: git + version: "1.0.1" bloc: dependency: transitive description: @@ -364,14 +373,14 @@ packages: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.1.0" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" firebase_dynamic_links: dependency: "direct main" description: @@ -392,21 +401,21 @@ packages: name: firebase_messaging url: "https://pub.dartlang.org" source: hosted - version: "9.1.4" + version: "11.1.0" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.1.4" + version: "3.0.9" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "2.1.0" firebase_remote_config: dependency: "direct main" description: @@ -468,6 +477,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.3.2" + flutter_downloader: + dependency: "direct main" + description: + name: flutter_downloader + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.1" flutter_image_compress: dependency: "direct main" description: @@ -845,7 +861,7 @@ packages: source: hosted version: "0.2.1" path_provider: - dependency: "direct overridden" + dependency: "direct main" description: name: path_provider url: "https://pub.dartlang.org" diff --git a/pubspec.yaml b/pubspec.yaml index f504b99b..71d0a7a3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,6 +19,9 @@ environment: dependencies: animations: ^2.0.0 + async_wallpaper: + git: + url: https://github.com/codenameakshay/async_wallpaper.git cached_network_image: ^3.0.0 carousel_slider: ^4.0.0 cloud_firestore: ^1.0.7 @@ -31,13 +34,14 @@ dependencies: firebase_auth: ^1.1.2 firebase_dynamic_links: ^0.5.1 firebase_in_app_messaging: ^0.5.0+4 - firebase_messaging: ^9.1.3 + firebase_messaging: ^11.1.0 firebase_remote_config: ^0.6.0 flare_flutter: ^3.0.2 flutter: sdk: flutter - flutter_archive: ^4.0.1 + flutter_archive: ^4.1.0 flutter_displaymode: ^0.3.1-nullsafety.0 + flutter_downloader: ^1.7.1 flutter_image_compress: ^1.0.0 flutter_local_notifications: ^9.0.1 flutter_mailer: ^2.0.0 @@ -45,7 +49,7 @@ dependencies: flutter_staggered_grid_view: ^0.4.0 flutter_svg: ^0.23.0+1 fluttertoast: ^8.0.6 - gallery_saver: ^2.1.0 + gallery_saver: ^2.3.2 get_it: ^7.2.0 github: ^8.1.0 google_mobile_ads: ^0.13.0 @@ -60,6 +64,7 @@ dependencies: logger: ^1.0.0 paginate_firestore: ^0.3.1 palette_generator: ^0.3.0 + path_provider: ^2.0.7 permission_handler: ^8.2.5 photo_view: ^0.13.0 photofilters: ^3.0.1 From 7174f68f6c877a0cc9555e2e1044d80bb4e854e2 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 13:31:24 +0530 Subject: [PATCH 05/36] update gradle and compileSDKVersion --- android/app/build.gradle | 6 +++--- android/app/src/main/AndroidManifest.xml | 7 ++++++- android/build.gradle | 2 +- android/gradle/wrapper/gradle-wrapper.properties | 3 ++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 2bc3cfd8..70ba8ac3 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -31,7 +31,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" } android { - compileSdkVersion 30 + compileSdkVersion 31 lintOptions { disable 'InvalidPackage' @@ -40,8 +40,8 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.hash.prism" - minSdkVersion 19 - targetSdkVersion 30 + minSdkVersion 21 + targetSdkVersion 31 versionCode flutterVersionCode.toInteger() versionName flutterVersionName multiDexEnabled true diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c3b2b581..99e3da43 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ + package="com.hash.prism" + xmlns:tools="http://schemas.android.com/tools" > @@ -13,6 +14,7 @@ + + + diff --git a/android/build.gradle b/android/build.gradle index bee8b525..44be938b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.4' + classpath 'com.android.tools.build:gradle:4.1.0' classpath 'com.google.gms:google-services:4.3.4' classpath 'io.fabric.tools:gradle:1.26.1' } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 31afd709..6f0c1a0f 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip + From 316d57289a62eaa49d1fc191f3aa409f3f33e5c3 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 13:31:45 +0530 Subject: [PATCH 06/36] add new download and set wallpaper buttons --- lib/main.dart | 4 + lib/ui/pages/home/core/pageManager.dart | 94 ++-- .../home/wallpapers/wallpaperScreen.dart | 508 +++++++++--------- lib/ui/widgets/menuButton/downloadButton.dart | 146 +++++ .../menuButton/setWallpaperButton.dart | 222 +++++--- 5 files changed, 582 insertions(+), 392 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 69a0a1eb..ff257444 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -37,6 +37,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; import 'package:hive/hive.dart'; import 'package:path_provider/path_provider.dart'; @@ -74,6 +75,9 @@ Future main() async { Firebase.initializeApp().then((_) { getApplicationDocumentsDirectory().then( (dir) async { + await FlutterDownloader.initialize( + debug: false, + ); Hive.init(dir.path); // await Hive.deleteBoxFromDisk('prefs'); // Hive.ignoreTypeId(33); diff --git a/lib/ui/pages/home/core/pageManager.dart b/lib/ui/pages/home/core/pageManager.dart index 4b10c273..e85a49cf 100644 --- a/lib/ui/pages/home/core/pageManager.dart +++ b/lib/ui/pages/home/core/pageManager.dart @@ -1,4 +1,3 @@ - import 'package:Prism/data/ads/adsNotifier.dart'; import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/global/globals.dart' as globals; @@ -158,45 +157,11 @@ class _PageManagerChildState extends State Future initDynamicLinks(BuildContext context) async { final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink(); - final Uri? deepLink = data.link; - - if (deepLink != null && linkOpened == 0) { - logger.d("opened while closed altogether via deep link"); - if (deepLink.pathSegments[0] == "share") { - Future.delayed(const Duration()).then( - (value) => Navigator.pushNamed(context, shareRoute, arguments: [ - deepLink.queryParameters["id"], - deepLink.queryParameters["provider"], - deepLink.queryParameters["url"], - deepLink.queryParameters["thumb"], - ])); - linkOpened = 1; - } else if (deepLink.pathSegments[0] == "user") { - Future.delayed(const Duration()).then((value) => - Navigator.pushNamed(context, followerProfileRoute, arguments: [ - deepLink.queryParameters["email"], - ])); - linkOpened = 1; - } else if (deepLink.pathSegments[0] == "setup") { - Future.delayed(const Duration()).then((value) => - Navigator.pushNamed(context, shareSetupViewRoute, arguments: [ - deepLink.queryParameters["name"], - deepLink.queryParameters["thumbUrl"], - ])); - linkOpened = 1; - } else if (deepLink.pathSegments[0] == "refer") { - //TODO write code to add coins in friend/user account - linkOpened = 1; - } else {} - logger.d("opened while closed altogether via deep link2345"); - } + if (data != null) { + final Uri? deepLink = data?.link; - FirebaseDynamicLinks.instance.onLink( - onSuccess: (PendingDynamicLinkData dynamicLink) async { - final Uri deepLink = dynamicLink.link; - - if (deepLink != null) { - logger.d("opened while bg via deep link1"); + if (deepLink != null && linkOpened == 0) { + logger.d("opened while closed altogether via deep link"); if (deepLink.pathSegments[0] == "share") { Future.delayed(const Duration()).then( (value) => Navigator.pushNamed(context, shareRoute, arguments: [ @@ -205,26 +170,63 @@ class _PageManagerChildState extends State deepLink.queryParameters["url"], deepLink.queryParameters["thumb"], ])); + linkOpened = 1; } else if (deepLink.pathSegments[0] == "user") { Future.delayed(const Duration()).then((value) => Navigator.pushNamed(context, followerProfileRoute, arguments: [ deepLink.queryParameters["email"], ])); + linkOpened = 1; } else if (deepLink.pathSegments[0] == "setup") { Future.delayed(const Duration()).then((value) => Navigator.pushNamed(context, shareSetupViewRoute, arguments: [ deepLink.queryParameters["name"], deepLink.queryParameters["thumbUrl"], ])); + linkOpened = 1; + } else if (deepLink.pathSegments[0] == "refer") { + //TODO write code to add coins in friend/user account + linkOpened = 1; } else {} - - logger.d("opened while bg via deep link2345"); + logger.d("opened while closed altogether via deep link2345"); } - }, onError: (OnLinkErrorException e) async { - logger.d('onLinkError'); - logger.d(e.message); - }); - return true; + + FirebaseDynamicLinks.instance.onLink( + onSuccess: (PendingDynamicLinkData dynamicLink) async { + final Uri deepLink = dynamicLink.link; + + if (deepLink != null) { + logger.d("opened while bg via deep link1"); + if (deepLink.pathSegments[0] == "share") { + Future.delayed(const Duration()).then( + (value) => Navigator.pushNamed(context, shareRoute, arguments: [ + deepLink.queryParameters["id"], + deepLink.queryParameters["provider"], + deepLink.queryParameters["url"], + deepLink.queryParameters["thumb"], + ])); + } else if (deepLink.pathSegments[0] == "user") { + Future.delayed(const Duration()).then((value) => + Navigator.pushNamed(context, followerProfileRoute, arguments: [ + deepLink.queryParameters["email"], + ])); + } else if (deepLink.pathSegments[0] == "setup") { + Future.delayed(const Duration()).then((value) => + Navigator.pushNamed(context, shareSetupViewRoute, arguments: [ + deepLink.queryParameters["name"], + deepLink.queryParameters["thumbUrl"], + ])); + } else {} + + logger.d("opened while bg via deep link2345"); + } + }, onError: (OnLinkErrorException e) async { + logger.d('onLinkError'); + logger.d(e.message); + }); + return true; + } + return false; } @override diff --git a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart index b9fd4539..b240485b 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; import 'dart:typed_data'; -import 'dart:ui'; +import 'dart:ui' as ui; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/palette/paletteNotifier.dart'; @@ -27,8 +29,11 @@ import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:Prism/ui/widgets/menuButton/shareButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:path_provider/path_provider.dart'; import 'package:provider/provider.dart'; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; @@ -50,9 +55,16 @@ class _WallpaperScreenState extends State } final GlobalKey _scaffoldKey = GlobalKey(); + final GlobalKey genKey = GlobalKey(); String? provider; late int index; late String link; + late String path; + int progress = 0; + bool downloading = false; + bool applying = false; + bool downloaded = false; + final ReceivePort _port = ReceivePort(); late AnimationController shakeController; List? colors; Color? accent = Colors.white; @@ -112,11 +124,78 @@ class _WallpaperScreenState extends State } } + Future _capturePng() async { + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteData!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + return imgFile; + } + + Future moveFile(File sourceFile, String newPath) async { + try { + // prefer using rename as it is probably faster + return await sourceFile.rename(newPath); + } on FileSystemException catch (e) { + // if rename fails, copy the source file and then delete it + final newFile = await sourceFile.copy(newPath); + await sourceFile.delete(); + return newFile; + } + } + + void setupDownloader() { + initPlatformState(); + ui.IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + // String id = data[0]; + final DownloadTaskStatus status = data[1] as DownloadTaskStatus; + if (status == const DownloadTaskStatus(3)) { + setState(() { + downloaded = true; + }); + toasts.codeSend("Wall Downloaded in Downloads!"); + } + setState(() { + if (status == const DownloadTaskStatus(2)) { + downloading = true; + progress = data[2] as int; + } else { + downloading = false; + progress = 0; + } + }); + }); + FlutterDownloader.registerCallback(callback); + } + + void _setPath() async { + path = (await _findLocalPath())!; + final savedDir = Directory(path); + final bool hasExisted = await savedDir.exists(); + if (!hasExisted) { + savedDir.create(); + } + } + @override void initState() { + super.initState(); shakeController = AnimationController( duration: const Duration(milliseconds: 300), vsync: this); - super.initState(); + setupDownloader(); provider = widget.arguments![0] as String; index = widget.arguments![1] as int; link = widget.arguments![2] as String; @@ -128,10 +207,38 @@ class _WallpaperScreenState extends State Future.delayed(const Duration()).then((value) => _updatePaletteGenerator()); } + Future initPlatformState() async { + _setPath(); + if (!mounted) return; + } + + Future _findLocalPath() async { + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + return externalStorageDirPath; + } + + static void callback(String id, DownloadTaskStatus status, int progress) { + final SendPort? send = + ui.IsolateNameServer.lookupPortByName('downloader_send_port'); + send?.send([id, status, progress]); + } + @override void dispose() { - super.dispose(); shakeController.dispose(); + ui.IsolateNameServer.removePortNameMapping('downloader_send_port'); + super.dispose(); } @override @@ -141,11 +248,11 @@ class _WallpaperScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: provider == "WallHaven" @@ -167,41 +274,6 @@ class _WallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError as String); - }); - } else { - main.prefs.get('optimisedWallpapers', - defaultValue: false) == - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -235,7 +307,7 @@ class _WallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -456,16 +528,27 @@ class _WallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( - colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : wdata.walls[index].path.toString()), + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path, + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: wdata.walls[index].path.toString(), + ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : wdata.walls[index].path), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: wdata.walls[index].path, + ), FavouriteWallpaperButton( id: wdata.walls[index].id.toString(), provider: "WallHaven", @@ -522,8 +605,8 @@ class _WallpaperScreenState extends State child: CachedNetworkImage( imageUrl: wdata.walls[index].path!, imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, @@ -650,40 +733,6 @@ class _WallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -717,7 +766,8 @@ class _WallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: + ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -1111,20 +1161,31 @@ class _WallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( - colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : data.subPrismWalls![index] - ["wallpaper_url"] - .toString()), + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path, + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: data.subPrismWalls![index] + ["wallpaper_url"] + .toString(), + ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : data.subPrismWalls![index] - ["wallpaper_url"] - .toString()), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: data.subPrismWalls![index] + ["wallpaper_url"] + .toString(), + ), FavouriteWallpaperButton( id: data.subPrismWalls![index]["id"] .toString(), @@ -1189,8 +1250,8 @@ class _WallpaperScreenState extends State ["wallpaper_url"] .toString(), imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: @@ -1321,41 +1382,6 @@ class _WallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger - .d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -1389,8 +1415,8 @@ class _WallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: - ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur( + sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -1649,20 +1675,33 @@ class _WallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( - colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : pdata.wallsP[index] - .src!["original"] - .toString()), + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path, + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: pdata + .wallsP[index].src!["original"] + .toString(), + ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : pdata.wallsP[index] - .src!["original"] - .toString()), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: pdata + .wallsP[index].src!["original"] + .toString(), + ), FavouriteWallpaperButton( id: pdata.wallsP[index].id .toString(), @@ -1726,8 +1765,8 @@ class _WallpaperScreenState extends State .wallsP[index].src!["original"] .toString(), imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: @@ -1864,44 +1903,6 @@ class _WallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - main.prefs.get('optimisedWallpapers') - as bool? ?? - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: - const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = - File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d( - "Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -1935,7 +1936,7 @@ class _WallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur( + filter: ui.ImageFilter.blur( sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), @@ -2212,21 +2213,33 @@ class _WallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : pdata.wallsC[index] - .src!["original"] - .toString(), + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path, + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: pdata.wallsC[index] + .src!["original"] + .toString(), ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : pdata.wallsC[index] - .src!["original"] - .toString()), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: pdata.wallsC[index] + .src!["original"] + .toString(), + ), FavouriteWallpaperButton( id: pdata.wallsC[index].id .toString(), @@ -2295,8 +2308,8 @@ class _WallpaperScreenState extends State .toString(), imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: @@ -2444,44 +2457,6 @@ class _WallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - main.prefs.get('optimisedWallpapers') - as bool? ?? - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: - const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = - File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d( - "Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -2515,7 +2490,7 @@ class _WallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur( + filter: ui.ImageFilter.blur( sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), @@ -2793,19 +2768,30 @@ class _WallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : wdata.wallsS[index].path - .toString(), + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path, + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: wdata.wallsS[index].path + .toString(), ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : wdata - .wallsS[index].path), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: wdata.wallsS[index].path, + ), FavouriteWallpaperButton( id: wdata.wallsS[index].id .toString(), @@ -2865,8 +2851,8 @@ class _WallpaperScreenState extends State imageUrl: wdata.wallsS[index].path!, imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index 9f58a914..6203145f 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -1,3 +1,6 @@ +import 'dart:io'; +import 'dart:math'; + import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/ads/adsNotifier.dart'; import 'package:Prism/global/globals.dart' as globals; @@ -12,8 +15,151 @@ import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:gallery_saver/gallery_saver.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; + +class DownloadButtonNew extends StatefulWidget { + final String link; + final bool colorChanged; + final bool loading; + final int progress; + final String path; + final Future Function()? screenshotCallback; + + const DownloadButtonNew({ + required this.link, + required this.loading, + required this.progress, + required this.path, + required this.colorChanged, + required this.screenshotCallback, + Key? key, + }) : super(key: key); + + @override + _DownloadButtonNewState createState() => _DownloadButtonNewState(); +} + +class _DownloadButtonNewState extends State { + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () async { + if (!widget.loading) { + if (globals.prismUser.loggedIn == true) { + if (globals.prismUser.premium == true) { + finalDownload(widget.link, widget.path); + } else { + showDownloadPopup(context, () { + logger.d("Download"); + finalDownload(widget.link, widget.path); + }); + } + } else { + showDownloadPopup(context, () { + logger.d("Download"); + finalDownload(widget.link, widget.path); + }); + } + } else { + toasts.error("Wait for download to complete!"); + } + }, + child: Stack( + children: [ + Container( + decoration: BoxDecoration( + color: Theme.of(context).primaryColor, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(.25), + blurRadius: 4, + offset: const Offset(0, 4)) + ], + borderRadius: BorderRadius.circular(500), + ), + padding: const EdgeInsets.all(17), + child: Icon( + JamIcons.download, + color: Theme.of(context).accentColor, + size: 20, + ), + ), + Positioned( + top: 0, + left: 0, + height: 53, + width: 53, + child: widget.loading + ? const CircularProgressIndicator() + : Container()) + ], + ), + ); + } + + void showPremiumPopUp(Function func) { + if (globals.prismUser.premium == false) { + toasts.codeSend("Variants are a premium feature."); + Navigator.pushNamed(context, premiumRoute); + } else { + func(); + } + } + + Future finalDownload(String link, String path) async { + await Permission.storage.request().isGranted; + String url = link; + if (widget.colorChanged) { + final File? file = await widget.screenshotCallback?.call(); + url = file?.path ?? link; + } + logger.d('Already not downloaded, downloading $url'); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + if (widget.colorChanged) { + GallerySaver.saveImage(url, albumName: "Prism").then((value) { + analytics.logEvent( + name: 'download_wallpaper', parameters: {'link': widget.link}); + toasts.codeSend("Wall Downloaded in Pictures/Prism!"); + }).catchError((e, StackTrace s) { + logger.e(e, s, s); + }); + } else { + if (Platform.isAndroid) { + var androidInfo = await DeviceInfoPlugin().androidInfo; + logger.d(androidInfo.version.sdkInt); + final taskId = await FlutterDownloader.enqueue( + url: url, + savedDir: path, + fileName: + "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", + saveInPublicStorage: + (androidInfo.version.sdkInt >= 29) ? true : false, + ); + logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + } else { + final taskId = await FlutterDownloader.enqueue( + url: url, + savedDir: path, + fileName: + "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", + ); + logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + } + } + } +} class DownloadButton extends StatefulWidget { final String? link; diff --git a/lib/ui/widgets/menuButton/setWallpaperButton.dart b/lib/ui/widgets/menuButton/setWallpaperButton.dart index 51667b29..983f60ec 100644 --- a/lib/ui/widgets/menuButton/setWallpaperButton.dart +++ b/lib/ui/widgets/menuButton/setWallpaperButton.dart @@ -1,9 +1,10 @@ -import 'dart:io' show Platform; +import 'dart:io'; import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/logger/logger.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/theme/toasts.dart' as toasts; +import 'package:async_wallpaper/async_wallpaper.dart'; import 'package:device_info/device_info.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -11,10 +12,12 @@ import 'package:flutter/services.dart'; class SetWallpaperButton extends StatefulWidget { final String? url; final bool colorChanged; + final Future Function()? screenshotCallback; const SetWallpaperButton({ Key? key, required this.url, required this.colorChanged, + this.screenshotCallback, }) : super(key: key); @override @@ -22,28 +25,28 @@ class SetWallpaperButton extends StatefulWidget { } class _SetWallpaperButtonState extends State { - static const platform = MethodChannel("flutter.prism.set_wallpaper"); bool isLoading = false; + late String url; + + @override + void initState() { + super.initState(); + url = widget.url ?? ""; + } Future _setWallPaper() async { - bool? result; + String? result; try { - if (widget.url!.contains("com.hash.prism")) { - result = - await platform.invokeMethod("set_wallpaper_file", { - 'url': widget.url, - }); - } else if (widget.url!.contains("/0/")) { - result = - await platform.invokeMethod("set_wallpaper_file", { - 'url': "/${widget.url!.replaceAll("/0//", "/0/")}", - }); + if (widget.colorChanged) { + result = await AsyncWallpaper.setWallpaperFromFileNative( + url, + ); } else { - result = await platform.invokeMethod("set_wallpaper", { - 'url': widget.url, - }); + result = await AsyncWallpaper.setWallpaperNative( + url, + ); } - if (result!) { + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -65,25 +68,20 @@ class _SetWallpaperButtonState extends State { } Future _setBothWallPaper() async { - bool? result; + String? result; try { - if (widget.url!.contains("com.hash.prism")) { - result = await platform - .invokeMethod("set_both_wallpaper_file", { - 'url': widget.url, - }); - } else if (widget.url!.contains("/0/")) { - result = await platform - .invokeMethod("set_both_wallpaper_file", { - 'url': "/${widget.url!.replaceAll("/0//", "/0/")}", - }); + if (widget.colorChanged) { + result = await AsyncWallpaper.setWallpaperFromFile( + url, + AsyncWallpaper.BOTH_SCREENS, + ); } else { - result = - await platform.invokeMethod("set_both_wallpaper", { - 'url': widget.url, - }); + result = await AsyncWallpaper.setWallpaper( + url, + AsyncWallpaper.BOTH_SCREENS, + ); } - if (result!) { + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -106,25 +104,20 @@ class _SetWallpaperButtonState extends State { } Future _setLockWallPaper() async { - bool? result; + String? result; try { - if (widget.url!.contains("com.hash.prism")) { - result = await platform - .invokeMethod("set_lock_wallpaper_file", { - 'url': widget.url, - }); - } else if (widget.url!.contains("/0/")) { - result = await platform - .invokeMethod("set_lock_wallpaper_file", { - 'url': "/${widget.url!.replaceAll("/0//", "/0/")}", - }); + if (widget.colorChanged) { + result = await AsyncWallpaper.setWallpaperFromFile( + url, + AsyncWallpaper.LOCK_SCREEN, + ); } else { - result = - await platform.invokeMethod("set_lock_wallpaper", { - 'url': widget.url, - }); + result = await AsyncWallpaper.setWallpaper( + url, + AsyncWallpaper.LOCK_SCREEN, + ); } - if (result!) { + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -147,25 +140,20 @@ class _SetWallpaperButtonState extends State { } Future _setHomeWallPaper() async { - bool? result; + String? result; try { - if (widget.url!.contains("com.hash.prism")) { - result = await platform - .invokeMethod("set_home_wallpaper_file", { - 'url': widget.url, - }); - } else if (widget.url!.contains("/0/")) { - result = await platform - .invokeMethod("set_home_wallpaper_file", { - 'url': "/${widget.url!.replaceAll("/0//", "/0/")}", - }); + if (widget.colorChanged) { + result = await AsyncWallpaper.setWallpaperFromFile( + url, + AsyncWallpaper.HOME_SCREEN, + ); } else { - result = - await platform.invokeMethod("set_home_wallpaper", { - 'url': widget.url, - }); + result = await AsyncWallpaper.setWallpaper( + url, + AsyncWallpaper.HOME_SCREEN, + ); } - if (result!) { + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -190,8 +178,10 @@ class _SetWallpaperButtonState extends State { Future onPaint() async { HapticFeedback.vibrate(); if (widget.colorChanged) { + final File file = await widget.screenshotCallback?.call() as File; setState(() { isLoading = true; + url = file.path; }); Future.delayed(const Duration(seconds: 1)) .then((value) => _setWallPaper()); @@ -207,21 +197,6 @@ class _SetWallpaperButtonState extends State { @override Widget build(BuildContext context) { return GestureDetector( - onLongPress: () async { - if (Platform.isAndroid) { - final androidInfo = await DeviceInfoPlugin().androidInfo; - final sdkInt = androidInfo.version.sdkInt; - logger.d('(SDK $sdkInt)'); - isLoading - ? logger.d("") - : sdkInt >= 24 - ? onPaint() - : toasts - .error("Crop is supported for Android 7.0 and above!"); - } else { - toasts.error("Sorry crop is supported for Android 7.0 and above!"); - } - }, onTap: () { isLoading ? logger.d("") @@ -229,33 +204,76 @@ class _SetWallpaperButtonState extends State { isScrollControlled: true, context: context, builder: (context) => SetOptionsPanel( - onTap1: () { + onTap1: () async { + logger.d(widget.colorChanged); HapticFeedback.vibrate(); Navigator.of(context).pop(); + File? file; + if (widget.colorChanged) { + file = await widget.screenshotCallback?.call() as File; + } setState(() { isLoading = true; + if (widget.colorChanged && file != null) { + url = file.path; + } }); Future.delayed(const Duration(seconds: 1)) .then((value) => _setHomeWallPaper()); }, - onTap2: () { + onTap2: () async { + logger.d(widget.colorChanged); HapticFeedback.vibrate(); Navigator.of(context).pop(); + File? file; + if (widget.colorChanged) { + file = await widget.screenshotCallback?.call() as File; + } setState(() { isLoading = true; + if (widget.colorChanged && file != null) { + url = file.path; + } }); Future.delayed(const Duration(seconds: 1)) .then((value) => _setLockWallPaper()); }, - onTap3: () { + onTap3: () async { + logger.d(widget.colorChanged); HapticFeedback.vibrate(); Navigator.of(context).pop(); + File? file; + if (widget.colorChanged) { + file = await widget.screenshotCallback?.call() as File; + } setState(() { isLoading = true; + if (widget.colorChanged && file != null) { + url = file.path; + } }); Future.delayed(const Duration(seconds: 1)) .then((value) => _setBothWallPaper()); }, + onTap4: () async { + logger.d(widget.colorChanged); + HapticFeedback.vibrate(); + Navigator.of(context).pop(); + if (Platform.isAndroid) { + final androidInfo = await DeviceInfoPlugin().androidInfo; + final sdkInt = androidInfo.version.sdkInt; + logger.d('(SDK $sdkInt)'); + isLoading + ? logger.d("") + : sdkInt >= 24 + ? onPaint() + : toasts.error( + "Crop is supported for Android 7.0 and above!"); + } else { + toasts.error( + "Sorry crop is supported for Android 7.0 and above!"); + } + }, ), ); }, @@ -296,11 +314,13 @@ class SetOptionsPanel extends StatefulWidget { final Function? onTap1; final Function? onTap2; final Function? onTap3; + final Function? onTap4; const SetOptionsPanel({ Key? key, this.onTap1, this.onTap2, this.onTap3, + this.onTap4, }) : super(key: key); @override @@ -317,8 +337,8 @@ class _SetOptionsPanelState extends State { Widget build(BuildContext context) { final width = MediaQuery.of(context).size.width * 0.85; return Container( - height: MediaQuery.of(context).size.height / 2 > 400 - ? MediaQuery.of(context).size.height / 2 + height: MediaQuery.of(context).size.height / 1.7 > 400 + ? MediaQuery.of(context).size.height / 1.7 : 400, decoration: BoxDecoration( color: Theme.of(context).primaryColor, @@ -447,6 +467,38 @@ class _SetOptionsPanelState extends State { ), ), ), + Padding( + padding: const EdgeInsets.all(8.0), + child: GestureDetector( + onTap: () { + widget.onTap4!(); + }, + child: SizedBox( + width: width - 20, + height: 60, + child: Container( + width: width - 14, + height: 60, + decoration: BoxDecoration( + color: Theme.of(context).errorColor.withOpacity(0.2), + border: Border.all( + color: Theme.of(context).errorColor, width: 3), + borderRadius: BorderRadius.circular(20), + ), + child: Center( + child: Text( + "External...", + style: TextStyle( + fontSize: 16, + color: Theme.of(context).accentColor, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ), ], ), const Spacer(flex: 2), From d1b5e42cea7c6edb72a2fdc7e103a0e933c56f88 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 13:39:32 +0530 Subject: [PATCH 07/36] add permission check in downloads --- lib/ui/widgets/menuButton/downloadButton.dart | 81 ++++++++++--------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index 6203145f..89b829fa 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -115,48 +115,49 @@ class _DownloadButtonNewState extends State { } Future finalDownload(String link, String path) async { - await Permission.storage.request().isGranted; - String url = link; - if (widget.colorChanged) { - final File? file = await widget.screenshotCallback?.call(); - url = file?.path ?? link; - } - logger.d('Already not downloaded, downloading $url'); - final r = Random(); - String rNum = ""; - for (var i = 0; i < 6; i++) { - rNum = "$rNum${r.nextInt(9)}"; - } - if (widget.colorChanged) { - GallerySaver.saveImage(url, albumName: "Prism").then((value) { - analytics.logEvent( - name: 'download_wallpaper', parameters: {'link': widget.link}); - toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - }).catchError((e, StackTrace s) { - logger.e(e, s, s); - }); - } else { - if (Platform.isAndroid) { - var androidInfo = await DeviceInfoPlugin().androidInfo; - logger.d(androidInfo.version.sdkInt); - final taskId = await FlutterDownloader.enqueue( - url: url, - savedDir: path, - fileName: - "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", - saveInPublicStorage: - (androidInfo.version.sdkInt >= 29) ? true : false, - ); - logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + if (await Permission.storage.request().isGranted) { + String url = link; + logger.d('Already not downloaded, downloading $url'); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + if (widget.colorChanged) { + final File? file = await widget.screenshotCallback?.call(); + url = file?.path ?? link; + GallerySaver.saveImage(url, albumName: "Prism").then((value) { + analytics.logEvent( + name: 'download_wallpaper', parameters: {'link': widget.link}); + toasts.codeSend("Wall Downloaded in Pictures/Prism!"); + }).catchError((e, StackTrace s) { + logger.e(e, s, s); + }); } else { - final taskId = await FlutterDownloader.enqueue( - url: url, - savedDir: path, - fileName: - "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", - ); - logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + if (Platform.isAndroid) { + var androidInfo = await DeviceInfoPlugin().androidInfo; + logger.d(androidInfo.version.sdkInt); + final taskId = await FlutterDownloader.enqueue( + url: url, + savedDir: path, + fileName: + "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", + saveInPublicStorage: + (androidInfo.version.sdkInt >= 29) ? true : false, + ); + logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + } else { + final taskId = await FlutterDownloader.enqueue( + url: url, + savedDir: path, + fileName: + "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", + ); + logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + } } + } else { + toasts.error("No storage permission"); } } } From 8573dc088d098e3d524fd751809174b962ce0d68 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:14:58 +0530 Subject: [PATCH 08/36] fix infos --- lib/data/profile/wallpaper/getUserProfile.dart | 2 +- lib/data/setups/provider/setupProvider.dart | 2 +- lib/global/globals.dart | 2 +- lib/ui/pages/home/core/pageManager.dart | 2 +- lib/ui/widgets/menuButton/downloadButton.dart | 4 ++-- lib/ui/widgets/popup/editProfilePanel.dart | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/data/profile/wallpaper/getUserProfile.dart b/lib/data/profile/wallpaper/getUserProfile.dart index 878d2c37..b1864f79 100644 --- a/lib/data/profile/wallpaper/getUserProfile.dart +++ b/lib/data/profile/wallpaper/getUserProfile.dart @@ -143,7 +143,7 @@ Future unfollow(String email, String id) async { Future setUserLinks(List linklist, String id) async { final Map updateLink = {}; - for (var element in linklist) { + for (final element in linklist) { updateLink[element.name] = element.link; } await databaseReference diff --git a/lib/data/setups/provider/setupProvider.dart b/lib/data/setups/provider/setupProvider.dart index 862eb3a8..c290d7cc 100644 --- a/lib/data/setups/provider/setupProvider.dart +++ b/lib/data/setups/provider/setupProvider.dart @@ -107,7 +107,7 @@ Future getSetupFromName(String? name) async { .where("name", isEqualTo: name) .get() .then((value) { - for (var f in value.docs) { + for (final f in value.docs) { setup = f.data(); } logger.d(setup.toString()); diff --git a/lib/global/globals.dart b/lib/global/globals.dart index 27b08374..39c59203 100644 --- a/lib/global/globals.dart +++ b/lib/global/globals.dart @@ -69,7 +69,7 @@ String bannerTextOn = "true"; bool isPremiumWall(List premiumCollections, List wallCollections) { bool result = false; - for (var element in wallCollections) { + for (final element in wallCollections) { if (premiumCollections.contains(element)) { result = true; } else {} diff --git a/lib/ui/pages/home/core/pageManager.dart b/lib/ui/pages/home/core/pageManager.dart index e85a49cf..ee02eb3e 100644 --- a/lib/ui/pages/home/core/pageManager.dart +++ b/lib/ui/pages/home/core/pageManager.dart @@ -158,7 +158,7 @@ class _PageManagerChildState extends State final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink(); if (data != null) { - final Uri? deepLink = data?.link; + final Uri? deepLink = data.link; if (deepLink != null && linkOpened == 0) { logger.d("opened while closed altogether via deep link"); diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index 89b829fa..fa175e87 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -15,10 +15,10 @@ import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:gallery_saver/gallery_saver.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_downloader/flutter_downloader.dart'; class DownloadButtonNew extends StatefulWidget { final String link; @@ -135,7 +135,7 @@ class _DownloadButtonNewState extends State { }); } else { if (Platform.isAndroid) { - var androidInfo = await DeviceInfoPlugin().androidInfo; + final androidInfo = await DeviceInfoPlugin().androidInfo; logger.d(androidInfo.version.sdkInt); final taskId = await FlutterDownloader.enqueue( url: url, diff --git a/lib/ui/widgets/popup/editProfilePanel.dart b/lib/ui/widgets/popup/editProfilePanel.dart index 70b74b3a..f45d9b05 100644 --- a/lib/ui/widgets/popup/editProfilePanel.dart +++ b/lib/ui/widgets/popup/editProfilePanel.dart @@ -233,7 +233,7 @@ class _EditProfilePanelState extends State { linkIcons .sort((a, b) => a['name'].toString().compareTo(b['name'].toString())); final links = globals.prismUser.links; - for (var element in linkIcons) { + for (final element in linkIcons) { if (links[element['name']] != "" && links[element['name']] != null) { element['value'] = links[element['name']]; } From 988caf93f9e1db1a1eb7151770afe8f27534fcfd Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:15:27 +0530 Subject: [PATCH 09/36] fix wallpaperScreen unused code --- .../home/wallpapers/wallpaperScreen.dart | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart index b240485b..a713a399 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart @@ -35,7 +35,6 @@ import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:path_provider/path_provider.dart'; import 'package:provider/provider.dart'; -import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -59,7 +58,7 @@ class _WallpaperScreenState extends State String? provider; late int index; late String link; - late String path; + String? path; int progress = 0; bool downloading = false; bool applying = false; @@ -69,9 +68,7 @@ class _WallpaperScreenState extends State List? colors; Color? accent = Colors.white; bool colorChanged = false; - late File _imageFile; bool screenshotTaken = false; - ScreenshotController screenshotController = ScreenshotController(); PanelController panelController = PanelController(); bool panelClosed = true; bool panelCollapsed = true; @@ -143,18 +140,6 @@ class _WallpaperScreenState extends State return imgFile; } - Future moveFile(File sourceFile, String newPath) async { - try { - // prefer using rename as it is probably faster - return await sourceFile.rename(newPath); - } on FileSystemException catch (e) { - // if rename fails, copy the source file and then delete it - final newFile = await sourceFile.copy(newPath); - await sourceFile.delete(); - return newFile; - } - } - void setupDownloader() { initPlatformState(); ui.IsolateNameServer.registerPortWithName( @@ -183,7 +168,7 @@ class _WallpaperScreenState extends State void _setPath() async { path = (await _findLocalPath())!; - final savedDir = Directory(path); + final savedDir = Directory(path ?? ""); final bool hasExisted = await savedDir.exists(); if (!hasExisted) { savedDir.create(); @@ -535,7 +520,7 @@ class _WallpaperScreenState extends State return file; }, loading: downloading, - path: path, + path: path ?? "", progress: (progress / 100.0) .clamp(0, 100) .toInt(), @@ -1168,7 +1153,7 @@ class _WallpaperScreenState extends State return file; }, loading: downloading, - path: path, + path: path ?? "", progress: (progress / 100.0) .clamp(0, 100) .toInt(), @@ -1683,7 +1668,7 @@ class _WallpaperScreenState extends State return file; }, loading: downloading, - path: path, + path: path ?? "", progress: (progress / 100.0) .clamp(0, 100) .toInt(), @@ -2221,7 +2206,7 @@ class _WallpaperScreenState extends State return file; }, loading: downloading, - path: path, + path: path ?? "", progress: (progress / 100.0) .clamp(0, 100) .toInt(), @@ -2776,7 +2761,7 @@ class _WallpaperScreenState extends State return file; }, loading: downloading, - path: path, + path: path ?? "", progress: (progress / 100.0) .clamp(0, 100) .toInt(), From 35ec653c0d5691dccb2d297758589ba8b8f13a34 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:22:26 +0530 Subject: [PATCH 10/36] add new download/set in fav wall view screen --- .../favourite/favouriteWallViewScreen.dart | 368 ++++++++++-------- 1 file changed, 212 insertions(+), 156 deletions(-) diff --git a/lib/ui/pages/favourite/favouriteWallViewScreen.dart b/lib/ui/pages/favourite/favouriteWallViewScreen.dart index b62b3c57..5e45c274 100644 --- a/lib/ui/pages/favourite/favouriteWallViewScreen.dart +++ b/lib/ui/pages/favourite/favouriteWallViewScreen.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; import 'dart:typed_data'; -import 'dart:ui'; +import 'dart:ui' as ui; import 'package:Prism/data/favourites/provider/favouriteProvider.dart'; import 'package:Prism/data/informatics/dataManager.dart'; @@ -19,10 +21,13 @@ import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:Prism/ui/widgets/menuButton/shareButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:palette_generator/palette_generator.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:provider/provider.dart'; -import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; class FavWallpaperViewScreen extends StatefulWidget { @@ -42,8 +47,15 @@ class _FavWallpaperViewScreenState extends State } final GlobalKey _scaffoldKey = GlobalKey(); + final GlobalKey genKey = GlobalKey(); late int index; late String thumb; + String? path; + int progress = 0; + bool downloading = false; + bool applying = false; + bool downloaded = false; + final ReceivePort _port = ReceivePort(); bool isLoading = true; late PaletteGenerator paletteGenerator; List? colors; @@ -52,7 +64,6 @@ class _FavWallpaperViewScreenState extends State String? downloadLinkBackwards; late File _imageFile; bool screenshotTaken = false; - ScreenshotController screenshotController = ScreenshotController(); PanelController panelController = PanelController(); late AnimationController shakeController; bool panelClosed = true; @@ -107,10 +118,65 @@ class _FavWallpaperViewScreenState extends State } } + Future _capturePng() async { + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteData!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + return imgFile; + } + + void setupDownloader() { + initPlatformState(); + ui.IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + // String id = data[0]; + final DownloadTaskStatus status = data[1] as DownloadTaskStatus; + if (status == const DownloadTaskStatus(3)) { + setState(() { + downloaded = true; + }); + toasts.codeSend("Wall Downloaded in Downloads!"); + } + setState(() { + if (status == const DownloadTaskStatus(2)) { + downloading = true; + progress = data[2] as int; + } else { + downloading = false; + progress = 0; + } + }); + }); + FlutterDownloader.registerCallback(callback); + } + + void _setPath() async { + path = (await _findLocalPath())!; + final savedDir = Directory(path??""); + final bool hasExisted = await savedDir.exists(); + if (!hasExisted) { + savedDir.create(); + } + } + @override void initState() { shakeController = AnimationController( duration: const Duration(milliseconds: 300), vsync: this); + setupDownloader(); index = widget.arguments![0] as int; thumb = widget.arguments![1] as String; isLoading = true; @@ -131,9 +197,37 @@ class _FavWallpaperViewScreenState extends State super.initState(); } + Future initPlatformState() async { + _setPath(); + if (!mounted) return; + } + + Future _findLocalPath() async { + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + return externalStorageDirPath; + } + + static void callback(String id, DownloadTaskStatus status, int progress) { + final SendPort? send = + ui.IsolateNameServer.lookupPortByName('downloader_send_port'); + send?.send([id, status, progress]); + } + @override void dispose() { shakeController.dispose(); + ui.IsolateNameServer.removePortNameMapping('downloader_send_port'); super.dispose(); } @@ -142,11 +236,11 @@ class _FavWallpaperViewScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: Provider.of(context, listen: false) @@ -169,41 +263,6 @@ class _FavWallpaperViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -238,7 +297,7 @@ class _FavWallpaperViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -934,25 +993,33 @@ class _FavWallpaperViewScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : Provider.of( - context, - listen: false) - .liked![index]["url"] - .toString(), + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path??"", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: Provider.of( + context, + listen: false) + .liked![index]["url"] + .toString(), ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Provider.of( - context, - listen: false) - .liked![index]["url"] - .toString(), + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: Provider.of(context, + listen: false) + .liked![index]["url"] + .toString(), ), FavouriteWallpaperButton( id: Provider.of(context, @@ -1035,8 +1102,8 @@ class _FavWallpaperViewScreenState extends State .liked![index]["url"] .toString(), imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, @@ -1160,41 +1227,6 @@ class _FavWallpaperViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -1229,7 +1261,7 @@ class _FavWallpaperViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -1406,21 +1438,24 @@ class _FavWallpaperViewScreenState extends State ? [ SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Provider.of( - context, - listen: false) - .liked![index] - ["provider"] == - null - ? "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png" - : Provider.of< - FavouriteProvider>( - context, - listen: false) - .liked![index]["url"] - .toString(), + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: Provider.of( + context, + listen: false) + .liked![index] + ["provider"] == + null + ? "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png" + : Provider.of< + FavouriteProvider>( + context, + listen: false) + .liked![index]["url"] + .toString(), ), FavouriteWallpaperButton( id: Provider.of< @@ -1470,29 +1505,40 @@ class _FavWallpaperViewScreenState extends State ), ] : [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : downloadLinkBackwards, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path??"", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: downloadLinkBackwards!, ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Provider.of( - context, - listen: false) - .liked![index] - ["provider"] == - null - ? "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png" - : Provider.of< - FavouriteProvider>( - context, - listen: false) - .liked![index]["url"] - .toString(), + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: Provider.of( + context, + listen: false) + .liked![index] + ["provider"] == + null + ? "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png" + : Provider.of< + FavouriteProvider>( + context, + listen: false) + .liked![index]["url"] + .toString(), ), FavouriteWallpaperButton( id: Provider.of< @@ -1534,34 +1580,44 @@ class _FavWallpaperViewScreenState extends State .toString()) ] : [ - DownloadButton( + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path??"", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: Provider.of( + context, + listen: false) + .liked![index]["url"] + .toString(), + ), + SetWallpaperButton( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: Provider.of( + context, + listen: false) + .liked![index] + ["provider"] == + null + ? "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png" : Provider.of( context, listen: false) .liked![index]["url"] .toString(), ), - SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Provider.of( - context, - listen: false) - .liked![index] - ["provider"] == - null - ? "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png" - : Provider.of< - FavouriteProvider>( - context, - listen: false) - .liked![index]["url"] - .toString(), - ), FavouriteWallpaperButton( id: Provider.of( context, @@ -1641,8 +1697,8 @@ class _FavWallpaperViewScreenState extends State imageBuilder: (context, imageProvider) { downloadLinkBackwards = "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.jpg"; - return Screenshot( - controller: screenshotController, + return RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, @@ -1682,8 +1738,8 @@ class _FavWallpaperViewScreenState extends State imageBuilder: (context, imageProvider) { downloadLinkBackwards = "https://w.wallhaven.cc/full/${Provider.of(context, listen: false).liked![index]["id"].toString().substring(0, 2)}/wallhaven-${Provider.of(context, listen: false).liked![index]["id"]}.png"; - return Screenshot( - controller: screenshotController, + return RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: From 2d4bff1635ad79044b90a8ac442c58f92652200d Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:32:50 +0530 Subject: [PATCH 11/36] add new download/set in profile wall view screen --- .../pages/profile/profileWallViewScreen.dart | 189 ++++++++++++------ 1 file changed, 129 insertions(+), 60 deletions(-) diff --git a/lib/ui/pages/profile/profileWallViewScreen.dart b/lib/ui/pages/profile/profileWallViewScreen.dart index 19c0cea9..84fed321 100644 --- a/lib/ui/pages/profile/profileWallViewScreen.dart +++ b/lib/ui/pages/profile/profileWallViewScreen.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; import 'dart:typed_data'; -import 'dart:ui'; +import 'dart:ui' as ui; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/profile/wallpaper/profileWallProvider.dart'; @@ -19,9 +21,13 @@ import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:Prism/ui/widgets/menuButton/shareButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; @@ -42,8 +48,15 @@ class _ProfileWallViewScreenState extends State } final GlobalKey _scaffoldKey = GlobalKey(); + final GlobalKey genKey = GlobalKey(); late int index; late String thumb; + String? path; + int progress = 0; + bool downloading = false; + bool applying = false; + bool downloaded = false; + final ReceivePort _port = ReceivePort(); bool isLoading = true; late PaletteGenerator paletteGenerator; List? colors; @@ -52,7 +65,6 @@ class _ProfileWallViewScreenState extends State String? downloadLinkBackwards; late File _imageFile; bool screenshotTaken = false; - ScreenshotController screenshotController = ScreenshotController(); PanelController panelController = PanelController(); late AnimationController shakeController; bool panelClosed = true; @@ -107,10 +119,65 @@ class _ProfileWallViewScreenState extends State } } + Future _capturePng() async { + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteData!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + return imgFile; + } + + void setupDownloader() { + initPlatformState(); + ui.IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + // String id = data[0]; + final DownloadTaskStatus status = data[1] as DownloadTaskStatus; + if (status == const DownloadTaskStatus(3)) { + setState(() { + downloaded = true; + }); + toasts.codeSend("Wall Downloaded in Downloads!"); + } + setState(() { + if (status == const DownloadTaskStatus(2)) { + downloading = true; + progress = data[2] as int; + } else { + downloading = false; + progress = 0; + } + }); + }); + FlutterDownloader.registerCallback(callback); + } + + void _setPath() async { + path = (await _findLocalPath())!; + final savedDir = Directory(path ?? ""); + final bool hasExisted = await savedDir.exists(); + if (!hasExisted) { + savedDir.create(); + } + } + @override void initState() { shakeController = AnimationController( duration: const Duration(milliseconds: 300), vsync: this); + setupDownloader(); index = widget.arguments![0] as int; thumb = widget.arguments![1].toString(); isLoading = true; @@ -129,9 +196,37 @@ class _ProfileWallViewScreenState extends State super.initState(); } + Future initPlatformState() async { + _setPath(); + if (!mounted) return; + } + + Future _findLocalPath() async { + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + return externalStorageDirPath; + } + + static void callback(String id, DownloadTaskStatus status, int progress) { + final SendPort? send = + ui.IsolateNameServer.lookupPortByName('downloader_send_port'); + send?.send([id, status, progress]); + } + @override void dispose() { shakeController.dispose(); + ui.IsolateNameServer.removePortNameMapping('downloader_send_port'); super.dispose(); } @@ -140,11 +235,11 @@ class _ProfileWallViewScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: Scaffold( @@ -157,41 +252,6 @@ class _ProfileWallViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - main.prefs.get('optimisedWallpapers') as bool? ?? true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -225,7 +285,7 @@ class _ProfileWallViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -516,25 +576,33 @@ class _ProfileWallViewScreenState extends State child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : Provider.of(context, - listen: false) - .profileWalls![index] - .data()["wallpaper_url"] - .toString(), + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: + (progress / 100.0).clamp(0, 100).toInt(), + link: Provider.of(context, + listen: false) + .profileWalls![index] + .data()["wallpaper_url"] + .toString(), ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Provider.of(context, - listen: false) - .profileWalls![index] - .data()["wallpaper_url"] - .toString(), + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: Provider.of(context, + listen: false) + .profileWalls![index] + .data()["wallpaper_url"] + .toString(), ), FavouriteWallpaperButton( id: Provider.of(context, @@ -625,8 +693,9 @@ class _ProfileWallViewScreenState extends State .profileWalls![index] .data()["wallpaper_url"] .toString(), - imageBuilder: (context, imageProvider) => Screenshot( - controller: screenshotController, + imageBuilder: (context, imageProvider) => + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, From 0e4b5f64e40c39af75650e11f3ee19a7f75164bf Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:38:06 +0530 Subject: [PATCH 12/36] add new download/set in user profile wall view screen --- .../profile/userProfileWallViewScreen.dart | 186 ++++++++++++------ 1 file changed, 127 insertions(+), 59 deletions(-) diff --git a/lib/ui/pages/profile/userProfileWallViewScreen.dart b/lib/ui/pages/profile/userProfileWallViewScreen.dart index 6964cda5..162a78ef 100644 --- a/lib/ui/pages/profile/userProfileWallViewScreen.dart +++ b/lib/ui/pages/profile/userProfileWallViewScreen.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; import 'dart:typed_data'; -import 'dart:ui'; +import 'dart:ui' as ui; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/profile/wallpaper/getUserProfile.dart' as user_data; @@ -19,9 +21,13 @@ import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:Prism/ui/widgets/menuButton/shareButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; @@ -43,8 +49,15 @@ class _UserProfileWallViewScreenState extends State } final GlobalKey _scaffoldKey = GlobalKey(); + final GlobalKey genKey = GlobalKey(); late int index; late String thumb; + String? path; + int progress = 0; + bool downloading = false; + bool applying = false; + bool downloaded = false; + final ReceivePort _port = ReceivePort(); bool isLoading = true; late PaletteGenerator paletteGenerator; List? colors; @@ -53,7 +66,6 @@ class _UserProfileWallViewScreenState extends State String? downloadLinkBackwards; late File _imageFile; bool screenshotTaken = false; - ScreenshotController screenshotController = ScreenshotController(); PanelController panelController = PanelController(); late AnimationController shakeController; bool panelClosed = true; @@ -108,11 +120,66 @@ class _UserProfileWallViewScreenState extends State } } + Future _capturePng() async { + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteData!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + return imgFile; + } + + void setupDownloader() { + initPlatformState(); + ui.IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + // String id = data[0]; + final DownloadTaskStatus status = data[1] as DownloadTaskStatus; + if (status == const DownloadTaskStatus(3)) { + setState(() { + downloaded = true; + }); + toasts.codeSend("Wall Downloaded in Downloads!"); + } + setState(() { + if (status == const DownloadTaskStatus(2)) { + downloading = true; + progress = data[2] as int; + } else { + downloading = false; + progress = 0; + } + }); + }); + FlutterDownloader.registerCallback(callback); + } + + void _setPath() async { + path = (await _findLocalPath())!; + final savedDir = Directory(path ?? ""); + final bool hasExisted = await savedDir.exists(); + if (!hasExisted) { + savedDir.create(); + } + } + @override void initState() { super.initState(); shakeController = AnimationController( duration: const Duration(milliseconds: 300), vsync: this); + setupDownloader(); index = widget.arguments![0] as int; thumb = widget.arguments![1].toString(); isLoading = true; @@ -133,9 +200,37 @@ class _UserProfileWallViewScreenState extends State _updatePaletteGenerator(); } + Future initPlatformState() async { + _setPath(); + if (!mounted) return; + } + + Future _findLocalPath() async { + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + return externalStorageDirPath; + } + + static void callback(String id, DownloadTaskStatus status, int progress) { + final SendPort? send = + ui.IsolateNameServer.lookupPortByName('downloader_send_port'); + send?.send([id, status, progress]); + } + @override void dispose() { shakeController.dispose(); + ui.IsolateNameServer.removePortNameMapping('downloader_send_port'); super.dispose(); } @@ -144,11 +239,11 @@ class _UserProfileWallViewScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: Scaffold( @@ -161,41 +256,6 @@ class _UserProfileWallViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - main.prefs.get('optimisedWallpapers') as bool? ?? true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -229,7 +289,7 @@ class _UserProfileWallViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -526,27 +586,34 @@ class _UserProfileWallViewScreenState extends State child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : Provider.of< - user_data - .UserProfileProvider>(context) + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: + (progress / 100.0).clamp(0, 100).toInt(), + link: + Provider.of( + context) .userProfileWalls![index] .data()["wallpaper_url"] .toString(), ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Provider.of< - user_data - .UserProfileProvider>(context) - .userProfileWalls![index] - .data()["wallpaper_url"] - .toString(), + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: Provider.of( + context) + .userProfileWalls![index] + .data()["wallpaper_url"] + .toString(), ), FavouriteWallpaperButton( id: Provider.of( @@ -640,8 +707,9 @@ class _UserProfileWallViewScreenState extends State .userProfileWalls![index] .data()["wallpaper_url"] .toString(), - imageBuilder: (context, imageProvider) => Screenshot( - controller: screenshotController, + imageBuilder: (context, imageProvider) => + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, From c82b2ce618ba3f330e71c83ee420d312165e0a2a Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:44:31 +0530 Subject: [PATCH 13/36] add new download/set in search wall view screen --- .../pages/search/searchWallpaperScreen.dart | 254 +++++++++++------- 1 file changed, 150 insertions(+), 104 deletions(-) diff --git a/lib/ui/pages/search/searchWallpaperScreen.dart b/lib/ui/pages/search/searchWallpaperScreen.dart index 70c58da1..302c5327 100644 --- a/lib/ui/pages/search/searchWallpaperScreen.dart +++ b/lib/ui/pages/search/searchWallpaperScreen.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; import 'dart:typed_data'; -import 'dart:ui'; +import 'dart:ui' as ui; import 'package:Prism/data/pexels/provider/pexelsWithoutProvider.dart' as pdata; import 'package:Prism/data/wallhaven/provider/wallhavenWithoutProvider.dart' @@ -20,8 +22,12 @@ import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:Prism/ui/widgets/menuButton/shareButton.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:palette_generator/palette_generator.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -42,9 +48,16 @@ class _SearchWallpaperScreenState extends State } final GlobalKey _scaffoldKey = GlobalKey(); + final GlobalKey genKey = GlobalKey(); String? selectedProvider; String? query; late int index; + String? path; + int progress = 0; + bool downloading = false; + bool applying = false; + bool downloaded = false; + final ReceivePort _port = ReceivePort(); late String link; late AnimationController shakeController; bool isLoading = true; @@ -54,7 +67,6 @@ class _SearchWallpaperScreenState extends State bool colorChanged = false; late File _imageFile; bool screenshotTaken = false; - ScreenshotController screenshotController = ScreenshotController(); PanelController panelController = PanelController(); bool panelClosed = true; bool panelCollapsed = true; @@ -107,11 +119,66 @@ class _SearchWallpaperScreenState extends State } } + Future _capturePng() async { + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteData!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + return imgFile; + } + + void setupDownloader() { + initPlatformState(); + ui.IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + // String id = data[0]; + final DownloadTaskStatus status = data[1] as DownloadTaskStatus; + if (status == const DownloadTaskStatus(3)) { + setState(() { + downloaded = true; + }); + toasts.codeSend("Wall Downloaded in Downloads!"); + } + setState(() { + if (status == const DownloadTaskStatus(2)) { + downloading = true; + progress = data[2] as int; + } else { + downloading = false; + progress = 0; + } + }); + }); + FlutterDownloader.registerCallback(callback); + } + + void _setPath() async { + path = (await _findLocalPath())!; + final savedDir = Directory(path ?? ""); + final bool hasExisted = await savedDir.exists(); + if (!hasExisted) { + savedDir.create(); + } + } + @override void initState() { + super.initState(); shakeController = AnimationController( duration: const Duration(milliseconds: 300), vsync: this); - super.initState(); + setupDownloader(); selectedProvider = widget.arguments![0].toString(); query = widget.arguments![1].toString(); index = widget.arguments![2] as int; @@ -120,10 +187,38 @@ class _SearchWallpaperScreenState extends State _updatePaletteGenerator(); } + Future initPlatformState() async { + _setPath(); + if (!mounted) return; + } + + Future _findLocalPath() async { + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + return externalStorageDirPath; + } + + static void callback(String id, DownloadTaskStatus status, int progress) { + final SendPort? send = + ui.IsolateNameServer.lookupPortByName('downloader_send_port'); + send?.send([id, status, progress]); + } + @override void dispose() { - super.dispose(); shakeController.dispose(); + ui.IsolateNameServer.removePortNameMapping('downloader_send_port'); + super.dispose(); } @override @@ -131,11 +226,11 @@ class _SearchWallpaperScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: selectedProvider == "WallHaven" @@ -153,40 +248,6 @@ class _SearchWallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - main.prefs.get('optimisedWallpapers') as bool? ?? true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -220,7 +281,7 @@ class _SearchWallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -444,17 +505,27 @@ class _SearchWallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : wdata.wallsS[index].path.toString(), + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: wdata.wallsS[index].path.toString(), ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : wdata.wallsS[index].path), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: wdata.wallsS[index].path, + ), FavouriteWallpaperButton( id: wdata.wallsS[index].id.toString(), provider: "WallHaven", @@ -509,8 +580,8 @@ class _SearchWallpaperScreenState extends State child: CachedNetworkImage( imageUrl: wdata.wallsS[index].path!, imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, @@ -635,40 +706,6 @@ class _SearchWallpaperScreenState extends State setState(() { panelClosed = false; }); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - main.prefs.get('optimisedWallpapers') as bool? ?? true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -702,7 +739,7 @@ class _SearchWallpaperScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -936,20 +973,29 @@ class _SearchWallpaperScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( - colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : pdata - .wallsPS[index].src!["original"] - .toString()), + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: pdata.wallsPS[index].src!["original"] + .toString(), + ), SetWallpaperButton( - colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : pdata - .wallsPS[index].src!["original"] - .toString()), + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = await _capturePng(); + return file; + }, + url: pdata.wallsPS[index].src!["original"] + .toString(), + ), FavouriteWallpaperButton( id: pdata.wallsPS[index].id.toString(), provider: "Pexels", @@ -1007,8 +1053,8 @@ class _SearchWallpaperScreenState extends State imageUrl: pdata.wallsPS[index].src!["original"] .toString(), imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, From 4c78588ab7e193b4e8c1d85e62626e21f414b94a Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:44:42 +0530 Subject: [PATCH 14/36] add new download/set in share wall view screen --- lib/ui/pages/share/shareWallViewScreen.dart | 347 +++++++++++--------- 1 file changed, 186 insertions(+), 161 deletions(-) diff --git a/lib/ui/pages/share/shareWallViewScreen.dart b/lib/ui/pages/share/shareWallViewScreen.dart index bfb197cf..eb21fbd0 100644 --- a/lib/ui/pages/share/shareWallViewScreen.dart +++ b/lib/ui/pages/share/shareWallViewScreen.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; import 'dart:typed_data'; -import 'dart:ui'; +import 'dart:ui' as ui; import 'package:Prism/data/informatics/dataManager.dart'; import 'package:Prism/data/palette/paletteNotifier.dart'; @@ -32,7 +34,12 @@ import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; import 'package:animations/animations.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_downloader/flutter_downloader.dart'; +import 'package:palette_generator/palette_generator.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:screenshot/screenshot.dart'; @@ -50,16 +57,22 @@ class ShareWallpaperViewScreen extends StatefulWidget { class _ShareWallpaperViewScreenState extends State with SingleTickerProviderStateMixin { final GlobalKey _scaffoldKey = GlobalKey(); + final GlobalKey genKey = GlobalKey(); String? id; String? provider; String? url; late String thumb; + String? path; + int progress = 0; + bool downloading = false; + bool applying = false; + bool downloaded = false; + final ReceivePort _port = ReceivePort(); List? colors; Color? accent = Colors.white; bool colorChanged = false; late File _imageFile; bool screenshotTaken = false; - ScreenshotController screenshotController = ScreenshotController(); late AnimationController shakeController; late Future futureW; late Future futureP; @@ -113,10 +126,65 @@ class _ShareWallpaperViewScreenState extends State } } + Future _capturePng() async { + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteData!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + return imgFile; + } + + void setupDownloader() { + initPlatformState(); + ui.IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + // String id = data[0]; + final DownloadTaskStatus status = data[1] as DownloadTaskStatus; + if (status == const DownloadTaskStatus(3)) { + setState(() { + downloaded = true; + }); + toasts.codeSend("Wall Downloaded in Downloads!"); + } + setState(() { + if (status == const DownloadTaskStatus(2)) { + downloading = true; + progress = data[2] as int; + } else { + downloading = false; + progress = 0; + } + }); + }); + FlutterDownloader.registerCallback(callback); + } + + void _setPath() async { + path = (await _findLocalPath())!; + final savedDir = Directory(path ?? ""); + final bool hasExisted = await savedDir.exists(); + if (!hasExisted) { + savedDir.create(); + } + } + @override void initState() { shakeController = AnimationController( duration: const Duration(milliseconds: 300), vsync: this); + setupDownloader(); id = widget.arguments![0].toString(); provider = widget.arguments![1].toString(); url = widget.arguments![2].toString(); @@ -134,9 +202,37 @@ class _ShareWallpaperViewScreenState extends State super.initState(); } + Future initPlatformState() async { + _setPath(); + if (!mounted) return; + } + + Future _findLocalPath() async { + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + return externalStorageDirPath; + } + + static void callback(String id, DownloadTaskStatus status, int progress) { + final SendPort? send = + ui.IsolateNameServer.lookupPortByName('downloader_send_port'); + send?.send([id, status, progress]); + } + @override void dispose() { shakeController.dispose(); + ui.IsolateNameServer.removePortNameMapping('downloader_send_port'); super.dispose(); } @@ -153,11 +249,11 @@ class _ShareWallpaperViewScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: provider == "WallHaven" @@ -173,41 +269,6 @@ class _ShareWallpaperViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -241,7 +302,7 @@ class _ShareWallpaperViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -487,22 +548,32 @@ class _ShareWallpaperViewScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( - colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : WData.wall == null - ? "" - : WData.wall.path - .toString()), + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: WData.wall == null + ? "" + : WData.wall.path.toString(), + ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : WData.wall == null - ? "" - : WData.wall.path - .toString(), + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: WData.wall == null + ? "" + : WData.wall.path.toString(), ), FavouriteWallpaperButton( id: WData.wall == null @@ -573,8 +644,8 @@ class _ShareWallpaperViewScreenState extends State child: CachedNetworkImage( imageUrl: url!, imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: offsetAnimation.value * 1.25, @@ -698,42 +769,6 @@ class _ShareWallpaperViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger.d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -767,7 +802,8 @@ class _ShareWallpaperViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), + filter: + ui.ImageFilter.blur(sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), decoration: BoxDecoration( @@ -1261,24 +1297,36 @@ class _ShareWallpaperViewScreenState extends State mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - DownloadButton( - colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : Data.wall == null - ? "" - : Data.wall[ - "wallpaper_url"] - .toString()), + DownloadButtonNew( + colorChanged: colorChanged, + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: Data.wall == null + ? "" + : Data + .wall["wallpaper_url"] + .toString(), + ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : Data.wall == null - ? "" - : Data.wall[ - "wallpaper_url"] - .toString(), + screenshotCallback: () async { + final File file = + await _capturePng(); + return file; + }, + url: Data.wall == null + ? "" + : Data + .wall["wallpaper_url"] + .toString(), ), FavouriteWallpaperButton( id: Data.wall == null @@ -1346,8 +1394,8 @@ class _ShareWallpaperViewScreenState extends State child: CachedNetworkImage( imageUrl: url!, imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: @@ -1474,43 +1522,6 @@ class _ShareWallpaperViewScreenState extends State }); if (panelClosed) { logger.d('Screenshot Starting'); - if (colorChanged) { - screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }); - } else { - (main.prefs.get('optimisedWallpapers') ?? true) == - true - ? screenshotController - .capture( - pixelRatio: 3, - delay: const Duration(milliseconds: 10), - ) - .then((Uint8List? image) async { - setState(() { - _imageFile = File.fromRawPath(image!); - screenshotTaken = true; - panelClosed = false; - }); - logger.d('Screenshot Taken'); - }).catchError((onError) { - logger.d(onError.toString()); - }) - : logger - .d("Wallpaper Optimisation is disabled!"); - } } }, onPanelClosed: () { @@ -1544,7 +1555,7 @@ class _ShareWallpaperViewScreenState extends State child: ClipRRect( borderRadius: BorderRadius.circular(30), child: BackdropFilter( - filter: ImageFilter.blur( + filter: ui.ImageFilter.blur( sigmaX: 12.0, sigmaY: 12.0), child: AnimatedContainer( duration: const Duration(milliseconds: 750), @@ -1828,19 +1839,33 @@ class _ShareWallpaperViewScreenState extends State MainAxisAlignment .spaceEvenly, children: [ - DownloadButton( + DownloadButtonNew( colorChanged: colorChanged, - link: screenshotTaken - ? _imageFile.path - : url.toString(), + screenshotCallback: + () async { + final File file = + await _capturePng(); + return file; + }, + loading: downloading, + path: path ?? "", + progress: + (progress / 100.0) + .clamp(0, 100) + .toInt(), + link: url.toString(), ), SetWallpaperButton( colorChanged: colorChanged, - url: screenshotTaken - ? _imageFile.path - : url.toString(), + screenshotCallback: + () async { + final File file = + await _capturePng(); + return file; + }, + url: url.toString(), ), FavouriteWallpaperButton( id: PData.wall == null @@ -1907,8 +1932,8 @@ class _ShareWallpaperViewScreenState extends State child: CachedNetworkImage( imageUrl: url!, imageBuilder: (context, imageProvider) => - Screenshot( - controller: screenshotController, + RepaintBoundary( + key: genKey, child: Container( margin: EdgeInsets.symmetric( vertical: From b9ea07f7d0b15578569b6ef518c87d11ea011aa7 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:46:08 +0530 Subject: [PATCH 15/36] remove optimisedWallpaper bool --- lib/main.dart | 7 ------ lib/ui/pages/profile/settings.dart | 29 ------------------------- lib/ui/widgets/profile/generalList.dart | 29 ------------------------- 3 files changed, 65 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index ff257444..88129004 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -52,7 +52,6 @@ String? currentMode; Color? lightAccent; Color? darkAccent; bool? hqThumbs; -late bool optimisedWallpapers; int? categories; int? purity; LocalNotification localNotification = LocalNotification(); @@ -121,12 +120,6 @@ Future main() async { .toString() .replaceAll("Color(", "") .replaceAll(")", ""))); - optimisedWallpapers = prefs.get('optimisedWallpapers') == true; - // if (optimisedWallpapers) { - // prefs.put('optimisedWallpapers', true); - // } else { - prefs.put('optimisedWallpapers', false); - // } categories = prefs.get('WHcategories') as int? ?? 100; if (categories == 100) { prefs.put('WHcategories', 100); diff --git a/lib/ui/pages/profile/settings.dart b/lib/ui/pages/profile/settings.dart index 92904909..adabbad8 100644 --- a/lib/ui/pages/profile/settings.dart +++ b/lib/ui/pages/profile/settings.dart @@ -27,7 +27,6 @@ class SettingsScreen extends StatefulWidget { } class _SettingsScreenState extends State { - bool optWall = (main.prefs.get('optimisedWallpapers') ?? true) as bool; bool followers = (main.prefs.get('followersTab') ?? true) as bool; int categories = (main.prefs.get('WHcategories') ?? 100) as int; int purity = (main.prefs.get('WHpurity') ?? 100) as int; @@ -159,34 +158,6 @@ class _SettingsScreenState extends State { await Hive.openBox('setups'); toasts.codeSend("Cleared cache!"); }), - // SwitchListTile( - // activeColor: Theme.of(context).errorColor, - // secondary: const Icon( - // JamIcons.dashboard, - // ), - // value: optWall, - // title: Text( - // "Wallpaper Optimisation", - // style: TextStyle( - // color: Theme.of(context).accentColor, - // fontWeight: FontWeight.w500, - // fontFamily: "Proxima Nova"), - // ), - // subtitle: optWall - // ? const Text( - // "Disabling this might lead to High Internet Usage", - // style: TextStyle(fontSize: 12), - // ) - // : const Text( - // "Enable this to optimise Wallpapers according to your device", - // style: TextStyle(fontSize: 12), - // ), - // onChanged: (bool value) async { - // setState(() { - // optWall = value; - // }); - // main.prefs.put('optimisedWallpapers', value); - // }), SwitchListTile( activeColor: Theme.of(context).errorColor, secondary: const Icon( diff --git a/lib/ui/widgets/profile/generalList.dart b/lib/ui/widgets/profile/generalList.dart index 5c2a88fa..8fa1f268 100644 --- a/lib/ui/widgets/profile/generalList.dart +++ b/lib/ui/widgets/profile/generalList.dart @@ -15,7 +15,6 @@ class GeneralList extends StatefulWidget { } class _GeneralListState extends State { - bool optWall = (main.prefs.get('optimisedWallpapers') ?? true) as bool; bool followers = (main.prefs.get('followersTab') ?? true) as bool; int categories = (main.prefs.get('WHcategories') ?? 100) as int; int purity = (main.prefs.get('WHpurity') ?? 100) as int; @@ -84,34 +83,6 @@ class _GeneralListState extends State { await Hive.openBox('setups'); toasts.codeSend("Cleared cache!"); }), - // SwitchListTile( - // activeColor: Theme.of(context).errorColor, - // secondary: const Icon( - // JamIcons.dashboard, - // ), - // value: optWall, - // title: Text( - // "Wallpaper Optimisation", - // style: TextStyle( - // color: Theme.of(context).accentColor, - // fontWeight: FontWeight.w500, - // fontFamily: "Proxima Nova"), - // ), - // subtitle: optWall - // ? const Text( - // "Disabling this might lead to High Internet Usage", - // style: TextStyle(fontSize: 12), - // ) - // : const Text( - // "Enable this to optimise Wallpapers according to your device", - // style: TextStyle(fontSize: 12), - // ), - // onChanged: (bool value) async { - // setState(() { - // optWall = value; - // }); - // main.prefs.put('optimisedWallpapers', value); - // }), SwitchListTile( activeColor: Theme.of(context).errorColor, secondary: const Icon( From c0579c3bc6d9fd402bdc0d60e9db48a31b137029 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 14:54:37 +0530 Subject: [PATCH 16/36] fix old download button --- .../favourite/favouriteSetupViewScreen.dart | 1 - .../pages/profile/profileSetupViewScreen.dart | 1 - .../profile/userProfileSetupViewScreen.dart | 1 - lib/ui/pages/setup/setupViewScreen.dart | 1 - lib/ui/pages/setup/shareSetupViewScreen.dart | 11 ++-- .../focussedMenu/focusedMenuDetails.dart | 1 - .../searchFocusedMenuDetails.dart | 1 - lib/ui/widgets/menuButton/downloadButton.dart | 55 +++++++++++++++++-- 8 files changed, 54 insertions(+), 18 deletions(-) diff --git a/lib/ui/pages/favourite/favouriteSetupViewScreen.dart b/lib/ui/pages/favourite/favouriteSetupViewScreen.dart index 9406d14c..89d9f391 100644 --- a/lib/ui/pages/favourite/favouriteSetupViewScreen.dart +++ b/lib/ui/pages/favourite/favouriteSetupViewScreen.dart @@ -1708,7 +1708,6 @@ class ModifiedDownloadButton extends StatelessWidget { Provider.of(context, listen: false) .liked![index!]["wallpaper_url"] .toString(), - colorChanged: false, ) : GestureDetector( onTap: () async { diff --git a/lib/ui/pages/profile/profileSetupViewScreen.dart b/lib/ui/pages/profile/profileSetupViewScreen.dart index 35d423c6..8a87518f 100644 --- a/lib/ui/pages/profile/profileSetupViewScreen.dart +++ b/lib/ui/pages/profile/profileSetupViewScreen.dart @@ -1752,7 +1752,6 @@ class ModifiedDownloadButton extends StatelessWidget { link: Provider.of(context, listen: false) .profileSetups![index!]["wallpaper_url"] .toString(), - colorChanged: false, ) : GestureDetector( onTap: () async { diff --git a/lib/ui/pages/profile/userProfileSetupViewScreen.dart b/lib/ui/pages/profile/userProfileSetupViewScreen.dart index 2b062836..676c6025 100644 --- a/lib/ui/pages/profile/userProfileSetupViewScreen.dart +++ b/lib/ui/pages/profile/userProfileSetupViewScreen.dart @@ -1874,7 +1874,6 @@ class ModifiedDownloadButton extends StatelessWidget { .userProfileSetups![index!] .data()["wallpaper_url"] .toString(), - colorChanged: false, ) : GestureDetector( onTap: () async { diff --git a/lib/ui/pages/setup/setupViewScreen.dart b/lib/ui/pages/setup/setupViewScreen.dart index 432e19e5..cd53c2d5 100644 --- a/lib/ui/pages/setup/setupViewScreen.dart +++ b/lib/ui/pages/setup/setupViewScreen.dart @@ -1669,7 +1669,6 @@ class ModifiedDownloadButton extends StatelessWidget { link: Provider.of(context, listen: false) .setups![index!]["wallpaper_url"] .toString(), - colorChanged: false, ) : GestureDetector( onTap: () async { diff --git a/lib/ui/pages/setup/shareSetupViewScreen.dart b/lib/ui/pages/setup/shareSetupViewScreen.dart index 68c299b8..e1d84ceb 100644 --- a/lib/ui/pages/setup/shareSetupViewScreen.dart +++ b/lib/ui/pages/setup/shareSetupViewScreen.dart @@ -100,11 +100,11 @@ class _ShareSetupViewScreenState extends State final Animation offsetAnimation = Tween(begin: 0.0, end: 48.0) .chain(CurveTween(curve: Curves.easeOutCubic)) .animate(shakeController) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - shakeController.reverse(); - } - }); + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + shakeController.reverse(); + } + }); return WillPopScope( onWillPop: onWillPop, child: Scaffold( @@ -1517,7 +1517,6 @@ class ModifiedShareDownloadButton extends StatelessWidget { ? sdata.setup!["wall_id"] != null && sdata.setup!["wall_id"] != "" ? DownloadButton( link: sdata.setup!["wallpaper_url"].toString(), - colorChanged: false, ) : GestureDetector( onTap: () async { diff --git a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart index 6dcb2d10..457b8317 100644 --- a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart @@ -2260,7 +2260,6 @@ class _FocusedMenuDetailsState extends State { top: topOffset! + fabWallTopOffset, left: leftOffset! + fabWallLeftOffset, child: DownloadButton( - colorChanged: false, link: widget.provider == "WallHaven" ? WData.walls[widget.index].path.toString() : widget.provider == "Prism" diff --git a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart index 21601738..50792ca7 100644 --- a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart @@ -477,7 +477,6 @@ class SearchFocusedMenuDetails extends StatelessWidget { top: topOffset + fabWallTopOffset, left: leftOffset + fabWallLeftOffset, child: DownloadButton( - colorChanged: false, link: selectedProvider == "WallHaven" ? wdata.wallsS[index].path.toString() : pdata.wallsPS[index].src!["original"].toString(), diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index fa175e87..e8012823 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -17,6 +17,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:gallery_saver/gallery_saver.dart'; +import 'package:path_provider/path_provider.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; @@ -164,11 +165,9 @@ class _DownloadButtonNewState extends State { class DownloadButton extends StatefulWidget { final String? link; - final bool colorChanged; const DownloadButton({ required this.link, - required this.colorChanged, Key? key, }) : super(key: key); @@ -194,17 +193,17 @@ class _DownloadButtonState extends State { if (!isLoading) { if (globals.prismUser.loggedIn == true) { if (globals.prismUser.premium == true) { - onDownload(); + onDownload(widget.link!); } else { showDownloadPopup(context, () { logger.d("Download"); - onDownload(); + onDownload(widget.link!); }); } } else { showDownloadPopup(context, () { logger.d("Download"); - onDownload(); + onDownload(widget.link!); }); } } else { @@ -252,7 +251,51 @@ class _DownloadButtonState extends State { } } - Future onDownload() async { + Future onDownload(String link) async { + if (await Permission.storage.request().isGranted) { + final String url = link; + String? externalStorageDirPath; + if (Platform.isAndroid) { + try { + externalStorageDirPath = "/storage/emulated/0/Download"; + } catch (e) { + final directory = await getExternalStorageDirectory(); + externalStorageDirPath = directory?.path; + } + } else if (Platform.isIOS) { + externalStorageDirPath = + (await getApplicationDocumentsDirectory()).absolute.path; + } + logger.d('Already not downloaded, downloading $url'); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + if (Platform.isAndroid) { + final androidInfo = await DeviceInfoPlugin().androidInfo; + logger.d(androidInfo.version.sdkInt); + final taskId = await FlutterDownloader.enqueue( + url: url, + savedDir: externalStorageDirPath ?? "", + fileName: + "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", + saveInPublicStorage: + (androidInfo.version.sdkInt >= 29) ? true : false, + ); + logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + } else { + final taskId = await FlutterDownloader.enqueue( + url: url, + savedDir: externalStorageDirPath ?? "", + fileName: + "${url.split('/').last.toString().split(".")[0]}$rNum.${url.split('/').last.toString().split(".")[1]}", + ); + logger.d('Downloaded wallpaper, saving taskID $taskId $url'); + } + } else { + toasts.error("No storage permission"); + } final status = await Permission.storage.status; if (!status.isGranted) { await Permission.storage.request(); From fbe2ec8fc2edc3d043e240c470848422f15299f6 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 17:24:02 +0530 Subject: [PATCH 17/36] fix download button downloading twice --- lib/ui/widgets/menuButton/downloadButton.dart | 125 ------------------ 1 file changed, 125 deletions(-) diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index e8012823..6fd8eac6 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -296,131 +296,6 @@ class _DownloadButtonState extends State { } else { toasts.error("No storage permission"); } - final status = await Permission.storage.status; - if (!status.isGranted) { - await Permission.storage.request(); - } - setState(() { - isLoading = true; - }); - logger.d(widget.link); - - final androidInfo = await DeviceInfoPlugin().androidInfo; - final sdkInt = androidInfo.version.sdkInt; - logger.d('(SDK $sdkInt)'); - // toasts.codeSend("Starting Download"); - // main.localNotification.createDownloadNotification(); - // if (sdkInt >= 30) { - // if (widget.link!.contains("com.hash.prism")) { - // await platform.invokeMethod( - // 'save_image_file', {"link": widget.link}).then((value) { - // if (value as bool) { - // analytics.logEvent( - // name: 'download_wallpaper', parameters: {'link': widget.link}); - // toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - // } else { - // toasts.error("Couldn't download! Please Retry!"); - // } - // setState(() { - // isLoading = false; - // }); - // main.localNotification.cancelDownloadNotification(); - // }).catchError((e) { - // logger.d(e.toString()); - // setState(() { - // isLoading = false; - // }); - // }); - // } else { - // await platform - // .invokeMethod('save_image', {"link": widget.link}).then((value) { - // if (value as bool) { - // analytics.logEvent( - // name: 'download_wallpaper', parameters: {'link': widget.link}); - // toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - // } else { - // toasts.error("Couldn't download! Please Retry!"); - // } - // setState(() { - // isLoading = false; - // }); - // main.localNotification.cancelDownloadNotification(); - // }).catchError((e) { - // logger.d(e.toString()); - // setState(() { - // isLoading = false; - // }); - // }); - // } - // } else { - if (widget.link!.contains("com.hash.prism")) { - debugPrint("Downloading using Picasso"); - await platform - .invokeMethod('save_image_file', {"link": widget.link}).then((value) { - if (value as bool) { - analytics.logEvent( - name: 'download_wallpaper', parameters: {'link': widget.link}); - toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - } else { - toasts.error("Couldn't download! Please Retry!"); - } - setState(() { - isLoading = false; - }); - // main.localNotification.cancelDownloadNotification(); - }).catchError((e) { - logger.d(e.toString()); - setState(() { - isLoading = false; - }); - }); - // GallerySaver.saveImage(widget.link!, albumName: "Prism").then((value) { - // analytics.logEvent( - // name: 'download_wallpaper', parameters: {'link': widget.link}); - // toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - // setState(() { - // isLoading = false; - // }); - // // main.localNotification.cancelDownloadNotification(); - // }).catchError((e) { - // setState(() { - // isLoading = false; - // }); - // // TODO Cancel all - // // main.localNotification.cancelDownloadNotification(); - // }); - } else { - debugPrint("Downloading using Platform Method"); - Future.delayed(const Duration(seconds: 2)).then((value) => setState(() { - isLoading = false; - })); - platform.invokeMethod('download_image_dm', { - "link": widget.link, - "filename": widget.link! - .split('/') - .last - .replaceAll(".jpg", "") - .replaceAll(".png", "") - }).then((value) { - toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - analytics.logEvent( - name: 'download_wallpaper', parameters: {'link': widget.link}); - }); - } - // .then((value) { - // if (value as bool) { - // toasts.codeSend("Wall Downloaded in Pictures/Prism!"); - // } else { - // toasts.error("Couldn't download! Please Retry!"); - // } - // main.localNotification.cancelDownloadNotification(); - // }).catchError((e) { - // logger.d(e.toString()); - // setState(() { - // isLoading = false; - // }); - // }); - // } } } From 952255fe3dd5eb22e22732a2eec350c394ff31eb Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 17:24:33 +0530 Subject: [PATCH 18/36] add amoled convert function #246 --- .../home/wallpapers/wallpaperScreen.dart | 62 +++++++++++++++++-- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart index a713a399..b41dbfeb 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperScreen.dart @@ -140,6 +140,60 @@ class _WallpaperScreenState extends State return imgFile; } + Future _captureAMOLEDPng() async { + const int blackThreshold = 18; + final RenderRepaintBoundary boundary = + genKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + final ui.Image image = await boundary.toImage(pixelRatio: 3); + final directory = (await getTemporaryDirectory()).path; + final ByteData? byteData = await image.toByteData(); + for (int i = 0; i < image.height; i++) { + for (int j = 0; j < image.width; j++) { + final pixelData = byteData?.getUint32((i * image.width + j) * 4); + if (pixelData != null) { + final int red = pixelData >> 24 & 0xFF; + final int green = pixelData >> 16 & 0xFF; + final int blue = pixelData >> 8 & 0xFF; + final int alpha = pixelData & 0xFF; + if ((red <= blackThreshold) && + (green <= blackThreshold) && + (blue <= blackThreshold) && + alpha != 0) { + byteData?.setUint32((i * image.width + j) * 4, 0x000000FF); + } + } + } + } + ui.Image? imageEdit; + File? imgFileEdit; + ui.decodeImageFromPixels( + byteData?.buffer.asUint8List() as Uint8List, + image.width, + image.height, + ui.PixelFormat.rgba8888, + (ui.Image result) async { + imageEdit = result; + final ByteData? byteDataEdit = + await imageEdit?.toByteData(format: ui.ImageByteFormat.png); + final Uint8List pngBytes = byteDataEdit!.buffer.asUint8List(); + final r = Random(); + String rNum = ""; + for (var i = 0; i < 6; i++) { + rNum = "$rNum${r.nextInt(9)}"; + } + final File imgFile = File('$directory/photo_$rNum.png'); + await imgFile.writeAsBytes(pngBytes); + logger.d(imgFile.path); + imgFileEdit = imgFile; + }, + ); + await Future.delayed(const Duration(seconds: 3)); + if (imgFileEdit == null) { + await Future.delayed(const Duration(seconds: 3)); + } + return imgFileEdit!; + } + void setupDownloader() { initPlatformState(); ui.IsolateNameServer.registerPortWithName( @@ -1311,7 +1365,7 @@ class _WallpaperScreenState extends State padding: EdgeInsets.fromLTRB( 8.0, globals.notchSize! + 8, 8, 8), child: IconButton( - onPressed: () { + onPressed: () async { final link = data.subPrismWalls![index]["wallpaper_url"]; Navigator.push( @@ -1831,7 +1885,7 @@ class _WallpaperScreenState extends State padding: EdgeInsets.fromLTRB( 8.0, globals.notchSize! + 8, 8, 8), child: IconButton( - onPressed: () { + onPressed: () async { final link = pdata.wallsP[index].src!["original"]; Navigator.push( @@ -2384,7 +2438,7 @@ class _WallpaperScreenState extends State padding: EdgeInsets.fromLTRB( 8.0, globals.notchSize! + 8, 8, 8), child: IconButton( - onPressed: () { + onPressed: () async { final link = pdata .wallsC[index].src!["original"]; Navigator.push( @@ -2925,7 +2979,7 @@ class _WallpaperScreenState extends State padding: EdgeInsets.fromLTRB( 8.0, globals.notchSize! + 8, 8, 8), child: IconButton( - onPressed: () { + onPressed: () async { final link = wdata.wallsS[index].path; Navigator.push( context, From ca28ebd01b635b455f252c085fda3cee0634652b Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Thu, 2 Dec 2021 17:53:56 +0530 Subject: [PATCH 19/36] update themes with colorscheme --- lib/theme/theme.dart | 130 ++++++++++++++++++++++++++++++++----------- 1 file changed, 96 insertions(+), 34 deletions(-) diff --git a/lib/theme/theme.dart b/lib/theme/theme.dart index 0f62d055..9edb5d06 100644 --- a/lib/theme/theme.dart +++ b/lib/theme/theme.dart @@ -1,13 +1,7 @@ import 'package:Prism/theme/config.dart' as config; import 'package:flutter/material.dart'; -ThemeData kLightTheme = ThemeData( - canvasColor: Colors.transparent, - primaryColor: Colors.white, - brightness: Brightness.light, - errorColor: const Color(0xFFE57697), - focusColor: config.Colors().mainColor(1), - hintColor: config.Colors().secondColor(1), +ThemeData kLightTheme = ThemeData.from( textTheme: TextTheme( button: const TextStyle( fontFamily: 'Proxima Nova', @@ -70,16 +64,36 @@ ThemeData kLightTheme = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), colorScheme: const ColorScheme.light(primary: Color(0xFFE57697)).copyWith(secondary: config.Colors().accentColor(1)), + ), + colorScheme: ColorScheme( + brightness: Brightness.light, + primary: config.Colors().mainColor(1), + primaryVariant: config.Colors().mainColor(1), + secondary: config.Colors().accentColor(1), + secondaryVariant: config.Colors().accentColor(1), + background: config.Colors().mainColor(1), + surface: config.Colors().mainColor(1), + onBackground: Colors.black, + onSurface: Colors.black, + onError: Colors.white, + onPrimary: const Color(0xFFE57697).computeLuminance() > 0.5 + ? Colors.black + : Colors.white, + onSecondary: const Color(0xFFE57697).computeLuminance() > 0.5 + ? Colors.black + : Colors.white, + error: Colors.red.shade400, + ), +).copyWith( + textSelectionTheme: + const TextSelectionThemeData(cursorColor: Color(0xFFE57697)), + highlightColor: const Color(0xFFE57697).withOpacity(0.2), + scaffoldBackgroundColor: config.Colors().mainColor(1), + toggleableActiveColor: const Color(0xFFE57697), + disabledColor: Colors.grey, ); -ThemeData kDarkTheme = ThemeData( - canvasColor: Colors.transparent, - primaryColor: config.Colors().mainDarkColor(1), - brightness: Brightness.dark, - errorColor: const Color(0xFFE57697), - focusColor: config.Colors().mainDarkColor(1), - hintColor: config.Colors().secondDarkColor(1), +ThemeData kDarkTheme = ThemeData.from( textTheme: TextTheme( button: TextStyle( fontFamily: 'Proxima Nova', @@ -98,15 +112,17 @@ ThemeData kDarkTheme = ThemeData( fontWeight: FontWeight.w500, color: config.Colors().accentDarkColor(1)), headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), + fontSize: 20, + fontFamily: "Proxima Nova", + fontWeight: FontWeight.w500, + color: Colors.white, + ), headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), + fontSize: 24, + fontFamily: "Proxima Nova", + fontWeight: FontWeight.w500, + color: Colors.white, + ), headline1: TextStyle( fontFamily: 'Proxima Nova', color: config.Colors().accentDarkColor(1), @@ -142,7 +158,33 @@ ThemeData kDarkTheme = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFFE57697)).copyWith(secondary: config.Colors().accentDarkColor(1)), + ), + colorScheme: ColorScheme( + brightness: Brightness.dark, + primary: const Color(0xFFE57697), + primaryVariant: const Color(0xFFE57697), + secondary: Colors.white, + secondaryVariant: Colors.white, + background: config.Colors().mainDarkColor(1), + surface: config.Colors().mainDarkColor(1), + onBackground: Colors.white, + onSurface: Colors.white, + onError: Colors.white, + onPrimary: const Color(0xFFE57697).computeLuminance() > 0.5 + ? Colors.black + : Colors.white, + onSecondary: const Color(0xFFE57697).computeLuminance() > 0.5 + ? Colors.black + : Colors.white, + error: Colors.red.shade400, + ), +).copyWith( + textSelectionTheme: + const TextSelectionThemeData(cursorColor: Color(0xFFE57697)), + highlightColor: const Color(0xFFE57697).withOpacity(0.2), + scaffoldBackgroundColor: config.Colors().mainDarkColor(1), + toggleableActiveColor: const Color(0xFFE57697), + disabledColor: Colors.grey, ); ThemeData kLightTheme2 = ThemeData( @@ -214,7 +256,9 @@ ThemeData kLightTheme2 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), colorScheme: const ColorScheme.light(primary: Color(0xFFC19439)).copyWith(secondary: const Color(0xFF96732C)), + ), + colorScheme: const ColorScheme.light(primary: Color(0xFFC19439)) + .copyWith(secondary: const Color(0xFF96732C)), ); ThemeData kDarkTheme2 = ThemeData( @@ -286,7 +330,9 @@ ThemeData kDarkTheme2 = ThemeData( fontWeight: FontWeight.w400, color: Colors.white, ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFFFFFFFF)).copyWith(secondary: Colors.white), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFFFFFFFF)) + .copyWith(secondary: Colors.white), ); ThemeData kLightTheme3 = ThemeData( @@ -358,7 +404,9 @@ ThemeData kLightTheme3 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), colorScheme: const ColorScheme.light(primary: Color(0xFFA7796D)).copyWith(secondary: const Color(0xFF7D564B)), + ), + colorScheme: const ColorScheme.light(primary: Color(0xFFA7796D)) + .copyWith(secondary: const Color(0xFF7D564B)), ); ThemeData kLightTheme4 = ThemeData( @@ -430,7 +478,9 @@ ThemeData kLightTheme4 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentColor(1), ), - ), colorScheme: const ColorScheme.light(primary: Color(0xFF596F95)).copyWith(secondary: const Color(0xFF36435A)), + ), + colorScheme: const ColorScheme.light(primary: Color(0xFF596F95)) + .copyWith(secondary: const Color(0xFF36435A)), ); ThemeData kDarkTheme3 = ThemeData( @@ -502,7 +552,9 @@ ThemeData kDarkTheme3 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFF767B45)).copyWith(secondary: const Color(0xFFE3E4D0)), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFF767B45)) + .copyWith(secondary: const Color(0xFFE3E4D0)), ); ThemeData kDarkTheme4 = ThemeData( @@ -574,7 +626,9 @@ ThemeData kDarkTheme4 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFF427DA8)).copyWith(secondary: const Color(0xFFB0CCE0)), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFF427DA8)) + .copyWith(secondary: const Color(0xFFB0CCE0)), ); ThemeData kDarkTheme5 = ThemeData( @@ -646,7 +700,9 @@ ThemeData kDarkTheme5 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFF4C7044)).copyWith(secondary: const Color(0xFFD9E6D6)), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFF4C7044)) + .copyWith(secondary: const Color(0xFFD9E6D6)), ); ThemeData kDarkTheme6 = ThemeData( @@ -718,7 +774,9 @@ ThemeData kDarkTheme6 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFF703826)).copyWith(secondary: const Color(0xFFDFB0A0)), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFF703826)) + .copyWith(secondary: const Color(0xFFDFB0A0)), ); ThemeData kDarkTheme7 = ThemeData( @@ -790,7 +848,9 @@ ThemeData kDarkTheme7 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFF2D6079)).copyWith(secondary: const Color(0xFFA9CDDF)), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFF2D6079)) + .copyWith(secondary: const Color(0xFFA9CDDF)), ); ThemeData kDarkTheme8 = ThemeData( @@ -862,5 +922,7 @@ ThemeData kDarkTheme8 = ThemeData( fontWeight: FontWeight.w400, color: config.Colors().accentDarkColor(1), ), - ), colorScheme: const ColorScheme.dark(primary: Color(0xFF686E80)).copyWith(secondary: const Color(0xFFEEEFF2)), + ), + colorScheme: const ColorScheme.dark(primary: Color(0xFF686E80)) + .copyWith(secondary: const Color(0xFFEEEFF2)), ); From d17054138c81c89e1a8ed4622c634b699bf088f1 Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Thu, 2 Dec 2021 17:59:04 +0530 Subject: [PATCH 20/36] remove extra themes --- lib/theme/darkThemeModel.dart | 14 +- lib/theme/theme.dart | 1470 ++++++++--------- lib/theme/themeModel.dart | 6 +- .../wallpapers/wallpaperFilterScreen.dart | 58 +- lib/ui/pages/profile/aboutScreen.dart | 24 +- lib/ui/pages/setup/setupScreen.dart | 86 +- lib/ui/widgets/animated/loader.dart | 24 +- lib/ui/widgets/popup/changelogPopUp.dart | 26 +- 8 files changed, 851 insertions(+), 857 deletions(-) diff --git a/lib/theme/darkThemeModel.dart b/lib/theme/darkThemeModel.dart index 3098530c..cf75446b 100644 --- a/lib/theme/darkThemeModel.dart +++ b/lib/theme/darkThemeModel.dart @@ -5,13 +5,13 @@ import 'package:flutter/material.dart'; Map darkThemes = { "kDMaterial Dark": kDarkTheme, - "kDAMOLED": kDarkTheme2, - "kDOlive": kDarkTheme3, - "kDDeep Ocean": kDarkTheme4, - "kDJungle": kDarkTheme5, - "kDPepper": kDarkTheme6, - "kDSky": kDarkTheme7, - "kDSteel": kDarkTheme8, + // "kDAMOLED": kDarkTheme2, + // "kDOlive": kDarkTheme3, + // "kDDeep Ocean": kDarkTheme4, + // "kDJungle": kDarkTheme5, + // "kDPepper": kDarkTheme6, + // "kDSky": kDarkTheme7, + // "kDSteel": kDarkTheme8, }; class DarkThemeModel extends ChangeNotifier { diff --git a/lib/theme/theme.dart b/lib/theme/theme.dart index 9edb5d06..80b649f1 100644 --- a/lib/theme/theme.dart +++ b/lib/theme/theme.dart @@ -187,742 +187,742 @@ ThemeData kDarkTheme = ThemeData.from( disabledColor: Colors.grey, ); -ThemeData kLightTheme2 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFFF7F1E3), - brightness: Brightness.light, - errorColor: const Color(0xFFC19439), - focusColor: config.Colors().mainColor(1), - hintColor: const Color(0xFFF1E6D0), - textTheme: TextTheme( - button: const TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: Color(0xFFFFFFFF), - ), - headline5: TextStyle( - fontSize: 16.0, - color: Colors.white.withOpacity(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.black), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.black), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 13.0, - color: Colors.white.withOpacity(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(.75), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 24, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentColor(1), - ), - ), - colorScheme: const ColorScheme.light(primary: Color(0xFFC19439)) - .copyWith(secondary: const Color(0xFF96732C)), -); - -ThemeData kDarkTheme2 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: Colors.black, - brightness: Brightness.dark, - errorColor: Colors.black, - focusColor: Colors.black, - hintColor: Colors.black, - textTheme: TextTheme( - button: const TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: Colors.black, - ), - headline5: const TextStyle( - fontSize: 16.0, - color: Colors.white, - fontFamily: "Proxima Nova", - ), - headline4: const TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: const TextStyle( - fontFamily: 'Proxima Nova', - color: Colors.white, - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: const TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: Colors.black, - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: Colors.white.withOpacity(0.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(.85), - ), - bodyText1: const TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: Colors.white, - ), - caption: const TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: Colors.white, - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFFFFFFFF)) - .copyWith(secondary: Colors.white), -); - -ThemeData kLightTheme3 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFFC5A79F), - brightness: Brightness.light, - errorColor: const Color(0xFFA7796D), - focusColor: config.Colors().mainColor(1), - hintColor: const Color(0xFFBE9C93), - textTheme: TextTheme( - button: const TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: Color(0xFFFFFFFF), - ), - headline5: TextStyle( - fontSize: 16.0, - color: Colors.white.withOpacity(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.black), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.black), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 13.0, - color: Colors.white.withOpacity(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(.75), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 24, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentColor(1), - ), - ), - colorScheme: const ColorScheme.light(primary: Color(0xFFA7796D)) - .copyWith(secondary: const Color(0xFF7D564B)), -); - -ThemeData kLightTheme4 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF8399BE), - brightness: Brightness.light, - errorColor: const Color(0xFF596F95), - focusColor: config.Colors().mainColor(1), - hintColor: const Color(0xFF788CAF), - textTheme: TextTheme( - button: const TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: Color(0xFFFFFFFF), - ), - headline5: TextStyle( - fontSize: 16.0, - color: Colors.white.withOpacity(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.black), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.black), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 13.0, - color: Colors.white.withOpacity(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(.75), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 24, - fontWeight: FontWeight.w500, - color: Colors.white.withOpacity(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentColor(1), - ), - ), - colorScheme: const ColorScheme.light(primary: Color(0xFF596F95)) - .copyWith(secondary: const Color(0xFF36435A)), -); - -ThemeData kDarkTheme3 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF202113), - brightness: Brightness.dark, - errorColor: const Color(0xFF767B45), - focusColor: config.Colors().mainDarkColor(1), - hintColor: const Color(0xFF35371F), - textTheme: TextTheme( - button: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: config.Colors().mainDarkColor(1), - ), - headline5: TextStyle( - fontSize: 16.0, - color: config.Colors().accentDarkColor(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentDarkColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondDarkColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: config.Colors().accentDarkColor(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(.85), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentDarkColor(1), - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFF767B45)) - .copyWith(secondary: const Color(0xFFE3E4D0)), -); - -ThemeData kDarkTheme4 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF041B29), - brightness: Brightness.dark, - errorColor: const Color(0xFF427DA8), - focusColor: config.Colors().mainDarkColor(1), - hintColor: const Color(0xFF152836), - textTheme: TextTheme( - button: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: config.Colors().mainDarkColor(1), - ), - headline5: TextStyle( - fontSize: 16.0, - color: config.Colors().accentDarkColor(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentDarkColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondDarkColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: config.Colors().accentDarkColor(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(.85), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentDarkColor(1), - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFF427DA8)) - .copyWith(secondary: const Color(0xFFB0CCE0)), -); +// ThemeData kLightTheme2 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFFF7F1E3), +// brightness: Brightness.light, +// errorColor: const Color(0xFFC19439), +// focusColor: config.Colors().mainColor(1), +// hintColor: const Color(0xFFF1E6D0), +// textTheme: TextTheme( +// button: const TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: Color(0xFFFFFFFF), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: Colors.white.withOpacity(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.black), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.black), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 13.0, +// color: Colors.white.withOpacity(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(.75), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 24, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentColor(1), +// ), +// ), +// colorScheme: const ColorScheme.light(primary: Color(0xFFC19439)) +// .copyWith(secondary: const Color(0xFF96732C)), +// ); -ThemeData kDarkTheme5 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF12210E), - brightness: Brightness.dark, - errorColor: const Color(0xFF4C7044), - focusColor: config.Colors().mainDarkColor(1), - hintColor: const Color(0xFF1D2B1A), - textTheme: TextTheme( - button: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: config.Colors().mainDarkColor(1), - ), - headline5: TextStyle( - fontSize: 16.0, - color: config.Colors().accentDarkColor(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentDarkColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondDarkColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: config.Colors().accentDarkColor(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(.85), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentDarkColor(1), - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFF4C7044)) - .copyWith(secondary: const Color(0xFFD9E6D6)), -); +// ThemeData kDarkTheme2 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: Colors.black, +// brightness: Brightness.dark, +// errorColor: Colors.black, +// focusColor: Colors.black, +// hintColor: Colors.black, +// textTheme: TextTheme( +// button: const TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: Colors.black, +// ), +// headline5: const TextStyle( +// fontSize: 16.0, +// color: Colors.white, +// fontFamily: "Proxima Nova", +// ), +// headline4: const TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: const TextStyle( +// fontFamily: 'Proxima Nova', +// color: Colors.white, +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: const TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: Colors.black, +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: Colors.white.withOpacity(0.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(.85), +// ), +// bodyText1: const TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: Colors.white, +// ), +// caption: const TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: Colors.white, +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFFFFFFFF)) +// .copyWith(secondary: Colors.white), +// ); -ThemeData kDarkTheme6 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF290D02), - brightness: Brightness.dark, - errorColor: const Color(0xFF703826), - focusColor: config.Colors().mainDarkColor(1), - hintColor: const Color(0xFF361B12), - textTheme: TextTheme( - button: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: config.Colors().mainDarkColor(1), - ), - headline5: TextStyle( - fontSize: 16.0, - color: config.Colors().accentDarkColor(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentDarkColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondDarkColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: config.Colors().accentDarkColor(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(.85), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentDarkColor(1), - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFF703826)) - .copyWith(secondary: const Color(0xFFDFB0A0)), -); +// ThemeData kLightTheme3 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFFC5A79F), +// brightness: Brightness.light, +// errorColor: const Color(0xFFA7796D), +// focusColor: config.Colors().mainColor(1), +// hintColor: const Color(0xFFBE9C93), +// textTheme: TextTheme( +// button: const TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: Color(0xFFFFFFFF), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: Colors.white.withOpacity(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.black), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.black), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 13.0, +// color: Colors.white.withOpacity(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(.75), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 24, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentColor(1), +// ), +// ), +// colorScheme: const ColorScheme.light(primary: Color(0xFFA7796D)) +// .copyWith(secondary: const Color(0xFF7D564B)), +// ); -ThemeData kDarkTheme7 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF142431), - brightness: Brightness.dark, - errorColor: const Color(0xFF2D6079), - focusColor: config.Colors().mainDarkColor(1), - hintColor: const Color(0xFF193543), - textTheme: TextTheme( - button: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: config.Colors().mainDarkColor(1), - ), - headline5: TextStyle( - fontSize: 16.0, - color: config.Colors().accentDarkColor(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentDarkColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondDarkColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: config.Colors().accentDarkColor(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(.85), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentDarkColor(1), - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFF2D6079)) - .copyWith(secondary: const Color(0xFFA9CDDF)), -); +// ThemeData kLightTheme4 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF8399BE), +// brightness: Brightness.light, +// errorColor: const Color(0xFF596F95), +// focusColor: config.Colors().mainColor(1), +// hintColor: const Color(0xFF788CAF), +// textTheme: TextTheme( +// button: const TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: Color(0xFFFFFFFF), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: Colors.white.withOpacity(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.black), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.black), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 13.0, +// color: Colors.white.withOpacity(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(.75), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 24, +// fontWeight: FontWeight.w500, +// color: Colors.white.withOpacity(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentColor(1), +// ), +// ), +// colorScheme: const ColorScheme.light(primary: Color(0xFF596F95)) +// .copyWith(secondary: const Color(0xFF36435A)), +// ); -ThemeData kDarkTheme8 = ThemeData( - canvasColor: Colors.transparent, - primaryColor: const Color(0xFF393D46), - brightness: Brightness.dark, - errorColor: const Color(0xFF686E80), - focusColor: config.Colors().mainDarkColor(1), - hintColor: const Color(0xFF33363F), - textTheme: TextTheme( - button: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 16, - fontWeight: FontWeight.w800, - color: config.Colors().mainDarkColor(1), - ), - headline5: TextStyle( - fontSize: 16.0, - color: config.Colors().accentDarkColor(1), - fontFamily: "Proxima Nova", - ), - headline4: TextStyle( - fontSize: 16, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1)), - headline3: const TextStyle( - fontSize: 20, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline2: const TextStyle( - fontSize: 24, - fontFamily: "Proxima Nova", - fontWeight: FontWeight.w500, - color: Colors.white), - headline1: TextStyle( - fontFamily: 'Proxima Nova', - color: config.Colors().accentDarkColor(1), - fontSize: 50, - fontWeight: FontWeight.w600, - ), - subtitle1: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - color: config.Colors().secondDarkColor(1), - fontFamily: "Roboto", - ), - headline6: TextStyle( - fontSize: 14.0, - color: config.Colors().accentDarkColor(.85), - fontFamily: "Proxima Nova", - ), - bodyText2: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 14, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(.85), - ), - bodyText1: TextStyle( - fontFamily: 'Proxima Nova', - fontSize: 22, - fontWeight: FontWeight.w500, - color: config.Colors().accentDarkColor(1), - ), - caption: TextStyle( - fontFamily: 'Roboto', - fontSize: 16, - fontWeight: FontWeight.w400, - color: config.Colors().accentDarkColor(1), - ), - ), - colorScheme: const ColorScheme.dark(primary: Color(0xFF686E80)) - .copyWith(secondary: const Color(0xFFEEEFF2)), -); +// ThemeData kDarkTheme3 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF202113), +// brightness: Brightness.dark, +// errorColor: const Color(0xFF767B45), +// focusColor: config.Colors().mainDarkColor(1), +// hintColor: const Color(0xFF35371F), +// textTheme: TextTheme( +// button: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: config.Colors().mainDarkColor(1), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: config.Colors().accentDarkColor(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentDarkColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondDarkColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: config.Colors().accentDarkColor(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(.85), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentDarkColor(1), +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFF767B45)) +// .copyWith(secondary: const Color(0xFFE3E4D0)), +// ); + +// ThemeData kDarkTheme4 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF041B29), +// brightness: Brightness.dark, +// errorColor: const Color(0xFF427DA8), +// focusColor: config.Colors().mainDarkColor(1), +// hintColor: const Color(0xFF152836), +// textTheme: TextTheme( +// button: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: config.Colors().mainDarkColor(1), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: config.Colors().accentDarkColor(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentDarkColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondDarkColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: config.Colors().accentDarkColor(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(.85), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentDarkColor(1), +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFF427DA8)) +// .copyWith(secondary: const Color(0xFFB0CCE0)), +// ); + +// ThemeData kDarkTheme5 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF12210E), +// brightness: Brightness.dark, +// errorColor: const Color(0xFF4C7044), +// focusColor: config.Colors().mainDarkColor(1), +// hintColor: const Color(0xFF1D2B1A), +// textTheme: TextTheme( +// button: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: config.Colors().mainDarkColor(1), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: config.Colors().accentDarkColor(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentDarkColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondDarkColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: config.Colors().accentDarkColor(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(.85), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentDarkColor(1), +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFF4C7044)) +// .copyWith(secondary: const Color(0xFFD9E6D6)), +// ); + +// ThemeData kDarkTheme6 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF290D02), +// brightness: Brightness.dark, +// errorColor: const Color(0xFF703826), +// focusColor: config.Colors().mainDarkColor(1), +// hintColor: const Color(0xFF361B12), +// textTheme: TextTheme( +// button: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: config.Colors().mainDarkColor(1), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: config.Colors().accentDarkColor(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentDarkColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondDarkColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: config.Colors().accentDarkColor(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(.85), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentDarkColor(1), +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFF703826)) +// .copyWith(secondary: const Color(0xFFDFB0A0)), +// ); + +// ThemeData kDarkTheme7 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF142431), +// brightness: Brightness.dark, +// errorColor: const Color(0xFF2D6079), +// focusColor: config.Colors().mainDarkColor(1), +// hintColor: const Color(0xFF193543), +// textTheme: TextTheme( +// button: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: config.Colors().mainDarkColor(1), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: config.Colors().accentDarkColor(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentDarkColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondDarkColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: config.Colors().accentDarkColor(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(.85), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentDarkColor(1), +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFF2D6079)) +// .copyWith(secondary: const Color(0xFFA9CDDF)), +// ); + +// ThemeData kDarkTheme8 = ThemeData( +// canvasColor: Colors.transparent, +// primaryColor: const Color(0xFF393D46), +// brightness: Brightness.dark, +// errorColor: const Color(0xFF686E80), +// focusColor: config.Colors().mainDarkColor(1), +// hintColor: const Color(0xFF33363F), +// textTheme: TextTheme( +// button: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 16, +// fontWeight: FontWeight.w800, +// color: config.Colors().mainDarkColor(1), +// ), +// headline5: TextStyle( +// fontSize: 16.0, +// color: config.Colors().accentDarkColor(1), +// fontFamily: "Proxima Nova", +// ), +// headline4: TextStyle( +// fontSize: 16, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1)), +// headline3: const TextStyle( +// fontSize: 20, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline2: const TextStyle( +// fontSize: 24, +// fontFamily: "Proxima Nova", +// fontWeight: FontWeight.w500, +// color: Colors.white), +// headline1: TextStyle( +// fontFamily: 'Proxima Nova', +// color: config.Colors().accentDarkColor(1), +// fontSize: 50, +// fontWeight: FontWeight.w600, +// ), +// subtitle1: TextStyle( +// fontSize: 20, +// fontWeight: FontWeight.w900, +// color: config.Colors().secondDarkColor(1), +// fontFamily: "Roboto", +// ), +// headline6: TextStyle( +// fontSize: 14.0, +// color: config.Colors().accentDarkColor(.85), +// fontFamily: "Proxima Nova", +// ), +// bodyText2: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 14, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(.85), +// ), +// bodyText1: TextStyle( +// fontFamily: 'Proxima Nova', +// fontSize: 22, +// fontWeight: FontWeight.w500, +// color: config.Colors().accentDarkColor(1), +// ), +// caption: TextStyle( +// fontFamily: 'Roboto', +// fontSize: 16, +// fontWeight: FontWeight.w400, +// color: config.Colors().accentDarkColor(1), +// ), +// ), +// colorScheme: const ColorScheme.dark(primary: Color(0xFF686E80)) +// .copyWith(secondary: const Color(0xFFEEEFF2)), +// ); diff --git a/lib/theme/themeModel.dart b/lib/theme/themeModel.dart index 6e816806..0a26fff1 100644 --- a/lib/theme/themeModel.dart +++ b/lib/theme/themeModel.dart @@ -5,9 +5,9 @@ import 'package:flutter/material.dart'; Map themes = { "kLFrost White": kLightTheme, - "kLCoffee": kLightTheme2, - "kLRose": kLightTheme3, - "kLCotton Blue": kLightTheme4, + // "kLCoffee": kLightTheme2, + // "kLRose": kLightTheme3, + // "kLCotton Blue": kLightTheme4, }; class ThemeModel extends ChangeNotifier { diff --git a/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart index e16428e2..c6b7b8e6 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart @@ -7,10 +7,7 @@ import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/theme/theme.dart'; -import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/theme/toasts.dart' as toasts; import 'package:Prism/ui/pages/home/wallpapers/customFilters.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; @@ -26,7 +23,6 @@ import 'package:permission_handler/permission_handler.dart'; import 'package:photo_view/photo_view.dart'; import 'package:photofilters/filters/filters.dart'; import 'package:photofilters/filters/preset_filters.dart'; -import 'package:provider/provider.dart'; class WallpaperFilterScreen extends StatefulWidget { final imagelib.Image image; @@ -572,19 +568,20 @@ class _WallpaperFilterScreenState extends State { width: 25, child: CircularProgressIndicator( valueColor: AlwaysStoppedAnimation( - Provider.of(context) - .getCurrentModeStyle( - MediaQuery.of(context) - .platformBrightness) == - "Dark" && - Provider.of(context) - .currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == - Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + // Provider.of(context) + // .getCurrentModeStyle( + // MediaQuery.of(context) + // .platformBrightness) == + // "Dark" && + // Provider.of(context) + // .currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == + // Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), ), ), @@ -620,19 +617,20 @@ class _WallpaperFilterScreenState extends State { width: 25, child: CircularProgressIndicator( valueColor: AlwaysStoppedAnimation( - Provider.of(context) - .getCurrentModeStyle( - MediaQuery.of(context) - .platformBrightness) == - "Dark" && - Provider.of(context) - .currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == - Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + // Provider.of(context) + // .getCurrentModeStyle( + // MediaQuery.of(context) + // .platformBrightness) == + // "Dark" && + // Provider.of(context) + // .currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == + // Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), ), ), diff --git a/lib/ui/pages/profile/aboutScreen.dart b/lib/ui/pages/profile/aboutScreen.dart index 5da8c01b..a884cdbd 100644 --- a/lib/ui/pages/profile/aboutScreen.dart +++ b/lib/ui/pages/profile/aboutScreen.dart @@ -1,17 +1,13 @@ import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; -import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/theme/theme.dart'; -import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/popup/contriPopUp.dart'; import 'package:Prism/ui/widgets/profile/prismList.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:github/github.dart'; -import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; class AboutScreen extends StatelessWidget { @@ -321,15 +317,17 @@ class ActionButton extends StatelessWidget { child: ActionChip( avatar: Icon( icon, - color: Provider.of(context).getCurrentModeStyle( - MediaQuery.of(context).platformBrightness) == - "Dark" && - Provider.of(context).currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + color: + // Provider.of(context).getCurrentModeStyle( + // MediaQuery.of(context).platformBrightness) == + // "Dark" && + // Provider.of(context).currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), label: Text( text, diff --git a/lib/ui/pages/setup/setupScreen.dart b/lib/ui/pages/setup/setupScreen.dart index ee2508af..acd05b13 100644 --- a/lib/ui/pages/setup/setupScreen.dart +++ b/lib/ui/pages/setup/setupScreen.dart @@ -3,9 +3,7 @@ import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; import 'package:Prism/routes/routing_constants.dart'; -import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/theme/theme.dart'; import 'package:Prism/theme/themeModeProvider.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/home/core/bottomNavBar.dart'; @@ -314,26 +312,26 @@ class _SetupPageState extends State { child: Center( child: CircularProgressIndicator( valueColor: AlwaysStoppedAnimation( - Provider.of( - context) - .getCurrentModeStyle( - MediaQuery.of( - context) - .platformBrightness) == - "Dark" && - Provider.of( - context) - .currentTheme == - kDarkTheme2 - ? Theme.of(context) - .errorColor == - Colors.black - ? Theme.of(context) - .accentColor - : Theme.of(context) - .errorColor - : Theme.of(context) - .errorColor, + // Provider.of( + // context) + // .getCurrentModeStyle( + // MediaQuery.of( + // context) + // .platformBrightness) == + // "Dark" && + // Provider.of( + // context) + // .currentTheme == + // kDarkTheme2 + // ? Theme.of(context) + // .errorColor == + // Colors.black + // ? Theme.of(context) + // .accentColor + // : Theme.of(context) + // .errorColor + // : + Theme.of(context).errorColor, ), value: downloadProgress.progress), ), @@ -369,16 +367,18 @@ class _SetupPageState extends State { }, child: Icon( JamIcons.chevron_left, - color: Provider.of(context) - .getCurrentModeStyle(MediaQuery.of(context) - .platformBrightness) == - "Dark" && - Provider.of(context).currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + color: + // Provider.of(context) + // .getCurrentModeStyle(MediaQuery.of(context) + // .platformBrightness) == + // "Dark" && + // Provider.of(context).currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), ), ), @@ -399,16 +399,18 @@ class _SetupPageState extends State { }, child: Icon( JamIcons.chevron_right, - color: Provider.of(context) - .getCurrentModeStyle(MediaQuery.of(context) - .platformBrightness) == - "Dark" && - Provider.of(context).currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + color: + // Provider.of(context) + // .getCurrentModeStyle(MediaQuery.of(context) + // .platformBrightness) == + // "Dark" && + // Provider.of(context).currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), ), ), diff --git a/lib/ui/widgets/animated/loader.dart b/lib/ui/widgets/animated/loader.dart index bf3c9cb7..77c7107d 100644 --- a/lib/ui/widgets/animated/loader.dart +++ b/lib/ui/widgets/animated/loader.dart @@ -1,8 +1,4 @@ -import 'package:Prism/theme/darkThemeModel.dart'; -import 'package:Prism/theme/theme.dart'; -import 'package:Prism/theme/themeModeProvider.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; class Loader extends StatefulWidget { @override @@ -70,15 +66,17 @@ class _LoaderState extends State with TickerProviderStateMixin { child: Container( decoration: BoxDecoration( shape: BoxShape.circle, - color: Provider.of(context).getCurrentModeStyle( - MediaQuery.of(context).platformBrightness) == - "Dark" && - Provider.of(context).currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + color: + // Provider.of(context).getCurrentModeStyle( + // MediaQuery.of(context).platformBrightness) == + // "Dark" && + // Provider.of(context).currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), child: const SizedBox( width: 45, diff --git a/lib/ui/widgets/popup/changelogPopUp.dart b/lib/ui/widgets/popup/changelogPopUp.dart index d34a59fe..33d65536 100644 --- a/lib/ui/widgets/popup/changelogPopUp.dart +++ b/lib/ui/widgets/popup/changelogPopUp.dart @@ -1,11 +1,7 @@ -import 'package:Prism/theme/darkThemeModel.dart'; import 'package:Prism/theme/jam_icons_icons.dart'; -import 'package:Prism/theme/theme.dart'; -import 'package:Prism/theme/themeModeProvider.dart'; import 'package:animations/animations.dart'; import 'package:flare_flutter/flare_actor.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; void showChangelog(BuildContext context, Function func) { @@ -205,16 +201,18 @@ class Change extends StatelessWidget { Icon( icon, size: 22, - color: Provider.of(context) - .getCurrentModeStyle( - MediaQuery.of(context).platformBrightness) == - "Dark" && - Provider.of(context).currentTheme == - kDarkTheme2 - ? Theme.of(context).errorColor == Colors.black - ? Theme.of(context).accentColor - : Theme.of(context).errorColor - : Theme.of(context).errorColor, + color: + // Provider.of(context) + // .getCurrentModeStyle( + // MediaQuery.of(context).platformBrightness) == + // "Dark" && + // Provider.of(context).currentTheme == + // kDarkTheme2 + // ? Theme.of(context).errorColor == Colors.black + // ? Theme.of(context).accentColor + // : Theme.of(context).errorColor + // : + Theme.of(context).errorColor, ), const SizedBox( width: 20, From 8610bb8b02c660645bcb597c7967200760cbf991 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 17:28:20 +0530 Subject: [PATCH 21/36] remove screenshot package --- pubspec.lock | 7 ------- pubspec.yaml | 1 - 2 files changed, 8 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 5ae11229..c5716fe9 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1028,13 +1028,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.27.2" - screenshot: - dependency: "direct main" - description: - name: screenshot - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.3" share: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 71d0a7a3..0678447e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -73,7 +73,6 @@ dependencies: purchases_flutter: ^3.2.1 quick_actions: ^0.6.0+1 rxdart: ^0.27.1 - screenshot: ^1.2.3 share: ^2.0.1 sliding_up_panel: ^2.0.0+1 timeago: ^3.0.2 From bb051ddc39382a780e3f0ee6313f69797e3fb6c9 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 18:15:59 +0530 Subject: [PATCH 22/36] fix infos, remove unnecessary method channel --- lib/ui/pages/profile/profileWallViewScreen.dart | 1 - lib/ui/pages/profile/userProfileWallViewScreen.dart | 1 - lib/ui/pages/search/searchWallpaperScreen.dart | 1 - lib/ui/pages/share/shareWallViewScreen.dart | 1 - lib/ui/widgets/menuButton/downloadButton.dart | 2 -- 5 files changed, 6 deletions(-) diff --git a/lib/ui/pages/profile/profileWallViewScreen.dart b/lib/ui/pages/profile/profileWallViewScreen.dart index 84fed321..1cd86af2 100644 --- a/lib/ui/pages/profile/profileWallViewScreen.dart +++ b/lib/ui/pages/profile/profileWallViewScreen.dart @@ -28,7 +28,6 @@ import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; import 'package:path_provider/path_provider.dart'; import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; class ProfileWallViewScreen extends StatefulWidget { diff --git a/lib/ui/pages/profile/userProfileWallViewScreen.dart b/lib/ui/pages/profile/userProfileWallViewScreen.dart index 162a78ef..d870fe81 100644 --- a/lib/ui/pages/profile/userProfileWallViewScreen.dart +++ b/lib/ui/pages/profile/userProfileWallViewScreen.dart @@ -28,7 +28,6 @@ import 'package:palette_generator/palette_generator.dart'; import 'package:provider/provider.dart'; import 'package:path_provider/path_provider.dart'; import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; class UserProfileWallViewScreen extends StatefulWidget { diff --git a/lib/ui/pages/search/searchWallpaperScreen.dart b/lib/ui/pages/search/searchWallpaperScreen.dart index 302c5327..ebf021a4 100644 --- a/lib/ui/pages/search/searchWallpaperScreen.dart +++ b/lib/ui/pages/search/searchWallpaperScreen.dart @@ -28,7 +28,6 @@ import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:palette_generator/palette_generator.dart'; import 'package:path_provider/path_provider.dart'; import 'package:Prism/theme/toasts.dart' as toasts; -import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; import 'package:url_launcher/url_launcher.dart'; diff --git a/lib/ui/pages/share/shareWallViewScreen.dart b/lib/ui/pages/share/shareWallViewScreen.dart index eb21fbd0..bf2b6945 100644 --- a/lib/ui/pages/share/shareWallViewScreen.dart +++ b/lib/ui/pages/share/shareWallViewScreen.dart @@ -42,7 +42,6 @@ import 'package:path_provider/path_provider.dart'; import 'package:Prism/theme/toasts.dart' as toasts; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; -import 'package:screenshot/screenshot.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; class ShareWallpaperViewScreen extends StatefulWidget { diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index 6fd8eac6..f36444e5 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -184,8 +184,6 @@ class _DownloadButtonState extends State { super.initState(); } - static const platform = MethodChannel('flutter.prism.set_wallpaper'); - @override Widget build(BuildContext context) { return GestureDetector( From a37af293313f5fa10270a9aa5bf37cf1cbf2943f Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 18:16:13 +0530 Subject: [PATCH 23/36] fix wallpaper filter screen download/set wallpaper --- .../wallpapers/wallpaperFilterScreen.dart | 132 ++++++++++-------- 1 file changed, 72 insertions(+), 60 deletions(-) diff --git a/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart b/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart index c6b7b8e6..642d97b1 100644 --- a/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart +++ b/lib/ui/pages/home/wallpapers/wallpaperFilterScreen.dart @@ -13,6 +13,8 @@ import 'package:Prism/ui/pages/home/wallpapers/customFilters.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:Prism/ui/widgets/menuButton/setWallpaperButton.dart'; import 'package:Prism/ui/widgets/popup/signInPopUp.dart'; +import 'package:async_wallpaper/async_wallpaper.dart'; +import 'package:device_info/device_info.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -129,28 +131,36 @@ class _WallpaperFilterScreenState extends State { return true; } - static const platform = MethodChannel("flutter.prism.set_wallpaper"); - - Future _setBothWallPaper(String url) async { - bool? result; + Future _setWallPaper(String link) async { + String? result; try { - if (url.contains("com.hash.prism")) { - result = await platform - .invokeMethod("set_both_wallpaper_file", { - 'url': url, - }); - } else if (url.contains("/0/")) { - result = await platform - .invokeMethod("set_both_wallpaper_file", { - 'url': "/${url.replaceAll("/0//", "/0/")}", - }); + result = await AsyncWallpaper.setWallpaperFromFileNative( + link, + ); + if (result == 'Wallpaper set') { + logger.d("Success"); + analytics.logEvent( + name: 'set_wall', + parameters: {'type': 'Both', 'result': 'Success'}); } else { - result = - await platform.invokeMethod("set_both_wallpaper", { - 'url': url, - }); + logger.d("Failed"); + toasts.error("Something went wrong!"); } - if (result!) { + } catch (e) { + analytics.logEvent( + name: 'set_wall', parameters: {'type': 'Both', 'result': 'Failure'}); + logger.d(e.toString()); + } + } + + Future _setBothWallPaper(String url) async { + String? result; + try { + result = await AsyncWallpaper.setWallpaperFromFile( + url, + AsyncWallpaper.BOTH_SCREENS, + ); + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -169,25 +179,13 @@ class _WallpaperFilterScreenState extends State { } Future _setLockWallPaper(String url) async { - bool? result; + String? result; try { - if (url.contains("com.hash.prism")) { - result = await platform - .invokeMethod("set_lock_wallpaper_file", { - 'url': url, - }); - } else if (url.contains("/0/")) { - result = await platform - .invokeMethod("set_lock_wallpaper_file", { - 'url': "/${url.replaceAll("/0//", "/0/")}", - }); - } else { - result = - await platform.invokeMethod("set_lock_wallpaper", { - 'url': url, - }); - } - if (result!) { + result = await AsyncWallpaper.setWallpaperFromFile( + url, + AsyncWallpaper.LOCK_SCREEN, + ); + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -206,25 +204,13 @@ class _WallpaperFilterScreenState extends State { } Future _setHomeWallPaper(String url) async { - bool? result; + String? result; try { - if (url.contains("com.hash.prism")) { - result = await platform - .invokeMethod("set_home_wallpaper_file", { - 'url': url, - }); - } else if (url.contains("/0/")) { - result = await platform - .invokeMethod("set_home_wallpaper_file", { - 'url': "/${url.replaceAll("/0//", "/0/")}", - }); - } else { - result = - await platform.invokeMethod("set_home_wallpaper", { - 'url': url, - }); - } - if (result!) { + result = await AsyncWallpaper.setWallpaperFromFile( + url, + AsyncWallpaper.HOME_SCREEN, + ); + if (result == 'Wallpaper set') { logger.d("Success"); analytics.logEvent( name: 'set_wall', @@ -242,6 +228,12 @@ class _WallpaperFilterScreenState extends State { Navigator.of(context).pop(); } + Future onPaint(String url) async { + HapticFeedback.vibrate(); + Future.delayed(const Duration(seconds: 1)) + .then((value) => _setWallPaper(url)); + } + void showPremiumPopUp(Function func) { if (globals.prismUser.loggedIn == false) { toasts.codeSend("Editing Wallpaper is a premium feature."); @@ -335,20 +327,40 @@ class _WallpaperFilterScreenState extends State { isScrollControlled: true, context: context, builder: (context) => SetOptionsPanel( - onTap1: () { + onTap1: () async { + HapticFeedback.vibrate(); + Navigator.of(context).pop(); + Future.delayed(const Duration(seconds: 1)) + .then((value) => _setHomeWallPaper(imageFile.path)); + }, + onTap4: () async { HapticFeedback.vibrate(); Navigator.of(context).pop(); - _setHomeWallPaper(imageFile.path); + if (Platform.isAndroid) { + final androidInfo = + await DeviceInfoPlugin().androidInfo; + final sdkInt = androidInfo.version.sdkInt; + logger.d('(SDK $sdkInt)'); + sdkInt >= 24 + ? onPaint(imageFile.path) + : toasts.error( + "Crop is supported for Android 7.0 and above!"); + } else { + toasts.error( + "Sorry crop is supported for Android 7.0 and above!"); + } }, onTap2: () { HapticFeedback.vibrate(); Navigator.of(context).pop(); - _setLockWallPaper(imageFile.path); + Future.delayed(const Duration(seconds: 1)) + .then((value) => _setLockWallPaper(imageFile.path)); }, onTap3: () { HapticFeedback.vibrate(); Navigator.of(context).pop(); - _setBothWallPaper(imageFile.path); + Future.delayed(const Duration(seconds: 1)) + .then((value) => _setBothWallPaper(imageFile.path)); }, ), ); @@ -512,7 +524,7 @@ class _WallpaperFilterScreenState extends State { } Future get _localPath async { - final directory = await getApplicationDocumentsDirectory(); + final directory = await getTemporaryDirectory(); return directory.path; } From a8b33e48b8d43484f1438825e62d51e0106a29bf Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Thu, 2 Dec 2021 18:22:45 +0530 Subject: [PATCH 24/36] remove unused code from MainActivity.java --- .../java/com/hash/Prism/MainActivity.java | 268 +----------------- 1 file changed, 2 insertions(+), 266 deletions(-) diff --git a/android/app/src/main/java/com/hash/Prism/MainActivity.java b/android/app/src/main/java/com/hash/Prism/MainActivity.java index d9a746b6..01947d09 100644 --- a/android/app/src/main/java/com/hash/Prism/MainActivity.java +++ b/android/app/src/main/java/com/hash/Prism/MainActivity.java @@ -38,71 +38,7 @@ public class MainActivity extends FlutterActivity { private static final String CHANNEL = "flutter.prism.set_wallpaper"; public static MethodChannel.Result res; - private Target target = new Target() { - @Override - public void onBitmapLoaded(Bitmap resource, Picasso.LoadedFrom from) { - android.util.Log.i("Arguments ", "configureFlutterEngine: " + "Image Downloaded"); - SetWallPaperTask setWallPaperTask = new SetWallPaperTask(getActivity()); - setWallPaperTask.execute(new Pair(resource, "1")); - } - - @Override - public void onBitmapFailed(Exception e, Drawable errorDrawable) { - } - - @Override - public void onPrepareLoad(Drawable placeHolderDrawable) { - } - }; - private Target target1 = new Target() { - @Override - public void onBitmapLoaded(Bitmap resource, Picasso.LoadedFrom from) { - android.util.Log.i("Arguments ", "configureFlutterEngine: " + "Image Downloaded"); - SetWallPaperTask setWallPaperTask = new SetWallPaperTask(getActivity()); - setWallPaperTask.execute(new Pair(resource, "2")); - } - - @Override - public void onBitmapFailed(Exception e, Drawable errorDrawable) { - } - - @Override - public void onPrepareLoad(Drawable placeHolderDrawable) { - } - }; - private Target target2 = new Target() { - @Override - public void onBitmapLoaded(Bitmap resource, Picasso.LoadedFrom from) { - android.util.Log.i("Arguments ", "configureFlutterEngine: " + "Image Downloaded"); - SetWallPaperTask setWallPaperTask = new SetWallPaperTask(getActivity()); - setWallPaperTask.execute(new Pair(resource, "3")); - } - - @Override - public void onBitmapFailed(Exception e, Drawable errorDrawable) { - } - - @Override - public void onPrepareLoad(Drawable placeHolderDrawable) { - } - }; - private Target target3 = new Target() { - @Override - public void onBitmapLoaded(Bitmap resource, Picasso.LoadedFrom from) { - android.util.Log.i("Arguments ", "configureFlutterEngine: " + "Image Downloaded"); - SetWallPaperTask setWallPaperTask = new SetWallPaperTask(getActivity()); - setWallPaperTask.execute(new Pair(resource, "4")); - } - - @Override - public void onBitmapFailed(Exception e, Drawable errorDrawable) { - } - - @Override - public void onPrepareLoad(Drawable placeHolderDrawable) { - } - }; - + Target saveImageTarget = new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { @@ -154,47 +90,7 @@ public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL) .setMethodCallHandler((call, result) -> { res = result; - if (call.method.equals("set_wallpaper")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load(url).into(target); - - } else if (call.method.equals("set_wallpaper_file")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load("file://" + url).into(target); - - } else if (call.method.equals("set_lock_wallpaper")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load(url).into(target1); - - } else if (call.method.equals("set_home_wallpaper")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load(url).into(target2); - - } else if (call.method.equals("set_both_wallpaper")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load(url).into(target3); - - } else if (call.method.equals("set_lock_wallpaper_file")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load("file://" + url).into(target1); - - } else if (call.method.equals("set_home_wallpaper_file")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load("file://" + url).into(target2); - - } else if (call.method.equals("set_both_wallpaper_file")) { - String url = call.argument("url"); // .argument returns the correct type - android.util.Log.i("Arguments ", "configureFlutterEngine: " + url); - Picasso.get().load("file://" + url).into(target3); - - } else if (call.method.equals("save_image")) { + if (call.method.equals("save_image")) { String link = call.argument("link"); Picasso.get().load(link).into(saveImageTarget); } else if (call.method.equals("save_image_file")) { @@ -203,33 +99,10 @@ public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { } else if (call.method.equals("save_setup")) { String link = call.argument("link"); Picasso.get().load(link).into(saveSetupTarget); - } else if (call.method.equals("download_image_dm")) { - String link = call.argument("link"); - String filename = call.argument("filename"); - downloadImageNew(filename,link); } }); } - private void downloadImageNew(String filename, String downloadUrlOfImage){ - try{ - DownloadManager dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); - Uri downloadUri = Uri.parse(downloadUrlOfImage); - DownloadManager.Request request = new DownloadManager.Request(downloadUri); - request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE) - .setAllowedOverRoaming(false) - .setTitle(filename) - .setDescription("Downloading wallpaper") - .setMimeType("image/jpeg") // Your file type. You can use this code to download other file types also. - .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED) - .setDestinationInExternalPublicDir(Environment.DIRECTORY_PICTURES,File.separator + "Prism"+ File.separator + filename + ".jpg"); - dm.enqueue(request); - Toast.makeText(this, "Image download started.", Toast.LENGTH_SHORT).show(); - }catch (Exception e){ - Toast.makeText(this, "Image download failed." + e.getMessage().toString(), Toast.LENGTH_SHORT).show(); - } - } - private void saveImageToPictures(Bitmap bitmap, @NonNull String name) throws IOException { OutputStream fos; try { @@ -254,141 +127,4 @@ private void saveImageToPictures(Bitmap bitmap, @NonNull String name) throws IOE } res.success(true); } -} - - -class SetWallPaperTask extends AsyncTask, Boolean, Boolean> { - - private final Context mContext; - - public SetWallPaperTask(final Context context) { - mContext = context; - } - - @Override - protected final Boolean doInBackground(Pair... pairs) { - switch (pairs[0].second) { - case "1": { - WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext); - try { - Uri tempUri = getImageUri(mContext, pairs[0].first); - Log.i("Arguments ", "configureFlutterEngine: " + "Saved image to storage"); - File finalFile = new File(getRealPathFromURI(tempUri)); - Uri contentURI = getImageContentUri(mContext, finalFile.getAbsolutePath()); - Log.i("Arguments ", "configureFlutterEngine: " + "Opening crop intent"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - mContext.startActivity(wallpaperManager.getCropAndSetWallpaperIntent(contentURI)); - } - // wallpaperManager.setBitmap(pairs[0].first); - } catch (Exception ex) { - ex.printStackTrace(); - return false; - } - } - case "2": { - WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext); - try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - wallpaperManager.setBitmap(pairs[0].first, null, true, WallpaperManager.FLAG_LOCK); - } - } catch (IOException ex) { - ex.printStackTrace(); - return false; - } - break; - } - case "3": { - WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext); - try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - wallpaperManager.setBitmap(pairs[0].first, null, true, WallpaperManager.FLAG_SYSTEM); - } - } catch (IOException ex) { - ex.printStackTrace(); - return false; - } - break; - } - case "4": { - WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext); - try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - wallpaperManager.setBitmap(pairs[0].first, null, true, - WallpaperManager.FLAG_LOCK | WallpaperManager.FLAG_SYSTEM); - } - } catch (IOException ex) { - ex.printStackTrace(); - return false; - } - break; - } - - } - return true; - } - - @Override - protected void onCancelled() { - super.onCancelled(); - } - - @Override - protected void onPostExecute(Boolean aBoolean) { - myMethod(aBoolean); - } - - private void myMethod(Boolean result) { - MainActivity.res.success(result); - } - - public static Uri getImageContentUri(Context context, String absPath) { - - Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, - new String[]{MediaStore.Images.Media._ID}, MediaStore.Images.Media.DATA + "=? ", - new String[]{absPath}, null); - - if (cursor != null && cursor.moveToFirst()) { - int id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID)); - return Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, Integer.toString(id)); - - } else if (!absPath.isEmpty()) { - ContentValues values = new ContentValues(); - values.put(MediaStore.Images.Media.DATA, absPath); - return context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); - } else { - return null; - } - } - - public Uri getImageUri(Context inContext, Bitmap inImage) { - ByteArrayOutputStream bytes = new ByteArrayOutputStream(); - inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); - fixMediaDir(); - String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null); - return Uri.parse(path); - } - - public String getRealPathFromURI(Uri uri) { - Cursor cursor = mContext.getContentResolver().query(uri, null, null, null, null); - cursor.moveToFirst(); - int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); - return cursor.getString(idx); - } - - void fixMediaDir() { - File sdcard = Environment.getExternalStorageDirectory(); - if (sdcard != null) { - File mediaDir = new File(sdcard, "DCIM/Camera"); - if (!mediaDir.exists()) { - mediaDir.mkdirs(); - } - } - - if (sdcard != null) { - File mediaDir = new File(sdcard, "Pictures"); - if (!mediaDir.exists()) { - mediaDir.mkdirs(); - } - } - } } \ No newline at end of file From 0260fc71d049d3a57530def5fd6e20fabe37c426 Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Thu, 2 Dec 2021 18:40:29 +0530 Subject: [PATCH 25/36] fixes theme issues --- lib/ui/pages/profile/themeView.dart | 1 + lib/ui/pages/search/searchScreen.dart | 12 +++++-- lib/ui/pages/upload/draftSetupScreen.dart | 14 +++++++- lib/ui/pages/upload/editWallScreen.dart | 9 +++++ lib/ui/pages/upload/setupGuidelines.dart | 12 +++++++ lib/ui/pages/upload/uploadWallScreen.dart | 12 +++++++ lib/ui/widgets/focussedMenu/focusedMenu.dart | 2 +- .../focussedMenu/focusedMenuDetails.dart | 33 ++++++++++--------- .../focussedMenu/searchFocusedMenu.dart | 2 +- .../searchFocusedMenuDetails.dart | 8 ++--- lib/ui/widgets/home/core/categoriesBar.dart | 1 + lib/ui/widgets/home/core/headingChipBar.dart | 1 + 12 files changed, 82 insertions(+), 25 deletions(-) diff --git a/lib/ui/pages/profile/themeView.dart b/lib/ui/pages/profile/themeView.dart index 5410bc95..a8b3813e 100644 --- a/lib/ui/pages/profile/themeView.dart +++ b/lib/ui/pages/profile/themeView.dart @@ -95,6 +95,7 @@ class _ThemeViewState extends State { onWillPop: onWillPop, child: Scaffold( appBar: AppBar( + backgroundColor: Theme.of(context).backgroundColor, automaticallyImplyLeading: false, actions: [ IconButton( diff --git a/lib/ui/pages/search/searchScreen.dart b/lib/ui/pages/search/searchScreen.dart index 4a614d01..464febae 100644 --- a/lib/ui/pages/search/searchScreen.dart +++ b/lib/ui/pages/search/searchScreen.dart @@ -92,6 +92,7 @@ class _SearchScreenState extends State { child: Scaffold( backgroundColor: Theme.of(context).primaryColor, appBar: AppBar( + backgroundColor: Theme.of(context).backgroundColor, automaticallyImplyLeading: false, titleSpacing: 0, title: Row( @@ -108,7 +109,9 @@ class _SearchScreenState extends State { Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(500), - color: Theme.of(context).hintColor), + color: Theme.of(context) + .hintColor + .withOpacity(0.05)), child: TextField( cursorColor: Theme.of(context).errorColor, style: Theme.of(context) @@ -168,7 +171,7 @@ class _SearchScreenState extends State { onCanceled: () { logger.d('You have not choosed anything'); }, - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, tooltip: 'Providers', onSelected: (dynamic choice) { setState(() { @@ -242,6 +245,7 @@ class _SearchScreenState extends State { Padding( padding: const EdgeInsets.fromLTRB(5, 0, 2, 0), child: ActionChip( + elevation: 0, pressElevation: 5, padding: const EdgeInsets.fromLTRB(14, 11, 14, 11), @@ -249,7 +253,9 @@ class _SearchScreenState extends State { searchController.text.toLowerCase() == tags[index].toLowerCase() ? Theme.of(context).accentColor - : Theme.of(context).hintColor, + : Theme.of(context) + .hintColor + .withOpacity(0.1), label: Text(tags[index], style: Theme.of(context) .textTheme diff --git a/lib/ui/pages/upload/draftSetupScreen.dart b/lib/ui/pages/upload/draftSetupScreen.dart index c9a50547..6edf0266 100644 --- a/lib/ui/pages/upload/draftSetupScreen.dart +++ b/lib/ui/pages/upload/draftSetupScreen.dart @@ -1,7 +1,7 @@ - import 'package:Prism/global/globals.dart' as globals; import 'package:Prism/logger/logger.dart'; import 'package:Prism/routes/router.dart'; +import 'package:Prism/theme/jam_icons_icons.dart'; import 'package:Prism/ui/pages/profile/reviewScreen.dart'; import 'package:Prism/ui/widgets/animated/loader.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; @@ -30,6 +30,18 @@ class _DraftSetupScreenState extends State { child: Scaffold( backgroundColor: Theme.of(context).primaryColor, appBar: AppBar( + leading: IconButton( + icon: Icon( + JamIcons.close, + color: Theme.of(context).accentColor, + ), + onPressed: () { + if (navStack.length > 1) navStack.removeLast(); + logger.d(navStack.toString()); + Navigator.pop(context); + }, + ), + backgroundColor: Theme.of(context).backgroundColor, title: Text( "Setup Drafts", style: TextStyle(color: Theme.of(context).accentColor), diff --git a/lib/ui/pages/upload/editWallScreen.dart b/lib/ui/pages/upload/editWallScreen.dart index 98fa2eb7..bc17b9ec 100644 --- a/lib/ui/pages/upload/editWallScreen.dart +++ b/lib/ui/pages/upload/editWallScreen.dart @@ -111,6 +111,7 @@ class _EditWallScreenState extends State { child: Scaffold( backgroundColor: Theme.of(context).primaryColor, appBar: AppBar( + backgroundColor: Theme.of(context).backgroundColor, title: Text( "Edit Wallpaper", style: Theme.of(context) @@ -307,6 +308,14 @@ class _EditWallScreenState extends State { Widget _buildFunctions() { return BottomNavigationBar( + unselectedLabelStyle: TextStyle( + fontSize: 12, + color: Theme.of(context).accentColor.withOpacity(0.5), + ), + selectedLabelStyle: TextStyle( + fontSize: 12, + color: Theme.of(context).accentColor.withOpacity(0.5), + ), backgroundColor: Theme.of(context).primaryColor, showUnselectedLabels: true, type: BottomNavigationBarType.fixed, diff --git a/lib/ui/pages/upload/setupGuidelines.dart b/lib/ui/pages/upload/setupGuidelines.dart index 8ed39f38..5f813317 100644 --- a/lib/ui/pages/upload/setupGuidelines.dart +++ b/lib/ui/pages/upload/setupGuidelines.dart @@ -50,6 +50,18 @@ class _SetupGuidelinesScreenState extends State { child: Scaffold( backgroundColor: Theme.of(context).primaryColor, appBar: AppBar( + leading: IconButton( + icon: Icon( + JamIcons.close, + color: Theme.of(context).accentColor, + ), + onPressed: () { + if (navStack.length > 1) navStack.removeLast(); + logger.d(navStack.toString()); + Navigator.pop(context); + }, + ), + backgroundColor: Theme.of(context).backgroundColor, title: Text( "Upload Setup", style: TextStyle(color: Theme.of(context).accentColor), diff --git a/lib/ui/pages/upload/uploadWallScreen.dart b/lib/ui/pages/upload/uploadWallScreen.dart index b64e98dc..da43442e 100644 --- a/lib/ui/pages/upload/uploadWallScreen.dart +++ b/lib/ui/pages/upload/uploadWallScreen.dart @@ -184,6 +184,18 @@ class _UploadWallScreenState extends State { child: Scaffold( backgroundColor: Theme.of(context).primaryColor, appBar: AppBar( + leading: IconButton( + icon: Icon( + JamIcons.close, + color: Theme.of(context).accentColor, + ), + onPressed: () async { + if (await onWillPop() == true) { + Navigator.pop(context); + } + }, + ), + backgroundColor: Theme.of(context).backgroundColor, title: Text( "Upload Wallpaper", style: TextStyle(color: Theme.of(context).accentColor), diff --git a/lib/ui/widgets/focussedMenu/focusedMenu.dart b/lib/ui/widgets/focussedMenu/focusedMenu.dart index b122e833..09008f8a 100644 --- a/lib/ui/widgets/focussedMenu/focusedMenu.dart +++ b/lib/ui/widgets/focussedMenu/focusedMenu.dart @@ -69,7 +69,7 @@ class _FocusedMenuHolderState extends State { }, child: Container( decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), bottomRight: Radius.circular(20))), diff --git a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart index 457b8317..7094cada 100644 --- a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart @@ -177,7 +177,7 @@ class _FocusedMenuDetailsState extends State { width: widget.childSize!.width, height: widget.childSize!.height * 6 / 10, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all(Radius.circular(20.0)), ), @@ -312,7 +312,7 @@ class _FocusedMenuDetailsState extends State { }, child: Container( decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), bottomRight: Radius.circular(20))), @@ -355,7 +355,7 @@ class _FocusedMenuDetailsState extends State { width: widget.childSize!.width, height: widget.childSize!.height * 6 / 10, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all(Radius.circular(20.0)), ), @@ -521,7 +521,8 @@ class _FocusedMenuDetailsState extends State { }, child: Container( decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: + Theme.of(context).backgroundColor, borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), bottomRight: @@ -564,7 +565,7 @@ class _FocusedMenuDetailsState extends State { width: widget.childSize!.width, height: widget.childSize!.height * 6 / 10, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all( Radius.circular(20.0)), ), @@ -699,8 +700,8 @@ class _FocusedMenuDetailsState extends State { }, child: Container( decoration: BoxDecoration( - color: - Theme.of(context).hintColor, + color: Theme.of(context) + .backgroundColor, borderRadius: const BorderRadius.only( topLeft: @@ -746,7 +747,7 @@ class _FocusedMenuDetailsState extends State { width: widget.childSize!.width, height: widget.childSize!.height * 6 / 10, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all( Radius.circular(20.0)), ), @@ -892,7 +893,7 @@ class _FocusedMenuDetailsState extends State { child: Container( decoration: BoxDecoration( color: Theme.of(context) - .hintColor, + .backgroundColor, borderRadius: const BorderRadius.only( topLeft: @@ -941,7 +942,8 @@ class _FocusedMenuDetailsState extends State { width: widget.childSize!.width, height: widget.childSize!.height * 6 / 10, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: + Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all( Radius.circular(20.0)), ), @@ -1069,7 +1071,7 @@ class _FocusedMenuDetailsState extends State { child: Container( decoration: BoxDecoration( color: Theme.of(context) - .hintColor, + .backgroundColor, borderRadius: const BorderRadius .only( @@ -1128,8 +1130,8 @@ class _FocusedMenuDetailsState extends State { 6 / 8, decoration: BoxDecoration( - color: - Theme.of(context).hintColor, + color: Theme.of(context) + .backgroundColor, borderRadius: const BorderRadius.all( Radius.circular(20.0)), @@ -1372,7 +1374,7 @@ class _FocusedMenuDetailsState extends State { 8, decoration: BoxDecoration( color: Theme.of(context) - .hintColor, + .backgroundColor, borderRadius: const BorderRadius.all( Radius.circular( @@ -1973,7 +1975,8 @@ class _FocusedMenuDetailsState extends State { height: widget.childSize!.height * 6 / 8, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context) + .backgroundColor, borderRadius: const BorderRadius.all( Radius.circular(20.0)), diff --git a/lib/ui/widgets/focussedMenu/searchFocusedMenu.dart b/lib/ui/widgets/focussedMenu/searchFocusedMenu.dart index 69bbf54d..8a3e33b8 100644 --- a/lib/ui/widgets/focussedMenu/searchFocusedMenu.dart +++ b/lib/ui/widgets/focussedMenu/searchFocusedMenu.dart @@ -69,7 +69,7 @@ class _SearchFocusedMenuHolderState extends State { }, child: Container( decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), bottomRight: Radius.circular(20))), diff --git a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart index 50792ca7..d9cf0c11 100644 --- a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart @@ -137,7 +137,7 @@ class SearchFocusedMenuDetails extends StatelessWidget { width: childSize!.width, height: childSize!.height * 6 / 8, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all(Radius.circular(20.0)), ), @@ -266,7 +266,7 @@ class SearchFocusedMenuDetails extends StatelessWidget { }, child: Container( decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), bottomRight: Radius.circular(20))), @@ -306,7 +306,7 @@ class SearchFocusedMenuDetails extends StatelessWidget { width: childSize!.width, height: childSize!.height * 6 / 10, decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.all(Radius.circular(20.0)), ), @@ -424,7 +424,7 @@ class SearchFocusedMenuDetails extends StatelessWidget { }, child: Container( decoration: BoxDecoration( - color: Theme.of(context).hintColor, + color: Theme.of(context).backgroundColor, borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), bottomRight: Radius.circular(20))), diff --git a/lib/ui/widgets/home/core/categoriesBar.dart b/lib/ui/widgets/home/core/categoriesBar.dart index e64bb562..2a9a327b 100644 --- a/lib/ui/widgets/home/core/categoriesBar.dart +++ b/lib/ui/widgets/home/core/categoriesBar.dart @@ -97,6 +97,7 @@ class _CategoriesBarState extends State { }); } return AppBar( + backgroundColor: Theme.of(context).backgroundColor, automaticallyImplyLeading: false, elevation: 0, titleSpacing: 0, diff --git a/lib/ui/widgets/home/core/headingChipBar.dart b/lib/ui/widgets/home/core/headingChipBar.dart index 631ec3e9..e34e30b8 100644 --- a/lib/ui/widgets/home/core/headingChipBar.dart +++ b/lib/ui/widgets/home/core/headingChipBar.dart @@ -15,6 +15,7 @@ class _HeadingChipBarState extends State { @override Widget build(BuildContext context) { return AppBar( + backgroundColor: Theme.of(context).backgroundColor, automaticallyImplyLeading: false, titleSpacing: 0, leading: IconButton( From a492c2fbf87f79cdcc6c753a009ba5fa52d0ac0c Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Thu, 2 Dec 2021 18:43:42 +0530 Subject: [PATCH 26/36] add more search chips --- lib/ui/pages/search/searchScreen.dart | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/lib/ui/pages/search/searchScreen.dart b/lib/ui/pages/search/searchScreen.dart index 464febae..2191e6f8 100644 --- a/lib/ui/pages/search/searchScreen.dart +++ b/lib/ui/pages/search/searchScreen.dart @@ -67,6 +67,43 @@ class _SearchScreenState extends State { 'Summer', 'Titan', 'White', + '8bit', + 'Fantasy', + 'Fashion', + 'Fitness', + 'Fruits', + 'Futuristic', + 'Gems', + 'Graffiti', + 'Halloween', + 'Hipster', + 'Holidays', + 'Industry', + 'Interiors', + 'Kids', + 'Landscapes', + 'Macro', + 'Nature', + 'Night', + 'People', + 'Plants', + 'Portraits', + 'Retro', + 'Robots', + 'Science', + 'Sports', + 'Technics', + 'Textures', + 'Transport', + 'Travel', + 'Wedding', + 'Zombies', + 'Cute', + 'Fairy', + 'Fairytale', + 'Funny', + 'Geometric', + 'Graphic', ]; late bool isSubmitted; TextEditingController searchController = TextEditingController(); From 6f782e06914a75aaf0dc50421fe6f4fdb95c5ab7 Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Thu, 2 Dec 2021 18:47:48 +0530 Subject: [PATCH 27/36] fixes app bar color in theme --- lib/ui/widgets/popup/editProfilePanel.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ui/widgets/popup/editProfilePanel.dart b/lib/ui/widgets/popup/editProfilePanel.dart index f45d9b05..72517452 100644 --- a/lib/ui/widgets/popup/editProfilePanel.dart +++ b/lib/ui/widgets/popup/editProfilePanel.dart @@ -424,8 +424,12 @@ class _EditProfilePanelState extends State { onWillPop: onWillPop, child: Scaffold( appBar: AppBar( + backgroundColor: Theme.of(context).backgroundColor, leading: IconButton( - icon: const Icon(JamIcons.close), + icon: Icon( + JamIcons.close, + color: Theme.of(context).accentColor, + ), onPressed: () { navStack.removeLast(); logger.d(navStack.toString()); From 5655e45f82f951e53e6348603476a74d083c6cbe Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Thu, 2 Dec 2021 18:51:32 +0530 Subject: [PATCH 28/36] fix appbar color in notifications page --- lib/ui/pages/home/core/notificationScreen.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/ui/pages/home/core/notificationScreen.dart b/lib/ui/pages/home/core/notificationScreen.dart index 9fc93e73..89fb0745 100644 --- a/lib/ui/pages/home/core/notificationScreen.dart +++ b/lib/ui/pages/home/core/notificationScreen.dart @@ -43,10 +43,19 @@ class _NotificationScreenState extends State { child: Scaffold( backgroundColor: Theme.of(context).primaryColor, appBar: AppBar( + backgroundColor: Theme.of(context).backgroundColor, automaticallyImplyLeading: false, - title: const Text("Notifications"), + title: Text( + "Notifications", + style: Theme.of(context).textTheme.headline6?.copyWith( + color: Theme.of(context).accentColor, + ), + ), leading: IconButton( - icon: const Icon(JamIcons.close), + icon: Icon( + JamIcons.close, + color: Theme.of(context).accentColor, + ), onPressed: () { if (navStack.length > 1) navStack.removeLast(); logger.d(navStack.toString()); @@ -56,7 +65,10 @@ class _NotificationScreenState extends State { actions: [ IconButton( tooltip: "Notification Settings", - icon: const Icon(JamIcons.settings_alt), + icon: Icon( + JamIcons.settings_alt, + color: Theme.of(context).accentColor, + ), onPressed: () { showModalBottomSheet( isScrollControlled: true, From 4f28663e9bbccf66f96d92b99339402de21ba937 Mon Sep 17 00:00:00 2001 From: LiquidatorCoder Date: Fri, 3 Dec 2021 13:14:26 +0530 Subject: [PATCH 29/36] update version to v2.7.0+78 --- CHANGELOG.md | 4 ++++ README.md | 4 ++++ lib/global/globals.dart | 2 +- lib/ui/widgets/popup/changelogPopUp.dart | 7 +++++++ pubspec.yaml | 2 +- 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8fd60fa..feb2427b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## Changelog +### v2.7.0 +- Temporarily removed themes for now +- Fix download and set wall bugs + ### v2.6.9 - Laid support for Prism v3 - New model for users diff --git a/README.md b/README.md index 856ed5e2..405ece6b 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,10 @@ You can also report bugs, upload your setups/walls on our telegram channel Full changelog can be found [here](https://github.com/Hash-Studios/Prism/tree/master/CHANGELOG.md). +### v2.7.0 +- Temporarily removed themes for now +- Fix download and set wall bugs + ### v2.6.9 - Laid support for Prism v3 - New model for users diff --git a/lib/global/globals.dart b/lib/global/globals.dart index 39c59203..ed3b83a6 100644 --- a/lib/global/globals.dart +++ b/lib/global/globals.dart @@ -26,7 +26,7 @@ PrismUsersV2 prismUser = main.prefs.get( coverPhoto: "", ), ) as PrismUsersV2; -String currentAppVersion = '2.6.9'; +String currentAppVersion = '2.7.0'; String obsoleteAppVersion = '2.6.0'; String currentAppVersionCode = '75'; bool updateChecked = false; diff --git a/lib/ui/widgets/popup/changelogPopUp.dart b/lib/ui/widgets/popup/changelogPopUp.dart index 33d65536..a07d5cf9 100644 --- a/lib/ui/widgets/popup/changelogPopUp.dart +++ b/lib/ui/widgets/popup/changelogPopUp.dart @@ -42,6 +42,13 @@ void showChangelog(BuildContext context, Function func) { child: Column( mainAxisSize: MainAxisSize.min, children: const [ + ChangeVersion(number: 'v2.7.0'), + Change( + icon: JamIcons.download, + text: "Fix wallpaper download bugs."), + Change( + icon: JamIcons.eye, + text: "Temporarily removed themes for now."), ChangeVersion(number: 'v2.6.9'), Change( icon: JamIcons.eye, diff --git a/pubspec.yaml b/pubspec.yaml index 0678447e..5ef8aa36 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ publish_to: none # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.6.9+77 +version: 2.7.0+78 environment: sdk: ">=2.12.0 <3.0.0" From a23b09211caaf9b8d16dbb8d6c7bc488a1817e56 Mon Sep 17 00:00:00 2001 From: Akshay Maurya Date: Sun, 26 Dec 2021 14:24:48 +0530 Subject: [PATCH 30/36] fix android 12 error --- android/app/src/main/AndroidManifest.xml | 2 ++ ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Podfile | 41 ++++++++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 ios/Podfile diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 99e3da43..e7cd3979 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -20,6 +20,7 @@ android:name=".MyTileService" android:icon="@drawable/preview_widget" android:label="@string/quick_settings" + android:exported="true" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> @@ -32,6 +33,7 @@ android:hardwareAccelerated="true" android:launchMode="singleTop" android:theme="@style/LaunchTheme" + android:exported="true" android:windowSoftInputMode="adjustResize" > diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index 592ceee8..ec97fc6f 100755 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index 592ceee8..c4855bfe 100755 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 00000000..1e8c3c90 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end From 2a875cedc59f4b93dc8282e667af50808c63c451 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Sun, 26 Dec 2021 14:36:06 +0530 Subject: [PATCH 31/36] add json annotation --- lib/auth/badgeModel.g.dart | 20 ++++---- lib/auth/transactionModel.g.dart | 21 ++++---- lib/auth/userModel.g.dart | 50 +++++++++---------- pubspec.lock | 10 ++-- pubspec.yaml | 1 + .../.plugin_symlinks/path_provider_windows | 1 + .../shared_preferences_windows | 1 + 7 files changed, 51 insertions(+), 53 deletions(-) create mode 120000 windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows create mode 120000 windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows diff --git a/lib/auth/badgeModel.g.dart b/lib/auth/badgeModel.g.dart index d84abd12..a1afa799 100644 --- a/lib/auth/badgeModel.g.dart +++ b/lib/auth/badgeModel.g.dart @@ -62,17 +62,15 @@ class BadgeAdapter extends TypeAdapter { // JsonSerializableGenerator // ************************************************************************** -Badge _$BadgeFromJson(Map json) { - return Badge( - name: json['name'] as String, - description: json['description'] as String, - id: json['id'] as String, - awardedAt: json['awardedAt'] as String, - imageUrl: json['imageUrl'] as String, - color: json['color'] as String, - url: json['url'] as String, - ); -} +Badge _$BadgeFromJson(Map json) => Badge( + name: json['name'] as String, + description: json['description'] as String, + id: json['id'] as String, + awardedAt: json['awardedAt'] as String, + imageUrl: json['imageUrl'] as String, + color: json['color'] as String, + url: json['url'] as String, + ); Map _$BadgeToJson(Badge instance) => { 'name': instance.name, diff --git a/lib/auth/transactionModel.g.dart b/lib/auth/transactionModel.g.dart index 3042e0f2..501c3f84 100644 --- a/lib/auth/transactionModel.g.dart +++ b/lib/auth/transactionModel.g.dart @@ -62,17 +62,16 @@ class PrismTransactionAdapter extends TypeAdapter { // JsonSerializableGenerator // ************************************************************************** -PrismTransaction _$PrismTransactionFromJson(Map json) { - return PrismTransaction( - name: json['name'] as String, - description: json['description'] as String, - id: json['id'] as String, - amount: json['amount'] as String, - credit: json['credit'] as bool, - by: json['by'] as String, - processedAt: json['processedAt'] as String, - ); -} +PrismTransaction _$PrismTransactionFromJson(Map json) => + PrismTransaction( + name: json['name'] as String, + description: json['description'] as String, + id: json['id'] as String, + amount: json['amount'] as String, + credit: json['credit'] as bool, + by: json['by'] as String, + processedAt: json['processedAt'] as String, + ); Map _$PrismTransactionToJson(PrismTransaction instance) => { diff --git a/lib/auth/userModel.g.dart b/lib/auth/userModel.g.dart index 71734109..292dd599 100644 --- a/lib/auth/userModel.g.dart +++ b/lib/auth/userModel.g.dart @@ -95,32 +95,30 @@ class PrismUsersV2Adapter extends TypeAdapter { // JsonSerializableGenerator // ************************************************************************** -PrismUsersV2 _$PrismUsersV2FromJson(Map json) { - return PrismUsersV2( - username: json['username'] as String, - email: json['email'] as String, - id: json['id'] as String, - createdAt: json['createdAt'] as String, - premium: json['premium'] as bool, - lastLoginAt: json['lastLoginAt'] as String, - links: json['links'] as Map, - followers: json['followers'] as List, - following: json['following'] as List, - profilePhoto: json['profilePhoto'] as String, - bio: json['bio'] as String, - loggedIn: json['loggedIn'] as bool, - badges: (json['badges'] as List) - .map((e) => Badge.fromJson(e as Map)) - .toList(), - subPrisms: json['subPrisms'] as List, - coins: json['coins'] as int, - transactions: (json['transactions'] as List) - .map((e) => PrismTransaction.fromJson(e as Map)) - .toList(), - name: json['name'] as String, - coverPhoto: json['coverPhoto'] as String?, - ); -} +PrismUsersV2 _$PrismUsersV2FromJson(Map json) => PrismUsersV2( + username: json['username'] as String, + email: json['email'] as String, + id: json['id'] as String, + createdAt: json['createdAt'] as String, + premium: json['premium'] as bool, + lastLoginAt: json['lastLoginAt'] as String, + links: json['links'] as Map, + followers: json['followers'] as List, + following: json['following'] as List, + profilePhoto: json['profilePhoto'] as String, + bio: json['bio'] as String, + loggedIn: json['loggedIn'] as bool, + badges: (json['badges'] as List) + .map((e) => Badge.fromJson(e as Map)) + .toList(), + subPrisms: json['subPrisms'] as List, + coins: json['coins'] as int, + transactions: (json['transactions'] as List) + .map((e) => PrismTransaction.fromJson(e as Map)) + .toList(), + name: json['name'] as String, + coverPhoto: json['coverPhoto'] as String?, + ); Map _$PrismUsersV2ToJson(PrismUsersV2 instance) => { diff --git a/pubspec.lock b/pubspec.lock index c5716fe9..830ac80e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -149,7 +149,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" charcode: dependency: transitive description: @@ -749,19 +749,19 @@ packages: source: hosted version: "0.6.3" json_annotation: - dependency: transitive + dependency: "direct main" description: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.3.0" + version: "4.4.0" json_serializable: dependency: "direct main" description: name: json_serializable url: "https://pub.dartlang.org" source: hosted - version: "6.0.1" + version: "6.1.3" lint: dependency: "direct dev" description: @@ -1228,7 +1228,7 @@ packages: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" watcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 5ef8aa36..253ec5d8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,6 +60,7 @@ dependencies: image_editor: ^1.0.1 image_picker: ^0.8.4+3 in_app_update: ^2.0.0 + json_annotation: ^4.4.0 json_serializable: ^6.0.1 logger: ^1.0.0 paginate_firestore: ^0.3.1 diff --git a/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows b/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows new file mode 120000 index 00000000..323185c9 --- /dev/null +++ b/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows @@ -0,0 +1 @@ +C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.0.4/ \ No newline at end of file diff --git a/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows b/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows new file mode 120000 index 00000000..f8967b3d --- /dev/null +++ b/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows @@ -0,0 +1 @@ +C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.0.3/ \ No newline at end of file From df66cbf3551795a6424f05784784778bd4b7e492 Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Sun, 26 Dec 2021 15:36:01 +0530 Subject: [PATCH 32/36] fix extended image --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- .../flutter/ephemeral/.plugin_symlinks/path_provider_windows | 1 - .../ephemeral/.plugin_symlinks/shared_preferences_windows | 1 - 4 files changed, 3 insertions(+), 5 deletions(-) delete mode 120000 windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows delete mode 120000 windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows diff --git a/pubspec.lock b/pubspec.lock index 830ac80e..da49a80b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -282,7 +282,7 @@ packages: name: extended_image url: "https://pub.dartlang.org" source: hosted - version: "5.1.3" + version: "6.0.1" extended_image_library: dependency: transitive description: @@ -1273,4 +1273,4 @@ packages: version: "3.1.0" sdks: dart: ">=2.14.0 <3.0.0" - flutter: ">=2.5.0" + flutter: ">=2.8.0" diff --git a/pubspec.yaml b/pubspec.yaml index 253ec5d8..4f6550a3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -28,7 +28,7 @@ dependencies: data_connection_checker: ^0.3.4 device_apps: ^2.1.1 device_info: ^2.0.0 - extended_image: ^5.1.3 + extended_image: ^6.0.1 file_encrypter: ^1.0.1 firebase_analytics: ^8.0.2 firebase_auth: ^1.1.2 diff --git a/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows b/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows deleted file mode 120000 index 323185c9..00000000 --- a/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows +++ /dev/null @@ -1 +0,0 @@ -C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.0.4/ \ No newline at end of file diff --git a/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows b/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows deleted file mode 120000 index f8967b3d..00000000 --- a/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows +++ /dev/null @@ -1 +0,0 @@ -C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.0.3/ \ No newline at end of file From a052ca41417682fcf645a9b62008c76d24d14dbc Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Sun, 26 Dec 2021 15:50:31 +0530 Subject: [PATCH 33/36] fix callback error --- lib/ui/widgets/menuButton/downloadButton.dart | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/lib/ui/widgets/menuButton/downloadButton.dart b/lib/ui/widgets/menuButton/downloadButton.dart index f36444e5..f28ff3ae 100644 --- a/lib/ui/widgets/menuButton/downloadButton.dart +++ b/lib/ui/widgets/menuButton/downloadButton.dart @@ -1,5 +1,7 @@ import 'dart:io'; import 'dart:math'; +import 'dart:isolate'; +import 'dart:ui'; import 'package:Prism/analytics/analytics_service.dart'; import 'package:Prism/data/ads/adsNotifier.dart'; @@ -44,9 +46,34 @@ class DownloadButtonNew extends StatefulWidget { } class _DownloadButtonNewState extends State { + ReceivePort _port = ReceivePort(); + @override void initState() { super.initState(); + IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + String id = data[0] as String; + DownloadTaskStatus status = data[1] as DownloadTaskStatus; + int progress = data[2] as int; + setState(() {}); + }); + + FlutterDownloader.registerCallback(downloadCallback); + } + + static void downloadCallback( + String id, DownloadTaskStatus status, int progress) { + final SendPort send = + IsolateNameServer.lookupPortByName('downloader_send_port')!; + send.send([id, status, progress]); + } + + @override + void dispose() { + IsolateNameServer.removePortNameMapping('downloader_send_port'); + super.dispose(); } @override @@ -177,13 +204,37 @@ class DownloadButton extends StatefulWidget { class _DownloadButtonState extends State { late bool isLoading; + ReceivePort _port = ReceivePort(); @override void initState() { isLoading = false; + IsolateNameServer.registerPortWithName( + _port.sendPort, 'downloader_send_port'); + _port.listen((dynamic data) { + String id = data[0] as String; + DownloadTaskStatus status = data[1] as DownloadTaskStatus; + int progress = data[2] as int; + setState(() {}); + }); + + FlutterDownloader.registerCallback(downloadCallback); super.initState(); } + static void downloadCallback( + String id, DownloadTaskStatus status, int progress) { + final SendPort send = + IsolateNameServer.lookupPortByName('downloader_send_port')!; + send.send([id, status, progress]); + } + + @override + void dispose() { + IsolateNameServer.removePortNameMapping('downloader_send_port'); + super.dispose(); + } + @override Widget build(BuildContext context) { return GestureDetector( From e0ccb40c5b5b60dec8942cdee2118fa3181616cb Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Sun, 26 Dec 2021 16:03:50 +0530 Subject: [PATCH 34/36] remove download button from focus menus --- .../focussedMenu/focusedMenuDetails.dart | 70 +++++++++---------- .../searchFocusedMenuDetails.dart | 18 ++--- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart index 7094cada..495dc233 100644 --- a/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/focusedMenuDetails.dart @@ -2259,41 +2259,41 @@ class _FocusedMenuDetailsState extends State { trash: false, ), ), - Positioned( - top: topOffset! + fabWallTopOffset, - left: leftOffset! + fabWallLeftOffset, - child: DownloadButton( - link: widget.provider == "WallHaven" - ? WData.walls[widget.index].path.toString() - : widget.provider == "Prism" - ? Data.subPrismWalls![widget.index]["wallpaper_url"] - .toString() - : widget.provider == "ProfileWall" - ? Provider.of(context, - listen: false) - .profileWalls![widget.index]["wallpaper_url"] - .toString() - : widget.provider == "UserProfileWall" - ? Provider.of( - context) - .userProfileWalls![widget.index] - .data()["wallpaper_url"] - .toString() - : widget.provider == "Pexels" - ? PData - .wallsP[widget.index].src!["original"] - .toString() - : widget.provider == "Liked" - ? Provider.of( - context, - listen: false) - .liked![widget.index]["url"] - .toString() - : PData.wallsC[widget.index] - .src!["original"] - .toString(), - ), - ), + // Positioned( + // top: topOffset! + fabWallTopOffset, + // left: leftOffset! + fabWallLeftOffset, + // child: DownloadButton( + // link: widget.provider == "WallHaven" + // ? WData.walls[widget.index].path.toString() + // : widget.provider == "Prism" + // ? Data.subPrismWalls![widget.index]["wallpaper_url"] + // .toString() + // : widget.provider == "ProfileWall" + // ? Provider.of(context, + // listen: false) + // .profileWalls![widget.index]["wallpaper_url"] + // .toString() + // : widget.provider == "UserProfileWall" + // ? Provider.of( + // context) + // .userProfileWalls![widget.index] + // .data()["wallpaper_url"] + // .toString() + // : widget.provider == "Pexels" + // ? PData + // .wallsP[widget.index].src!["original"] + // .toString() + // : widget.provider == "Liked" + // ? Provider.of( + // context, + // listen: false) + // .liked![widget.index]["url"] + // .toString() + // : PData.wallsC[widget.index] + // .src!["original"] + // .toString(), + // ), + // ), ], ), ); diff --git a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart index d9cf0c11..f3f76ee6 100644 --- a/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart +++ b/lib/ui/widgets/focussedMenu/searchFocusedMenuDetails.dart @@ -473,15 +473,15 @@ class SearchFocusedMenuDetails extends StatelessWidget { trash: false, ), ), - Positioned( - top: topOffset + fabWallTopOffset, - left: leftOffset + fabWallLeftOffset, - child: DownloadButton( - link: selectedProvider == "WallHaven" - ? wdata.wallsS[index].path.toString() - : pdata.wallsPS[index].src!["original"].toString(), - ), - ), + // Positioned( + // top: topOffset + fabWallTopOffset, + // left: leftOffset + fabWallLeftOffset, + // child: DownloadButton( + // link: selectedProvider == "WallHaven" + // ? wdata.wallsS[index].path.toString() + // : pdata.wallsPS[index].src!["original"].toString(), + // ), + // ), ], ), ); From 09d4d1dad66decf922e615d11844c70b39550c4d Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Sun, 26 Dec 2021 16:05:26 +0530 Subject: [PATCH 35/36] update version to v2.7.0+79 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 4f6550a3..3672383f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ publish_to: none # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.7.0+78 +version: 2.7.0+79 environment: sdk: ">=2.12.0 <3.0.0" From 4aa75ddbd9fedc10d824d320cd998511446a135c Mon Sep 17 00:00:00 2001 From: codenameakshay Date: Sun, 26 Dec 2021 16:14:19 +0530 Subject: [PATCH 36/36] change ads not loading impression --- lib/ui/pages/adsNotLoading.dart | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/ui/pages/adsNotLoading.dart b/lib/ui/pages/adsNotLoading.dart index 9904bc6c..d49e5785 100644 --- a/lib/ui/pages/adsNotLoading.dart +++ b/lib/ui/pages/adsNotLoading.dart @@ -30,7 +30,7 @@ class AdsNotLoading extends StatelessWidget { Navigator.pop(context); }), title: Text( - "Ads Error", + "", style: Theme.of(context).textTheme.headline3, ), ), @@ -44,17 +44,26 @@ class AdsNotLoading extends StatelessWidget { const Padding( padding: EdgeInsets.all(8.0), child: - Center(child: Text("🥲", style: TextStyle(fontSize: 80))), + Center(child: Text("😉", style: TextStyle(fontSize: 80))), ), const SizedBox( height: 10, ), Text( - "Unable to load reward ad", + "Wallpaper downloaded", textAlign: TextAlign.center, style: Theme.of(context).textTheme.bodyText2!.copyWith( color: Theme.of(context).accentColor, fontSize: 24), ), + const SizedBox( + height: 6, + ), + Text( + "Unable to load rewarded ad", + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.bodyText2!.copyWith( + color: Theme.of(context).accentColor, fontSize: 16), + ), const SizedBox( height: 10, ), @@ -113,7 +122,7 @@ class AdsNotLoading extends StatelessWidget { Padding( padding: const EdgeInsets.all(8.0), child: Text( - "Please check your network settings and try again. We have although downloaded the wall for you, because we get it, that it's frustating when the ads don't laod.", + "Please check your network settings and try again. We have although downloaded the wall for you, because we get it, that it's frustating when the ads don't load.", textAlign: TextAlign.left, style: Theme.of(context) .textTheme