Merge branch 'master' into redesign

This commit is contained in:
Neeraj Gupta 2022-05-27 20:14:47 +05:30
commit 22b25db0c1
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1
22 changed files with 412 additions and 263 deletions

View file

@ -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

View file

@ -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>

View file

@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) {
}
android {
compileSdkVersion 31
compileSdkVersion 32
sourceSets {
main.java.srcDirs += 'src/main/kotlin'

View file

@ -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>

View file

@ -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'

View file

@ -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

View file

@ -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",

View file

@ -77,5 +77,7 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>

View file

@ -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());
}
}

View file

@ -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;
}

View file

@ -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(

View file

@ -34,7 +34,7 @@ class NotificationService {
AndroidNotificationDetails(
'io.ente.photos',
'ente',
'ente alerts',
channelDescription: 'ente alerts',
importance: Importance.max,
priority: Priority.high,
showWhen: false,

View file

@ -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;
}
});
}
}

View file

@ -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,

View file

@ -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(() {

View file

@ -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"];

View file

@ -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) {

View file

@ -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 {

View file

@ -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;
});

View file

@ -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"

View file

@ -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"

View file

@ -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: