Merge branch 'master' into redesign
This commit is contained in:
commit
22b25db0c1
22 changed files with 412 additions and 263 deletions
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -26,7 +26,7 @@ jobs:
|
|||
- uses: subosito/flutter-action@v1
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version: '2.8.1'
|
||||
flutter-version: '3.0.0'
|
||||
|
||||
# Fetch sub modules
|
||||
- run: git submodule update --init --recursive
|
||||
|
|
|
@ -26,12 +26,15 @@ This repository contains the code for our mobile apps, built with a lot of ❤
|
|||
|
||||
### Android
|
||||
|
||||
This repository's GitHub releases contains APKs, built straight from source. The latest build is available @ [ente.io/apk](https://ente.io/apk). These builds keep themselves updated, without relying on third party stores.
|
||||
This [repository's GitHub releases](https://github.com/ente-io/frame/releases) contains APKs, built straight from source. The latest build is available @ [ente.io/apk](https://ente.io/apk). These builds keep themselves updated, without relying on third party stores.
|
||||
|
||||
You can alternatively install the build from PlayStore.
|
||||
You can alternatively install the build from PlayStore or F-Droid.
|
||||
|
||||
<a href="https://play.google.com/store/apps/details?id=io.ente.photos">
|
||||
<img width="197" alt="Download on Google Play" src="https://user-images.githubusercontent.com/1161789/154795146-e7590d31-7636-4eee-b404-e2dc05fa25b7.png">
|
||||
<img width="197" alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png">
|
||||
</a>
|
||||
<a href="https://f-droid.org/packages/io.ente.photos.fdroid/">
|
||||
<img width="197" alt="Get it on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png">
|
||||
</a>
|
||||
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) {
|
|||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 31
|
||||
compileSdkVersion 32
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.ente.photos">
|
||||
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
|
||||
calls FlutterMain.startInitialization(this); in its onCreate method.
|
||||
In most cases you can leave this as-is, but you if you want to provide
|
||||
additional functionality it is fine to subclass or reimplement
|
||||
FlutterApplication and put your custom class here. -->
|
||||
<application android:name="io.flutter.app.FlutterApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:usesCleartextTraffic="true" android:requestLegacyExternalStorage="true" android:allowBackup="false" android:fullBackupContent="false" android:largeHeap="true">
|
||||
<application android:name="${applicationName}" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:usesCleartextTraffic="true" android:requestLegacyExternalStorage="true" android:allowBackup="false" android:fullBackupContent="false" android:largeHeap="true">
|
||||
|
||||
<activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
|
||||
<intent-filter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Uncomment this line to define a global platform for your project
|
||||
# platform :ios, '9.0'
|
||||
platform :ios, '12.0'
|
||||
|
||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
||||
|
|
181
ios/Podfile.lock
181
ios/Podfile.lock
|
@ -1,49 +1,52 @@
|
|||
PODS:
|
||||
- background_fetch (1.0.1):
|
||||
- background_fetch (1.1.0):
|
||||
- Flutter
|
||||
- better_player (0.0.1):
|
||||
- Cache (~> 6.0.0)
|
||||
- Flutter
|
||||
- KTVHTTPCache (~> 2.0.0)
|
||||
- CocoaAsyncSocket (7.6.5)
|
||||
- GCDWebServer
|
||||
- HLSCachingReverseProxyServer
|
||||
- PINCache
|
||||
- Cache (6.0.0)
|
||||
- connectivity (0.0.1):
|
||||
- Flutter
|
||||
- Reachability
|
||||
- device_info (0.0.1):
|
||||
- Flutter
|
||||
- Firebase/CoreOnly (8.9.0):
|
||||
- FirebaseCore (= 8.9.0)
|
||||
- Firebase/Messaging (8.9.0):
|
||||
- Firebase/CoreOnly (8.15.0):
|
||||
- FirebaseCore (= 8.15.0)
|
||||
- Firebase/Messaging (8.15.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseMessaging (~> 8.9.0)
|
||||
- firebase_core (1.10.0):
|
||||
- Firebase/CoreOnly (= 8.9.0)
|
||||
- FirebaseMessaging (~> 8.15.0)
|
||||
- firebase_core (1.17.1):
|
||||
- Firebase/CoreOnly (= 8.15.0)
|
||||
- Flutter
|
||||
- firebase_messaging (11.1.0):
|
||||
- Firebase/Messaging (= 8.9.0)
|
||||
- firebase_messaging (11.4.1):
|
||||
- Firebase/Messaging (= 8.15.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- FirebaseCore (8.9.0):
|
||||
- FirebaseCore (8.15.0):
|
||||
- FirebaseCoreDiagnostics (~> 8.0)
|
||||
- GoogleUtilities/Environment (~> 7.6)
|
||||
- GoogleUtilities/Logger (~> 7.6)
|
||||
- FirebaseCoreDiagnostics (8.12.0):
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- GoogleUtilities/Logger (~> 7.7)
|
||||
- FirebaseCoreDiagnostics (8.15.0):
|
||||
- GoogleDataTransport (~> 9.1)
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- GoogleUtilities/Logger (~> 7.7)
|
||||
- nanopb (~> 2.30908.0)
|
||||
- FirebaseInstallations (8.12.0):
|
||||
- FirebaseInstallations (8.15.0):
|
||||
- FirebaseCore (~> 8.0)
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- GoogleUtilities/UserDefaults (~> 7.7)
|
||||
- PromisesObjC (< 3.0, >= 1.2)
|
||||
- FirebaseMessaging (8.9.0):
|
||||
- FirebaseMessaging (8.15.0):
|
||||
- FirebaseCore (~> 8.0)
|
||||
- FirebaseInstallations (~> 8.0)
|
||||
- GoogleDataTransport (~> 9.1)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 7.6)
|
||||
- GoogleUtilities/Environment (~> 7.6)
|
||||
- GoogleUtilities/Reachability (~> 7.6)
|
||||
- GoogleUtilities/UserDefaults (~> 7.6)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 7.7)
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- GoogleUtilities/Reachability (~> 7.7)
|
||||
- GoogleUtilities/UserDefaults (~> 7.7)
|
||||
- nanopb (~> 2.30908.0)
|
||||
- fk_user_agent (2.0.0):
|
||||
- Flutter
|
||||
|
@ -70,7 +73,7 @@ PODS:
|
|||
- Flutter
|
||||
- flutter_sodium (0.0.1):
|
||||
- Flutter
|
||||
- fluttercontactpicker (4.4.0):
|
||||
- fluttercontactpicker (4.6.0):
|
||||
- Flutter
|
||||
- fluttertoast (0.0.2):
|
||||
- Flutter
|
||||
|
@ -78,9 +81,12 @@ PODS:
|
|||
- FMDB (2.7.5):
|
||||
- FMDB/standard (= 2.7.5)
|
||||
- FMDB/standard (2.7.5)
|
||||
- GoogleDataTransport (9.1.2):
|
||||
- GoogleUtilities/Environment (~> 7.2)
|
||||
- nanopb (~> 2.30908.0)
|
||||
- GCDWebServer (3.5.4):
|
||||
- GCDWebServer/Core (= 3.5.4)
|
||||
- GCDWebServer/Core (3.5.4)
|
||||
- GoogleDataTransport (9.1.4):
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- nanopb (< 2.30910.0, >= 2.30908.0)
|
||||
- PromisesObjC (< 3.0, >= 1.2)
|
||||
- GoogleUtilities/AppDelegateSwizzler (7.7.0):
|
||||
- GoogleUtilities/Environment
|
||||
|
@ -99,14 +105,13 @@ PODS:
|
|||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/UserDefaults (7.7.0):
|
||||
- GoogleUtilities/Logger
|
||||
- HLSCachingReverseProxyServer (0.1.0):
|
||||
- GCDWebServer (~> 3.5)
|
||||
- PINCache (>= 3.0.1-beta.3)
|
||||
- image_editor (0.0.1):
|
||||
- Flutter
|
||||
- in_app_purchase (0.0.1):
|
||||
- Flutter
|
||||
- KTVCocoaHTTPServer (1.0.0):
|
||||
- CocoaAsyncSocket
|
||||
- KTVHTTPCache (2.0.1):
|
||||
- KTVCocoaHTTPServer
|
||||
- libwebp (1.2.1):
|
||||
- libwebp/demux (= 1.2.1)
|
||||
- libwebp/mux (= 1.2.1)
|
||||
|
@ -118,9 +123,9 @@ PODS:
|
|||
- libwebp/webp (1.2.1)
|
||||
- local_auth (0.0.1):
|
||||
- Flutter
|
||||
- Mantle (2.1.6):
|
||||
- Mantle/extobjc (= 2.1.6)
|
||||
- Mantle/extobjc (2.1.6)
|
||||
- Mantle (2.2.0):
|
||||
- Mantle/extobjc (= 2.2.0)
|
||||
- Mantle/extobjc (2.2.0)
|
||||
- motionphoto (0.0.1):
|
||||
- Flutter
|
||||
- move_to_background (0.0.1):
|
||||
|
@ -135,37 +140,45 @@ PODS:
|
|||
- OrderedSet (5.0.0)
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- path_provider (0.0.1):
|
||||
- path_provider_ios (0.0.1):
|
||||
- Flutter
|
||||
- "permission_handler (5.1.0+2)":
|
||||
- Flutter
|
||||
- photo_manager (1.0.0):
|
||||
- photo_manager (2.0.0):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- PromisesObjC (2.0.0)
|
||||
- PINCache (3.0.3):
|
||||
- PINCache/Arc-exception-safe (= 3.0.3)
|
||||
- PINCache/Core (= 3.0.3)
|
||||
- PINCache/Arc-exception-safe (3.0.3):
|
||||
- PINCache/Core
|
||||
- PINCache/Core (3.0.3):
|
||||
- PINOperation (~> 1.2.1)
|
||||
- PINOperation (1.2.1)
|
||||
- PromisesObjC (2.1.0)
|
||||
- Reachability (3.2)
|
||||
- receive_sharing_intent (0.0.1):
|
||||
- Flutter
|
||||
- SDWebImage (5.12.1):
|
||||
- SDWebImage/Core (= 5.12.1)
|
||||
- SDWebImage/Core (5.12.1)
|
||||
- SDWebImage (5.12.5):
|
||||
- SDWebImage/Core (= 5.12.5)
|
||||
- SDWebImage/Core (5.12.5)
|
||||
- SDWebImageWebPCoder (0.8.4):
|
||||
- libwebp (~> 1.0)
|
||||
- SDWebImage/Core (~> 5.10)
|
||||
- sensors (0.0.1):
|
||||
- Flutter
|
||||
- Sentry (7.1.4):
|
||||
- Sentry/Core (= 7.1.4)
|
||||
- Sentry/Core (7.1.4)
|
||||
- Sentry (7.11.0):
|
||||
- Sentry/Core (= 7.11.0)
|
||||
- Sentry/Core (7.11.0)
|
||||
- sentry_flutter (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- Sentry (~> 7.1.3)
|
||||
- Sentry (~> 7.11.0)
|
||||
- share (0.0.1):
|
||||
- Flutter
|
||||
- share_plus (0.0.1):
|
||||
- Flutter
|
||||
- shared_preferences (0.0.1):
|
||||
- shared_preferences_ios (0.0.1):
|
||||
- Flutter
|
||||
- sqflite (0.0.2):
|
||||
- Flutter
|
||||
|
@ -173,7 +186,7 @@ PODS:
|
|||
- Toast (4.0.0)
|
||||
- uni_links (0.0.1):
|
||||
- Flutter
|
||||
- url_launcher (0.0.1):
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
- video_player (0.0.1):
|
||||
- Flutter
|
||||
|
@ -208,7 +221,7 @@ DEPENDENCIES:
|
|||
- move_to_background (from `.symlinks/plugins/move_to_background/ios`)
|
||||
- open_file (from `.symlinks/plugins/open_file/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- path_provider (from `.symlinks/plugins/path_provider/ios`)
|
||||
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
|
||||
- permission_handler (from `.symlinks/plugins/permission_handler/ios`)
|
||||
- photo_manager (from `.symlinks/plugins/photo_manager/ios`)
|
||||
- receive_sharing_intent (from `.symlinks/plugins/receive_sharing_intent/ios`)
|
||||
|
@ -216,31 +229,33 @@ DEPENDENCIES:
|
|||
- sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`)
|
||||
- share (from `.symlinks/plugins/share/ios`)
|
||||
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
|
||||
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
|
||||
- sqflite (from `.symlinks/plugins/sqflite/ios`)
|
||||
- uni_links (from `.symlinks/plugins/uni_links/ios`)
|
||||
- url_launcher (from `.symlinks/plugins/url_launcher/ios`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
- video_player (from `.symlinks/plugins/video_player/ios`)
|
||||
- video_thumbnail (from `.symlinks/plugins/video_thumbnail/ios`)
|
||||
- wakelock (from `.symlinks/plugins/wakelock/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- CocoaAsyncSocket
|
||||
- Cache
|
||||
- Firebase
|
||||
- FirebaseCore
|
||||
- FirebaseCoreDiagnostics
|
||||
- FirebaseInstallations
|
||||
- FirebaseMessaging
|
||||
- FMDB
|
||||
- GCDWebServer
|
||||
- GoogleDataTransport
|
||||
- GoogleUtilities
|
||||
- KTVCocoaHTTPServer
|
||||
- KTVHTTPCache
|
||||
- HLSCachingReverseProxyServer
|
||||
- libwebp
|
||||
- Mantle
|
||||
- nanopb
|
||||
- OrderedSet
|
||||
- PINCache
|
||||
- PINOperation
|
||||
- PromisesObjC
|
||||
- Reachability
|
||||
- SDWebImage
|
||||
|
@ -297,8 +312,8 @@ EXTERNAL SOURCES:
|
|||
:path: ".symlinks/plugins/open_file/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
path_provider:
|
||||
:path: ".symlinks/plugins/path_provider/ios"
|
||||
path_provider_ios:
|
||||
:path: ".symlinks/plugins/path_provider_ios/ios"
|
||||
permission_handler:
|
||||
:path: ".symlinks/plugins/permission_handler/ios"
|
||||
photo_manager:
|
||||
|
@ -313,14 +328,14 @@ EXTERNAL SOURCES:
|
|||
:path: ".symlinks/plugins/share/ios"
|
||||
share_plus:
|
||||
:path: ".symlinks/plugins/share_plus/ios"
|
||||
shared_preferences:
|
||||
:path: ".symlinks/plugins/shared_preferences/ios"
|
||||
shared_preferences_ios:
|
||||
:path: ".symlinks/plugins/shared_preferences_ios/ios"
|
||||
sqflite:
|
||||
:path: ".symlinks/plugins/sqflite/ios"
|
||||
uni_links:
|
||||
:path: ".symlinks/plugins/uni_links/ios"
|
||||
url_launcher:
|
||||
:path: ".symlinks/plugins/url_launcher/ios"
|
||||
url_launcher_ios:
|
||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||
video_player:
|
||||
:path: ".symlinks/plugins/video_player/ios"
|
||||
video_thumbnail:
|
||||
|
@ -329,18 +344,18 @@ EXTERNAL SOURCES:
|
|||
:path: ".symlinks/plugins/wakelock/ios"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
background_fetch: 2edffc19a5a465c47f073efa35db57f7910738fa
|
||||
better_player: a4383402f457e53720525888c0fc5d337ef6ba11
|
||||
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
||||
background_fetch: 3795af8a49054dc526477cc2f60d2ed41de60587
|
||||
better_player: 2406bfe8175203c7a46fa15f9d778d73b12e1646
|
||||
Cache: 4ca7e00363fca5455f26534e5607634c820ffc2d
|
||||
connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467
|
||||
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
|
||||
Firebase: 13d8d96499e2635428d5bf0ec675df21f95d9a95
|
||||
firebase_core: f770e033e790657b3505f04be4cb24c482912f11
|
||||
firebase_messaging: 0c8d1a1732487db7f332fb65232053e93201e2fb
|
||||
FirebaseCore: 599ee609343eaf4941bd188f85e3aa077ffe325b
|
||||
FirebaseCoreDiagnostics: 3b40dfadef5b90433a60ae01f01e90fe87aa76aa
|
||||
FirebaseInstallations: 25764cf322e77f99449395870a65b2bef88e1545
|
||||
FirebaseMessaging: 82c4a48638f53f7b184f3cc9f6cd2cbe533ab316
|
||||
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
|
||||
firebase_core: 318de541b0e61d3f24262982a3f0b54afe72439b
|
||||
firebase_messaging: 943cfe65e0b3f457240489ce67655e40da1d270c
|
||||
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
|
||||
FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb
|
||||
FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd
|
||||
FirebaseMessaging: 5e5118a2383b3531e730d974680954c679ca0a13
|
||||
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
||||
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
|
||||
flutter_email_sender: 02d7443217d8c41483223627972bfdc09f74276b
|
||||
|
@ -350,46 +365,48 @@ SPEC CHECKSUMS:
|
|||
flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743
|
||||
flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec
|
||||
flutter_sodium: c84426b4de738514b5b66cfdeb8a06634e72fe0b
|
||||
fluttercontactpicker: 36cf7811f583f3c5aec3c53efcbf366b9cdfdf51
|
||||
fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58
|
||||
fluttercontactpicker: d582836dea6b5d489f3d259f35d7817ae82ee5e6
|
||||
fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037
|
||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||
GoogleDataTransport: 629c20a4d363167143f30ea78320d5a7eb8bd940
|
||||
GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4
|
||||
GoogleDataTransport: 5fffe35792f8b96ec8d6775f5eccd83c998d5a3b
|
||||
GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1
|
||||
HLSCachingReverseProxyServer: 59935e1e0244ad7f3375d75b5ef46e8eb26ab181
|
||||
image_editor: c1d038630eedea60d2dee9c14f36aa66c7f9cfab
|
||||
in_app_purchase: 3e2155afa9d03d4fa32d9e62d567885080ce97d6
|
||||
KTVCocoaHTTPServer: df8d7b861e603ff8037e9b2138aca2563a6b768d
|
||||
KTVHTTPCache: 588c3eb16f6bd1e6fde1e230dabfb7bd4e490a4d
|
||||
libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc
|
||||
local_auth: 25938960984c3a7f6e3253e3f8d962fdd16852bd
|
||||
Mantle: 4c0ed6ce47c96eccc4dc3bb071deb3def0e2c3be
|
||||
local_auth: 1740f55d7af0a2e2a8684ce225fe79d8931e808c
|
||||
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
|
||||
motionphoto: d4a432b8c8f22fb3ad966258597c0103c9c5ff16
|
||||
move_to_background: 39a5b79b26d577b0372cbe8a8c55e7aa9fcd3a2d
|
||||
nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96
|
||||
open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d
|
||||
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
|
||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
|
||||
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
|
||||
permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0
|
||||
photo_manager: 84fa94fbeb82e607333ea9a13c43b58e0903a463
|
||||
PromisesObjC: 68159ce6952d93e17b2dfe273b8c40907db5ba58
|
||||
photo_manager: 4f6810b7dfc4feb03b461ac1a70dacf91fba7604
|
||||
PINCache: 7a8fc1a691173d21dbddbf86cd515de6efa55086
|
||||
PINOperation: 00c935935f1e8cf0d1e2d6b542e75b88fc3e5e20
|
||||
PromisesObjC: 99b6f43f9e1044bd87a95a60beff28c2c44ddb72
|
||||
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
|
||||
receive_sharing_intent: c0d87310754e74c0f9542947e7cbdf3a0335a3b1
|
||||
SDWebImage: 4dc3e42d9ec0c1028b960a33ac6b637bb432207b
|
||||
SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
|
||||
SDWebImageWebPCoder: f93010f3f6c031e2f8fb3081ca4ee6966c539815
|
||||
sensors: 84eb7a30e47a649e4172b71d6e81be614c280336
|
||||
Sentry: 1d3eb1a25f8c5333c88dd5603904a6d461cd9fcf
|
||||
sentry_flutter: f20d4f199442900fbdab2b8496f1d2091d8b94d9
|
||||
Sentry: 0c5cd63d714187b4a39c331c1f0eb04ba7868341
|
||||
sentry_flutter: efb3df2c203cd03aad255892a8d628a458656d14
|
||||
share: 0b2c3e82132f5888bccca3351c504d0003b3b410
|
||||
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
||||
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
|
||||
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
|
||||
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
|
||||
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
|
||||
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
|
||||
url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
|
||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
||||
video_player: ecd305f42e9044793efd34846e1ce64c31ea6fcb
|
||||
video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1
|
||||
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
|
||||
|
||||
PODFILE CHECKSUM: 58fb802948678e2071d210cfc8aab09d85c8341b
|
||||
PODFILE CHECKSUM: 44d44a69efc5f474c5f17ed621cb4a9375ab0d86
|
||||
|
||||
COCOAPODS: 1.11.3
|
||||
|
|
|
@ -256,18 +256,20 @@
|
|||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
||||
"${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Cache/Cache.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/KTVCocoaHTTPServer/KTVCocoaHTTPServer.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/KTVHTTPCache/KTVHTTPCache.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/HLSCachingReverseProxyServer/HLSCachingReverseProxyServer.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/OrderedSet/OrderedSet.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/PINCache/PINCache.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/PINOperation/PINOperation.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
|
||||
|
@ -297,35 +299,37 @@
|
|||
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/open_file/open_file.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/path_provider_ios/path_provider_ios.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/photo_manager/photo_manager.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/receive_sharing_intent/receive_sharing_intent.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/sensors/sensors.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/sentry_flutter/sentry_flutter.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/share/share.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/shared_preferences_ios/shared_preferences_ios.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/uni_links/uni_links.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/url_launcher/url_launcher.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/video_player/video_player.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/video_thumbnail/video_thumbnail.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/wakelock/wakelock.framework",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaAsyncSocket.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cache.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreDiagnostics.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KTVCocoaHTTPServer.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KTVHTTPCache.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HLSCachingReverseProxyServer.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OrderedSet.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINCache.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINOperation.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
|
||||
|
@ -355,17 +359,17 @@
|
|||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/open_file.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_ios.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/photo_manager.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/receive_sharing_intent.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sensors.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sentry_flutter.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_ios.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/uni_links.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_player.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_thumbnail.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock.framework",
|
||||
|
|
|
@ -77,5 +77,7 @@
|
|||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
7
lib/core/cache/thumbnail_cache.dart
vendored
7
lib/core/cache/thumbnail_cache.dart
vendored
|
@ -24,4 +24,11 @@ class ThumbnailLruCache {
|
|||
(size != null ? size.toString() : kThumbnailLargeSize.toString()),
|
||||
imageData);
|
||||
}
|
||||
|
||||
static void clearCache(File file) {
|
||||
_map.remove(
|
||||
file.generatedID.toString() + "_" + kThumbnailLargeSize.toString());
|
||||
_map.remove(
|
||||
file.generatedID.toString() + "_" + kThumbnailSmallSize.toString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ class File {
|
|||
}
|
||||
}
|
||||
file.modificationTime = asset.modifiedDateTime.microsecondsSinceEpoch;
|
||||
file.fileSubType = asset.subTypes;
|
||||
file.fileSubType = asset.subtype;
|
||||
file.metadataVersion = kCurrentMetadataVersion;
|
||||
return file;
|
||||
}
|
||||
|
@ -94,9 +94,9 @@ class File {
|
|||
type = FileType.image;
|
||||
// PHAssetMediaSubtype.photoLive.rawValue is 8
|
||||
// This hack should go away once photos_manager support livePhotos
|
||||
if (asset.subTypes != null &&
|
||||
asset.subTypes > -1 &&
|
||||
(asset.subTypes & 8) != 0) {
|
||||
if (asset.subtype != null &&
|
||||
asset.subtype > -1 &&
|
||||
(asset.subtype & 8) != 0) {
|
||||
type = FileType.livePhoto;
|
||||
}
|
||||
break;
|
||||
|
@ -142,7 +142,7 @@ class File {
|
|||
final asset = await getAsset();
|
||||
// asset can be null for files shared to app
|
||||
if (asset != null) {
|
||||
fileSubType = asset.subTypes;
|
||||
fileSubType = asset.subtype;
|
||||
if (fileType == FileType.video) {
|
||||
duration = asset.duration;
|
||||
}
|
||||
|
|
|
@ -232,7 +232,8 @@ class LocalSyncService {
|
|||
updatedFiles
|
||||
.removeWhere((file) => downloadedFileIDs.contains(file.localID));
|
||||
if (updatedFiles.isNotEmpty) {
|
||||
_logger.info(updatedFiles.length.toString() + " local files were updated.");
|
||||
_logger.info(
|
||||
updatedFiles.length.toString() + " local files were updated.");
|
||||
}
|
||||
for (final file in updatedFiles) {
|
||||
await _db.updateUploadedFile(
|
||||
|
|
|
@ -34,7 +34,7 @@ class NotificationService {
|
|||
AndroidNotificationDetails(
|
||||
'io.ente.photos',
|
||||
'ente',
|
||||
'ente alerts',
|
||||
channelDescription: 'ente alerts',
|
||||
importance: Importance.max,
|
||||
priority: Priority.high,
|
||||
showWhen: false,
|
||||
|
|
|
@ -465,5 +465,16 @@ class RemoteSyncService {
|
|||
return -1;
|
||||
}
|
||||
});
|
||||
// move updated files towards the end
|
||||
file.sort((first, second) {
|
||||
if (first.updationTime == second.updationTime) {
|
||||
return 0;
|
||||
}
|
||||
if (first.updationTime == -1) {
|
||||
return 1;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,9 +77,16 @@ class _CreateCollectionPageState extends State<CreateCollectionPage> {
|
|||
child: Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 30, bottom: 12, left: 40, right: 40),
|
||||
child: OutlineButton.icon(
|
||||
padding: EdgeInsets.all(20),
|
||||
icon: Icon(Icons.create_new_folder_outlined),
|
||||
child: OutlinedButton.icon(
|
||||
style: ButtonStyle(
|
||||
padding: MaterialStateProperty.all<EdgeInsets>(
|
||||
EdgeInsets.all(20),
|
||||
),
|
||||
),
|
||||
icon: Icon(
|
||||
Icons.create_new_folder_outlined,
|
||||
color: Theme.of(context).buttonColor,
|
||||
),
|
||||
label: Text(
|
||||
"to a new album",
|
||||
style: Theme.of(context).textTheme.bodyText1,
|
||||
|
|
|
@ -58,9 +58,10 @@ class _SharingDialogState extends State<SharingDialog> {
|
|||
if (!_showEntryField) {
|
||||
children.add(SizedBox(
|
||||
width: 220,
|
||||
child: OutlineButton(
|
||||
child: OutlinedButton(
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
color: Theme.of(context).buttonColor,
|
||||
),
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
|
|
|
@ -7,6 +7,7 @@ import 'package:photos/models/file.dart';
|
|||
|
||||
final _logger = Logger("FileSyncUtil");
|
||||
final ignoreSizeConstraint = SizeConstraint(ignoreSize: true);
|
||||
final assetFetchPageSize = 2000;
|
||||
Future<List<File>> getDeviceFiles(
|
||||
int fromTime, int toTime, Computer computer) async {
|
||||
final pathEntities = await _getGalleryList(fromTime, toTime);
|
||||
|
@ -28,10 +29,12 @@ Future<List<File>> getDeviceFiles(
|
|||
}
|
||||
|
||||
Future<List<LocalAsset>> getAllLocalAssets() async {
|
||||
final filterOptionGroup = FilterOptionGroup(
|
||||
imageOption: FilterOption(sizeConstraint: ignoreSizeConstraint),
|
||||
videoOption: FilterOption(sizeConstraint: ignoreSizeConstraint),
|
||||
createTimeCond: DateTimeCond.def().copyWith(ignore: true));
|
||||
final filterOptionGroup = FilterOptionGroup();
|
||||
filterOptionGroup.setOption(
|
||||
AssetType.image, FilterOption(sizeConstraint: ignoreSizeConstraint));
|
||||
filterOptionGroup.setOption(
|
||||
AssetType.video, FilterOption(sizeConstraint: ignoreSizeConstraint));
|
||||
filterOptionGroup.createTimeCond = DateTimeCond.def().copyWith(ignore: true);
|
||||
final assetPaths = await PhotoManager.getAssetPathList(
|
||||
hasAll: true,
|
||||
type: RequestType.common,
|
||||
|
@ -39,7 +42,7 @@ Future<List<LocalAsset>> getAllLocalAssets() async {
|
|||
);
|
||||
final List<LocalAsset> assets = [];
|
||||
for (final assetPath in assetPaths) {
|
||||
for (final asset in await assetPath.assetList) {
|
||||
for (final asset in await _getAllAssetLists(assetPath)) {
|
||||
assets.add(LocalAsset(asset.id, assetPath.name));
|
||||
}
|
||||
}
|
||||
|
@ -131,12 +134,25 @@ Future<List<File>> _computeFiles(AssetPathEntity pathEntity, int fromTime,
|
|||
List<File> files, Computer computer) async {
|
||||
final args = Map<String, dynamic>();
|
||||
args["pathEntity"] = pathEntity;
|
||||
args["assetList"] = await pathEntity.assetList;
|
||||
args["assetList"] = await _getAllAssetLists(pathEntity);
|
||||
args["fromTime"] = fromTime;
|
||||
args["files"] = files;
|
||||
return await computer.compute(_getFiles, param: args);
|
||||
}
|
||||
|
||||
Future<List<AssetEntity>> _getAllAssetLists(AssetPathEntity pathEntity) async {
|
||||
List<AssetEntity> result = [];
|
||||
int currentPage = 0;
|
||||
List<AssetEntity> currentPageResult = [];
|
||||
do {
|
||||
currentPageResult = await pathEntity.getAssetListPaged(
|
||||
page: currentPage, size: assetFetchPageSize);
|
||||
result.addAll(currentPageResult);
|
||||
currentPage = currentPage + 1;
|
||||
} while (currentPageResult.length >= assetFetchPageSize);
|
||||
return result;
|
||||
}
|
||||
|
||||
Future<List<File>> _getFiles(Map<String, dynamic> args) async {
|
||||
final pathEntity = args["pathEntity"];
|
||||
final assetList = args["assetList"];
|
||||
|
|
|
@ -95,9 +95,8 @@ Future<MediaUploadData> _getMediaUploadDataFromAssetFile(ente.File file) async {
|
|||
sourceFile = io.File(livePhotoPath);
|
||||
}
|
||||
|
||||
thumbnailData = await asset.thumbDataWithSize(
|
||||
kThumbnailLargeSize,
|
||||
kThumbnailLargeSize,
|
||||
thumbnailData = await asset.thumbnailDataWithSize(
|
||||
ThumbnailSize(kThumbnailLargeSize, kThumbnailLargeSize),
|
||||
quality: kThumbnailQuality,
|
||||
);
|
||||
if (thumbnailData == null) {
|
||||
|
|
|
@ -11,6 +11,7 @@ import 'package:logging/logging.dart';
|
|||
import 'package:motionphoto/motionphoto.dart';
|
||||
import 'package:path/path.dart';
|
||||
import 'package:photos/core/cache/image_cache.dart';
|
||||
import 'package:photos/core/cache/thumbnail_cache.dart';
|
||||
import 'package:photos/core/cache/video_cache_manager.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import 'package:photos/core/constants.dart';
|
||||
|
@ -134,8 +135,7 @@ Future<io.File> getFileFromServer(
|
|||
return fileDownloadsInProgress[downloadID];
|
||||
}
|
||||
|
||||
Future<bool> isFileCached(ente.File file,
|
||||
{bool liveVideo = false}) async {
|
||||
Future<bool> isFileCached(ente.File file, {bool liveVideo = false}) async {
|
||||
final cacheManager = (file.fileType == FileType.video || liveVideo)
|
||||
? VideoCacheManager.instance
|
||||
: DefaultCacheManager();
|
||||
|
@ -160,7 +160,7 @@ Future<io.File> _getLivePhotoFromServer(ente.File file,
|
|||
return null;
|
||||
}
|
||||
return needLiveVideo ? livePhoto.video : livePhoto.image;
|
||||
} catch (e,s) {
|
||||
} catch (e, s) {
|
||||
_logger.warning("live photo get failed", e, s);
|
||||
livePhotoDownloadsTracker.remove(downloadID);
|
||||
return null;
|
||||
|
@ -226,8 +226,7 @@ Future<_LivePhoto> _downloadLivePhoto(ente.File file,
|
|||
}
|
||||
return _LivePhoto(imageFileCache, videoFileCache);
|
||||
}).catchError((e) {
|
||||
_logger.warning(
|
||||
"failed to download live photos : ${file.tag()}", e);
|
||||
_logger.warning("failed to download live photos : ${file.tag()}", e);
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
|
@ -298,6 +297,7 @@ Future<void> clearCache(ente.File file) async {
|
|||
if (cachedThumbnail.existsSync()) {
|
||||
await cachedThumbnail.delete();
|
||||
}
|
||||
ThumbnailLruCache.clearCache(file);
|
||||
}
|
||||
|
||||
class _LivePhoto {
|
||||
|
|
|
@ -6,6 +6,7 @@ import 'dart:typed_data';
|
|||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter_sodium/flutter_sodium.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:photo_manager/photo_manager.dart';
|
||||
import 'package:photos/core/cache/thumbnail_cache.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import 'package:photos/core/constants.dart';
|
||||
|
@ -82,7 +83,9 @@ Future<Uint8List> getThumbnailFromLocal(File file,
|
|||
if (asset == null || !(await asset.exists)) {
|
||||
return null;
|
||||
}
|
||||
return asset.thumbDataWithSize(size, size, quality: quality).then((data) {
|
||||
return asset
|
||||
.thumbnailDataWithSize(ThumbnailSize(size, size), quality: quality)
|
||||
.then((data) {
|
||||
ThumbnailLruCache.put(file, data, size);
|
||||
return data;
|
||||
});
|
||||
|
|
324
pubspec.lock
324
pubspec.lock
|
@ -7,28 +7,30 @@ packages:
|
|||
name: adaptive_theme
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.3.0"
|
||||
version: "2.3.1"
|
||||
alice:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: alice
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.4"
|
||||
path: "."
|
||||
ref: HEAD
|
||||
resolved-ref: "42c97aebbea93d1944a199b453b41bbed1f3013a"
|
||||
url: "https://github.com/jhomlala/alice.git"
|
||||
source: git
|
||||
version: "0.2.5"
|
||||
animate_do:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: animate_do
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.0"
|
||||
archive:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: archive
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
version: "3.3.0"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -49,14 +51,14 @@ packages:
|
|||
name: background_fetch
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.1.0"
|
||||
better_player:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: better_player
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.0.73"
|
||||
version: "0.0.81"
|
||||
bip39:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -77,7 +79,21 @@ packages:
|
|||
name: cached_network_image
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.2.1"
|
||||
cached_network_image_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cached_network_image_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
cached_network_image_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cached_network_image_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -105,7 +121,7 @@ packages:
|
|||
name: chopper
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.1"
|
||||
version: "4.0.5"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -119,7 +135,7 @@ packages:
|
|||
name: collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.15.0"
|
||||
version: "1.16.0"
|
||||
computer:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -147,14 +163,14 @@ packages:
|
|||
name: connectivity_for_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.0"
|
||||
version: "0.4.0+1"
|
||||
connectivity_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: connectivity_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.0"
|
||||
version: "0.2.1+2"
|
||||
connectivity_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -168,14 +184,14 @@ packages:
|
|||
name: contact_picker_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.4.0"
|
||||
version: "4.7.0"
|
||||
contact_picker_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: contact_picker_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.4.0"
|
||||
version: "4.7.0"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -189,28 +205,35 @@ packages:
|
|||
name: crypto
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.0.2"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: csslib
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.17.1"
|
||||
version: "0.17.2"
|
||||
cupertino_icons:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: cupertino_icons
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.3"
|
||||
version: "1.0.4"
|
||||
dbus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dbus
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.7.3"
|
||||
device_info:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: device_info
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.3"
|
||||
device_info_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -224,14 +247,14 @@ packages:
|
|||
name: dio
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
version: "4.0.6"
|
||||
dots_indicator:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: dots_indicator
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.0"
|
||||
dotted_border:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -259,7 +282,7 @@ packages:
|
|||
name: exif
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.1.1"
|
||||
expandable:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -280,21 +303,21 @@ packages:
|
|||
name: extended_image
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
version: "6.2.1"
|
||||
extended_image_library:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: extended_image_library
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
version: "3.3.0"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fake_async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.3.0"
|
||||
fast_base58:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -308,63 +331,63 @@ packages:
|
|||
name: ffi
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.1"
|
||||
version: "1.2.1"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.1"
|
||||
version: "6.1.2"
|
||||
firebase_core:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
version: "1.17.1"
|
||||
firebase_core_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_core_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.1.0"
|
||||
version: "4.4.0"
|
||||
firebase_core_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_core_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.6.4"
|
||||
firebase_messaging:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_messaging
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "11.1.0"
|
||||
version: "11.4.1"
|
||||
firebase_messaging_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_messaging_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.9"
|
||||
version: "3.5.1"
|
||||
firebase_messaging_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_messaging_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
version: "2.4.1"
|
||||
fk_user_agent:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: fk_user_agent
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.1.0"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
|
@ -376,7 +399,7 @@ packages:
|
|||
name: flutter_blurhash
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
version: "0.7.0"
|
||||
flutter_cache_manager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -397,7 +420,7 @@ packages:
|
|||
name: flutter_easyloading
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.5"
|
||||
flutter_email_sender:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -418,14 +441,14 @@ packages:
|
|||
name: flutter_inappwebview
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.3.2"
|
||||
version: "5.4.3+7"
|
||||
flutter_keyboard_visibility:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_keyboard_visibility
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.0.3"
|
||||
version: "5.2.0"
|
||||
flutter_keyboard_visibility_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -453,14 +476,21 @@ packages:
|
|||
name: flutter_local_notifications
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.2.0"
|
||||
version: "9.5.3+1"
|
||||
flutter_local_notifications_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_local_notifications_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.2"
|
||||
flutter_local_notifications_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_local_notifications_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.1"
|
||||
version: "5.0.0"
|
||||
flutter_localizations:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
|
@ -486,14 +516,14 @@ packages:
|
|||
name: flutter_plugin_android_lifecycle
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.6"
|
||||
flutter_secure_storage:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_secure_storage
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.2.0"
|
||||
version: "4.2.1"
|
||||
flutter_sodium:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -507,7 +537,7 @@ packages:
|
|||
name: flutter_spinkit
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.0.0"
|
||||
version: "5.1.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
|
@ -519,7 +549,7 @@ packages:
|
|||
name: flutter_typeahead
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.2.1"
|
||||
version: "4.0.0"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
|
@ -531,7 +561,7 @@ packages:
|
|||
name: flutter_widget_from_html_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.2"
|
||||
version: "0.8.5+3"
|
||||
flutter_windowmanager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -545,21 +575,28 @@ packages:
|
|||
name: fluttercontactpicker
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.4.0"
|
||||
version: "4.7.0"
|
||||
fluttertoast:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: fluttertoast
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.0.7"
|
||||
version: "8.0.9"
|
||||
fwfh_text_style:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fwfh_text_style
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.7.3+2"
|
||||
google_nav_bar:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: google_nav_bar
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.0.5"
|
||||
version: "5.0.6"
|
||||
hex:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -580,7 +617,7 @@ packages:
|
|||
name: http
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.13.3"
|
||||
version: "0.13.4"
|
||||
http_client_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -594,28 +631,28 @@ packages:
|
|||
name: http_parser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
version: "4.0.1"
|
||||
image:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
version: "3.1.3"
|
||||
image_editor:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image_editor
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
implicitly_animated_reorderable_list:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: implicitly_animated_reorderable_list
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.0"
|
||||
version: "0.4.2"
|
||||
in_app_purchase:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -636,21 +673,21 @@ packages:
|
|||
name: js
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.3"
|
||||
version: "0.6.4"
|
||||
json_annotation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: json_annotation
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.1.0"
|
||||
version: "4.5.0"
|
||||
like_button:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: like_button
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.4"
|
||||
lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
|
@ -671,21 +708,21 @@ packages:
|
|||
name: local_auth
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.6"
|
||||
version: "1.1.11"
|
||||
logging:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: logging
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
lottie:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: lottie
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.2"
|
||||
version: "1.3.0"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -693,6 +730,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.11"
|
||||
material_color_utilities:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: material_color_utilities
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.4"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -706,7 +750,7 @@ packages:
|
|||
name: mime
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.0.2"
|
||||
motionphoto:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -736,7 +780,7 @@ packages:
|
|||
name: octo_image
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0+1"
|
||||
version: "1.0.2"
|
||||
open_file:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -750,21 +794,21 @@ packages:
|
|||
name: package_info_plus
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.4.2"
|
||||
package_info_plus_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.3"
|
||||
version: "1.0.5"
|
||||
package_info_plus_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.3.0"
|
||||
package_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -778,28 +822,28 @@ packages:
|
|||
name: package_info_plus_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
version: "1.0.5"
|
||||
package_info_plus_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
version: "1.0.5"
|
||||
page_transition:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: page_transition
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.5"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.0"
|
||||
version: "1.8.1"
|
||||
path_drawing:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -820,35 +864,49 @@ packages:
|
|||
name: path_provider
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.10"
|
||||
path_provider_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.14"
|
||||
path_provider_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.9"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.6"
|
||||
path_provider_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.6"
|
||||
path_provider_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.4"
|
||||
path_provider_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.6"
|
||||
pedantic:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -862,7 +920,7 @@ packages:
|
|||
name: permission_handler
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.2.2"
|
||||
version: "8.3.0"
|
||||
permission_handler_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -876,16 +934,14 @@ packages:
|
|||
name: petitparser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.3.0"
|
||||
version: "5.0.0"
|
||||
photo_manager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: HEAD
|
||||
resolved-ref: "474fe1df8504307f98a8390032693203f2f47997"
|
||||
url: "https://github.com/ente-io/flutter_photo_manager.git"
|
||||
source: git
|
||||
version: "1.3.6"
|
||||
name: photo_manager
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
photo_view:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -906,42 +962,42 @@ packages:
|
|||
name: platform
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.1.0"
|
||||
plugin_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: plugin_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.2"
|
||||
pointycastle:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pointycastle
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.4.0"
|
||||
version: "3.6.0"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: process
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.2.1"
|
||||
version: "4.2.4"
|
||||
provider:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: provider
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
version: "6.0.3"
|
||||
quiver:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: quiver
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.1.0"
|
||||
receive_sharing_intent:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -955,14 +1011,14 @@ packages:
|
|||
name: rxdart
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.27.2"
|
||||
version: "0.27.3"
|
||||
scrollable_positioned_list:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: scrollable_positioned_list
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.2"
|
||||
version: "0.2.3"
|
||||
sensors:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -976,14 +1032,14 @@ packages:
|
|||
name: sentry
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.1.0"
|
||||
version: "6.5.1"
|
||||
sentry_flutter:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sentry_flutter
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.1.0"
|
||||
version: "6.5.1"
|
||||
share:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1039,21 +1095,35 @@ packages:
|
|||
name: shared_preferences
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.6"
|
||||
version: "2.0.15"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.12"
|
||||
shared_preferences_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.1"
|
||||
shared_preferences_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.4"
|
||||
shared_preferences_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1067,14 +1137,14 @@ packages:
|
|||
name: shared_preferences_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.4"
|
||||
shared_preferences_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.1"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
|
@ -1086,7 +1156,7 @@ packages:
|
|||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.1"
|
||||
version: "1.8.2"
|
||||
sprintf:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1100,14 +1170,14 @@ packages:
|
|||
name: sqflite
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0+3"
|
||||
version: "2.0.2+1"
|
||||
sqflite_common:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sqflite_common
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0+2"
|
||||
version: "2.2.1+1"
|
||||
sqflite_migration:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1156,21 +1226,21 @@ packages:
|
|||
name: syncfusion_flutter_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "19.2.49"
|
||||
version: "19.4.56"
|
||||
syncfusion_flutter_sliders:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: syncfusion_flutter_sliders
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "19.2.49"
|
||||
version: "19.4.56"
|
||||
synchronized:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: synchronized
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.0+2"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1184,7 +1254,7 @@ packages:
|
|||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.3"
|
||||
version: "0.4.9"
|
||||
timezone:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1205,7 +1275,7 @@ packages:
|
|||
name: typed_data
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.3.1"
|
||||
uni_links:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1240,56 +1310,70 @@ packages:
|
|||
name: url_launcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.4"
|
||||
version: "6.1.2"
|
||||
url_launcher_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.17"
|
||||
url_launcher_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.17"
|
||||
url_launcher_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "3.0.1"
|
||||
url_launcher_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "3.0.1"
|
||||
url_launcher_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.0.5"
|
||||
url_launcher_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.11"
|
||||
url_launcher_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "3.0.1"
|
||||
uuid:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: uuid
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.4"
|
||||
version: "3.0.6"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
version: "2.1.2"
|
||||
video_player:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1317,7 +1401,7 @@ packages:
|
|||
name: video_thumbnail
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.3"
|
||||
version: "0.4.6"
|
||||
visibility_detector:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1373,28 +1457,28 @@ packages:
|
|||
name: win32
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.6.1"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xdg_directories
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.0"
|
||||
version: "0.2.0+1"
|
||||
xml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.3.0"
|
||||
version: "5.4.1"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: yaml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
version: "3.1.1"
|
||||
sdks:
|
||||
dart: ">=2.14.0 <3.0.0"
|
||||
flutter: ">=2.8.0"
|
||||
dart: ">=2.17.0 <3.0.0"
|
||||
flutter: ">=3.0.0"
|
||||
|
|
19
pubspec.yaml
19
pubspec.yaml
|
@ -11,14 +11,15 @@ description: ente photos application
|
|||
# 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: 0.5.21+301
|
||||
version: 0.5.25+305
|
||||
|
||||
environment:
|
||||
sdk: ">=2.10.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
alice: ^0.2.4
|
||||
adaptive_theme: ^2.3.0
|
||||
alice:
|
||||
git: "https://github.com/jhomlala/alice.git"
|
||||
animate_do: ^2.0.0
|
||||
archive: ^3.1.2
|
||||
background_fetch: ^1.0.1
|
||||
|
@ -39,7 +40,7 @@ dependencies:
|
|||
exif: ^3.0.0
|
||||
expandable: ^5.0.1
|
||||
expansion_tile_card: ^2.0.0
|
||||
extended_image: ^6.0.1
|
||||
extended_image: ^6.2.1
|
||||
fast_base58: ^0.2.1
|
||||
firebase_core: ^1.10.0
|
||||
firebase_messaging: ^11.1.0
|
||||
|
@ -53,14 +54,14 @@ dependencies:
|
|||
flutter_email_sender: 5.0.2
|
||||
flutter_image_compress: ^1.1.0
|
||||
flutter_inappwebview: ^5.3.2
|
||||
flutter_local_notifications: ^5.0.0+4
|
||||
flutter_local_notifications: ^9.5.3+1
|
||||
flutter_password_strength: ^0.1.6
|
||||
flutter_secure_storage: ^4.2.0
|
||||
flutter_sodium: ^0.2.0
|
||||
flutter_typeahead: ^3.2.0
|
||||
flutter_typeahead: ^4.0.0
|
||||
fk_user_agent: ^2.0.1
|
||||
flutter_windowmanager: ^0.2.0
|
||||
fluttercontactpicker: ^4.4.0
|
||||
fluttercontactpicker: ^4.7.0
|
||||
fluttertoast: ^8.0.6
|
||||
google_nav_bar: ^5.0.5
|
||||
image: ^3.0.2
|
||||
|
@ -81,15 +82,14 @@ dependencies:
|
|||
page_transition: ^2.0.2
|
||||
path_provider: ^2.0.1
|
||||
pedantic: ^1.9.2
|
||||
photo_manager:
|
||||
git: "https://github.com/ente-io/flutter_photo_manager.git"
|
||||
photo_manager: ^2.0.8
|
||||
photo_view: ^0.13.0
|
||||
pinput: ^1.2.2
|
||||
provider: ^6.0.0
|
||||
quiver: ^3.0.1
|
||||
receive_sharing_intent: ^1.4.5
|
||||
scrollable_positioned_list: ^0.2.2
|
||||
sentry: ^5.0.0
|
||||
sentry: ^6.5.1
|
||||
share_plus: ^4.0.4
|
||||
shared_preferences: ^2.0.5
|
||||
sqflite: ^2.0.0+3
|
||||
|
@ -111,7 +111,6 @@ dependencies:
|
|||
|
||||
dependency_overrides:
|
||||
provider: ^6.0.1 # for chewie 1.2.2 https://github.com/brianegan/chewie/issues/530
|
||||
flutter_local_notifications: ^8.1.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_launcher_icons: "0.9.0"
|
||||
|
|
2
thirdparty/super_logging/pubspec.yaml
vendored
2
thirdparty/super_logging/pubspec.yaml
vendored
|
@ -17,7 +17,7 @@ dependencies:
|
|||
intl: ^0.17.0
|
||||
path: ^1.6.4
|
||||
path_provider: ^2.0.1
|
||||
sentry_flutter: ^5.1.0
|
||||
sentry_flutter: ^6.5.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
Loading…
Reference in a new issue