Commit graph

389 commits

Author SHA1 Message Date
laurenspriem 09fadecd7a [mob][photos] Make sure precomputes also use thumbnail for face generation 2024-04-30 17:02:14 +05:30
Vishnu Mohandas 569f7c0c47
[mob][photos] Add support for casting (#1556)
## Description

## Tests
2024-04-30 16:41:05 +05:30
Vishnu Mohandas f00a04710b
Add an option to download multiple items (#1563)
## Description

<img width="373" alt="Screenshot 2024-04-30 at 4 06 33 PM"
src="https://github.com/ente-io/ente/assets/1161789/f4bc463e-654d-4e5f-8d7d-27308149068b">

## Tests

- [x] Tested on Simulator

> Note: If the downloaded item was not owned by the user, but was shared
with them, it will get re-uploaded into the user's own account. This is
the existing behavior, so have left it untouched. Will wait for customer
feedback before updating the implementation to ignore such items.
2024-04-30 16:40:59 +05:30
laurenspriem 10b04c6ad3 [mob][photos] Make sure face in face thumbnail is always centered 2024-04-30 16:31:36 +05:30
Neeraj Gupta e7a5e1be3f Merge branch 'main' into cast 2024-04-30 16:24:28 +05:30
vishnukvmd 99e72a119f Update download icon 2024-04-30 16:13:48 +05:30
vishnukvmd fe5e6c18e8 Provide option to download multiple items 2024-04-30 16:06:03 +05:30
Neeraj Gupta 7e5561e5cd [mob] Use EntePopupMenuItem 2024-04-30 14:59:55 +05:30
Neeraj Gupta b1cbf8526b Merge branch 'mobile_face' of https://github.com/ente-io/auth into mobile_face 2024-04-30 14:48:28 +05:30
Neeraj Gupta 49d5370d47 Merge branch 'ente_popup_menu' into mobile_face 2024-04-30 14:48:12 +05:30
Neeraj Gupta 268c7d8a99 [mob] Use EntePopupMenuItem in gallery_app_bar 2024-04-30 14:42:21 +05:30
Neeraj Gupta ebed315cb0 [mob] Add popup item widget 2024-04-30 14:41:54 +05:30
vishnukvmd ae057da331 Remove redundant code 2024-04-30 14:37:15 +05:30
laurenspriem 8d4f9fe966 [mob][photos] Move code 2024-04-30 14:29:25 +05:30
vishnukvmd 24fc486721 Pull out the code to download a file to gallery 2024-04-30 14:29:12 +05:30
laurenspriem 29b9bee1be [mob][photos] Use thumbnails for generating face crop in suggestions 2024-04-30 14:20:21 +05:30
laurenspriem a80c9dd589 [mob][photos] Rename method 2024-04-30 12:35:05 +05:30
laurenspriem 046a96f586 Merge remote-tracking branch 'origin/mobile_face' into mobile_face 2024-04-30 11:57:03 +05:30
laurenspriem 1cd31d2cab [mob][photos] Only decode image once for face thumbnails in file info 2024-04-30 10:46:16 +05:30
Neeraj Gupta 7d2633190f Merge branch 'mobile_face' of https://github.com/ente-io/auth into mobile_face 2024-04-29 17:18:32 +05:30
Neeraj Gupta 52f605831f Merge branch 'main' into mobile_face 2024-04-29 17:18:16 +05:30
Neeraj Gupta 9e7c82d5b9 [mob][photos] Extract string 2024-04-29 16:59:28 +05:30
Neeraj Gupta 5c645d50f0 [mob][photos] Show custom error on ip mismatch 2024-04-29 16:56:53 +05:30
Neeraj Gupta 7c9160478d [mob][photos] Extract strings 2024-04-29 16:45:43 +05:30
Neeraj Gupta bd07759d8e [mob][photos] Show loading indicator on device tap 2024-04-29 14:05:41 +05:30
Neeraj Gupta b12e6221d4 [mob][photos] Change button type to neutral 2024-04-29 13:46:18 +05:30
Neeraj Gupta 7411125194 [mob][photos] Add support for closing session 2024-04-29 11:20:17 +05:30
Neeraj Gupta 4b97f832b2 [mob][photos] Finish auto-pair integration 2024-04-29 10:23:19 +05:30
Laurens Priem 9eeab36392
[mob][photos] Generate face crops faster (#1542)
## Description

Have written two new methods, `generateImgFaceThumbnails()` and
`generateJpgFaceThumbnails()`.
Using `generateJpgFaceThumbnails()` now since it returns
`Future<List<Uint8List>>` and is easier to integrate within the code
base because the return type remains the same with the older
`generateFaceThumbnailsForImage()`

There is performance improvement with `generateImgFaceThumbnails()`, but
it's not very significant and it requires changes in codebase to work
with it's return type `Future<List<Image>>` (`Image` from the `Image`
package). Can consider using it if it feels necessary in future.

If multiple faces are being generated from the same image, the image can
be decoded once and passed to `generateImgFaceThumbnails()` or
`generateJpgFaceThumbnails()` to avoid repeated decoding of the same
image.

`generateImgFaceThumbnails()` and `generateJpgFaceThumbnails()` uses the
isolates available from the pool of 4 spawned by `Computer` and
processes multiple faces in parallel unlike
`generateImgFaceThumbnails()`, which processes only one at a time.
2024-04-27 12:05:32 +05:30
ashilkn 58cd9350c0 Merge branch 'mobile_face' into fix_face_thumbnail 2024-04-27 11:10:10 +05:30
ashilkn ab5985a08b [mob][photos] Use generated face crops and crop it using the new method 2024-04-27 11:06:54 +05:30
ashilkn 19f2c5f00a [mob][photos] remove negation 2024-04-27 11:02:38 +05:30
laurenspriem 968eaaf5f6 [mob][photos] Better error logging 2024-04-27 09:39:12 +05:30
laurenspriem 2692d0a34f [mob][photos] Fix issue in displaying face thumbnails for videos 2024-04-26 14:50:14 +05:30
laurenspriem 811ffe0117 [mob][photos] Create new cluster when tapping unassigned face 2024-04-26 14:13:00 +05:30
ashilkn a0e9913f43 Revert "[mob] Crop image instead of using scale and translate transforms on OG image in CroppedFaceImageView widget"
This reverts commit b022ef6d1e.
2024-04-26 12:56:12 +05:30
ashilkn b256bb2757 Revert "[mob] perf: Decode images from which face is to be cropped, in an isolate to avoid jank"
This reverts commit 2f7e0cd1ef.
2024-04-26 12:55:29 +05:30
ashilkn 3eebfdd037 Revert "[mob] Two varients of CroppedFaceImageView for testing out which is more performant"
This reverts commit 7617817798.
2024-04-26 12:54:29 +05:30
ashilkn a577611e65 [mob] merge mobile_face to fix_face_thumbnail 2024-04-26 11:32:33 +05:30
Neeraj Gupta dddbb959b5 [mob][photos] Refactor 2024-04-25 17:45:03 +05:30
ashilkn 7617817798 [mob] Two varients of CroppedFaceImageView for testing out which is more performant 2024-04-25 16:58:58 +05:30
laurenspriem f101468a8d [mob][photos] Show faces in file info regardless of blur value 2024-04-25 16:30:00 +05:30
Neeraj Gupta 483cfd1f39 [mob][photos] Lint suggestions 2024-04-25 16:28:30 +05:30
Neeraj Gupta 864f5c1fd4 [mob][photos] Extract strings 2024-04-25 16:25:04 +05:30
laurenspriem f0ebdb211c [mob][photos] Functionality to remove selected images from suggestion 2024-04-25 14:13:58 +05:30
Neeraj Gupta f777bdba1b [mob][photos] Extract strings 2024-04-25 12:44:46 +05:30
ashilkn 2f7e0cd1ef [mob] perf: Decode images from which face is to be cropped, in an isolate to avoid jank 2024-04-25 12:29:29 +05:30
Neeraj Gupta e903fbf9bc [mob][photos] Continue showing pair dialog in case of error 2024-04-25 11:50:02 +05:30
laurenspriem d0420ce477 [mob][photos] Better sorting of faces in file info 2024-04-25 10:03:05 +05:30
ashilkn b022ef6d1e [mob] Crop image instead of using scale and translate transforms on OG image in CroppedFaceImageView widget 2024-04-25 09:35:55 +05:30
laurenspriem 3fbfa8c0e6 [mob][photos] Precompute face thumbnails for suggestions 2024-04-24 18:59:08 +05:30
laurenspriem 07458fb247 [mob][photos] Recompute suggestions on rejected suggestion 2024-04-24 17:15:11 +05:30
laurenspriem 462d1d4854 [mob][photos] Use cosineDistanceSIMD 2024-04-24 16:37:39 +05:30
Neeraj Gupta aced4bb5cf [mob][photos] Update cast selection dialog 2024-04-24 15:22:24 +05:30
Neeraj Gupta 729e2adfd1 [mob] Use separate widget for auto-cast 2024-04-24 13:21:12 +05:30
Neeraj Gupta bed14d8ee9 [mob][photos] Use cast Icon in appbar 2024-04-24 11:38:22 +05:30
vishnukvmd 0b212bf7a6 Move padding within to increase tap-able area 2024-04-24 11:00:18 +05:30
Neeraj Gupta 1251a014b0 [mob][cast] Show choice to auto and manual pair 2024-04-24 10:57:28 +05:30
vishnukvmd 50b6d95ec2 Fix update checker for iOS 2024-04-24 10:54:37 +05:30
Neeraj Gupta bd225ced04 [mob][cast] Return name and castDevice as record 2024-04-23 16:08:16 +05:30
Neeraj Gupta 89646ac469 [mob][cast] Refactor + add multiple cast plugin to gracefully handle fdroid 2024-04-23 15:57:17 +05:30
Neeraj Gupta 8fd330c304 Merge branch 'main' into cast 2024-04-23 14:35:37 +05:30
Neeraj Gupta 73f35c1a0c [mobile] Use passkey flag for showing passkey option 2024-04-23 13:38:55 +05:30
laurenspriem 9e87b4a2cc [mob][photos] Highlight face in cluster 2024-04-23 11:58:39 +05:30
Neeraj Gupta 83075ea367 [mobile] Switch to feature flag plugin 2024-04-23 11:54:24 +05:30
ashilkn 4c25997bb6 [mob] use layoutBuilder in face thumbnail 2024-04-23 11:15:46 +05:30
ashilkn 731610ed94 [mob] Refactor 2024-04-23 08:30:59 +05:30
ashilkn e875eb1389 [mob] Remove unnecessary ShapeDecoration and width constrain 2024-04-23 08:27:47 +05:30
ashilkn 3253a2bf26 [mob] Remove unnecessary LayoutBuilder 2024-04-23 08:26:29 +05:30
ashilkn 8225697e43 Merge branch 'mobile_face' into fix_face_thumbnail 2024-04-23 07:49:59 +05:30
laurenspriem 9cdd4fd713 [mob][photos] Face thumbnail generation from widgets 2024-04-22 17:24:34 +05:30
ashilkn c1587cc5ea [mob] Remove redundant clippling and anti aliasing for performance gain 2024-04-22 11:52:39 +05:30
ashilkn ae046e33b4 [mob] fix: face thumbnails getting cropped on the edges because the image uses BoxFit.cover 2024-04-22 11:45:54 +05:30
laurenspriem 37ab467da5 [mob][photos] Remove blur ranking debug option 2024-04-22 11:35:40 +05:30
Neeraj Gupta da1d778eeb [mob][photos] Add hook to connect to cast device 2024-04-22 10:47:49 +05:30
Neeraj Gupta 1cdca5c9ff [mob][photos] Increase loading iconSize + reduce padding 2024-04-20 17:07:53 +05:30
Neeraj Gupta cc682a0a09 Merge branch 'mobile_face' of https://github.com/ente-io/auth into mobile_face 2024-04-20 16:01:08 +05:30
Neeraj Gupta 864f8444d5 Merge branch 'main' into mobile_face 2024-04-20 15:59:36 +05:30
Neeraj Gupta 5e2c6f84f1 [mob][photos] Use internal flag check 2024-04-20 15:28:22 +05:30
Neeraj Gupta 9a34fdce05 [mob][photos] Enable add to option for shared photos for internal users 2024-04-20 11:30:20 +05:30
laurenspriem 6d3e1325c4 [mob] Update face widget 2024-04-19 16:35:33 +05:30
Neeraj Gupta 02890a100b [mob][photos] Lint fix 2024-04-19 15:56:49 +05:30
Neeraj Gupta f55fd36579 [mob][photos] Fix: Pass copy of EnteFile to avoid modification in original 2024-04-19 15:54:49 +05:30
Neeraj Gupta 08040d9154 [mob][photos] Use loading indicator instead of blocking progress 2024-04-19 15:52:41 +05:30
Neeraj Gupta 564ca77a8b Merge remote-tracking branch 'origin/main' into mobile_save_a_copy 2024-04-19 14:57:19 +05:30
Ashil 937267ed72
[mob] perf: avoid unnecessary frame builds and computations when toggling full fullscreen when viewing a file (#1487) 2024-04-19 14:17:01 +05:30
laurenspriem 2b88daa15f [mob] Method for detecting sideways faces 2024-04-19 14:00:15 +05:30
Neeraj Gupta 7f879aaf57 [mob][photos] Hide incoming file from home screen is saved 2024-04-19 13:34:44 +05:30
laurenspriem a9ca8a4a24 [mob] Better handling of cluster update 2024-04-19 12:19:10 +05:30
laurenspriem ab0a99cf76 [mob] Make sure cluster page is updated after file removal 2024-04-19 11:42:39 +05:30
Neeraj Gupta 7631eb3b12 [mob][photos] Enable fav incoming files 2024-04-19 11:22:47 +05:30
Ashil dac0ddf41c
[mob][photos] Migrate use of WillPopScope to PopScope (#1473)
## Description

[Documentation followed for the
migration](https://docs.flutter.dev/release/breaking-changes/android-predictive-back)

## Tests

- [x] Tested screens in which migration wasn't straight forward
(HomeScreen)
2024-04-19 09:16:42 +05:30
Neeraj Gupta 420cec01d2 [mob][photos] Rename method 2024-04-18 22:30:02 +05:30
laurenspriem f61a5f91b6 [mob] Debug option to get clusters of blur values 2024-04-16 19:22:27 +05:30
Ashil 45942f7931
[mob][photos] Search field fixes (#1464)
## Description

See commits.
2024-04-16 17:49:28 +05:30
Neeraj Gupta f645fff31c [mob][photos] Add hook to show cast devices 2024-04-16 15:38:41 +05:30
laurenspriem b1eb6c11b2 [mob] Show face direction in face widget in debug mode 2024-04-16 15:11:51 +05:30
laurenspriem e3b1cb8014 [mob] Debug log blur values of cluster when opening cluster page 2024-04-16 14:33:13 +05:30
ashilkn 48cbe17ccd [mob] Make the borders of settings drawer not-round 2024-04-15 10:58:35 +05:30
Ashil bb90b2d3bc
[mob][photos] Upgrade flutter (#1434)
## Description

- Update flutter
- Update packages
- Fix UI issues because of update (material 3)
- bump up version to v0.8.80

## Tests

- [x] Building on android and iOS.

---------

Co-authored-by: Neeraj Gupta <254676+ua741@users.noreply.github.com>
2024-04-15 10:21:18 +05:30
laurenspriem 38381f6bb0 [mob] Tiny face widget debug change 2024-04-13 16:02:49 +05:30
laurenspriem 8801dc1a7a [mob] Show clustered percentage in UI 2024-04-13 15:11:12 +05:30
ashilkn 1a8ec9fb4c [mob] minor change to change log 2024-04-13 15:02:43 +05:30
ashilkn 8fa18e1ffe [mob] update change log 2024-04-13 13:37:03 +05:30
laurenspriem 5cf10c9c9b [mob] Rename face clustering service 2024-04-13 13:10:20 +05:30
laurenspriem 5a5cdc8b6b [mob] Slightly faster indexed file count 2024-04-12 18:15:01 +05:30
Neeraj Gupta 2cb08569c9 Switch to older version of share_plus 2024-04-12 16:54:47 +05:30
Neeraj Gupta 5fec61fc1b [mob] Persist setting for disabling remote fetch 2024-04-12 16:20:09 +05:30
laurenspriem 38c0c44331 [mob] Remove GC from debug options 2024-04-12 13:13:20 +05:30
laurenspriem 3860d0a230 [mob] Read face embeddings using sqlite async 2024-04-12 12:57:03 +05:30
laurenspriem 01914ed3ce [mob] Option for indexing without fetching 2024-04-12 11:49:38 +05:30
laurenspriem 90db558498 Merge branch 'update_deps_and_flutter' into mobile_face 2024-04-11 12:39:54 +05:30
Neeraj Gupta b18734f63e Merge branch 'main' into mobile_face 2024-04-11 11:10:54 +05:30
ashilkn a67da8102d fix breaking change 2024-04-10 18:12:42 +05:30
laurenspriem 74f8f7aaf3 [mob] Remove debug option 2024-04-10 17:36:34 +05:30
ashilkn e3bb6a29d0 Resolve merge conflicts and merge main 2024-04-10 16:43:10 +05:30
ashilkn 7759d6dcc9 Call super.initState() first in override of initState() in Gallery Widget 2024-04-10 11:47:54 +05:30
ashilkn af7b533016 Add a delay before gallery loads in 'add photos sheet' to make opening of the bottom sheet jank free 2024-04-10 11:38:30 +05:30
ashilkn b9b623e3f7 fix: query in getAllLocalAndUploadedFiles doesn't work if limit is null 2024-04-10 11:11:39 +05:30
Neeraj Gupta fac087c81b [mob] Fix person entity update 2024-04-10 10:59:27 +05:30
Neeraj Gupta c224e38ddf Merge branch 'main' into mobile_face 2024-04-10 10:15:40 +05:30
Neeraj Gupta 52038b8972 [mob] Sync removed clusters from a person 2024-04-09 15:00:57 +05:30
Neeraj Gupta d43ed15cdf [mob] Add support for syncing multile clusters for a person 2024-04-09 14:48:05 +05:30
Neeraj Gupta 8cb3bf255c [mob] Fix active plan highlight 2024-04-09 12:31:55 +05:30
Neeraj Gupta 7cec46ef3d [mob] Allow manual upload of videos when global video upload is disabled 2024-04-09 09:32:37 +05:30
Neeraj Gupta c6a0af7cbc [mob]Hide file overflow item if no action is available 2024-04-09 09:16:11 +05:30
Neeraj Gupta 67f26a1551 [mob][face] Add debug hook to delete all people to cluster mapping 2024-04-08 07:46:22 +05:30
Neeraj Gupta 2d58558737 [mob] Add support for removing people to cluster mapping 2024-04-08 07:43:08 +05:30
Neeraj Gupta d19d7ffe79 [mob][face] Storage width/height along with area and visibility 2024-04-06 03:49:03 +05:30
Neeraj Gupta add66569dd Merge branch 'main' into mobile_face 2024-04-05 18:24:44 +05:30
Neeraj Gupta bb3a37adf5 [mob] Fetch remote entities before running clustering 2024-04-05 16:04:58 +05:30
Neeraj Gupta 7c6001321f Merge branch 'mobile_face' into mobile_face_feedback_sync 2024-04-05 16:03:32 +05:30
Neeraj Gupta 1996d86835 [mob] Persist remote feedback before running clustering 2024-04-05 15:59:53 +05:30
laurenspriem 0c72fd2a69 [mob] Add more validation for clustering 2024-04-05 15:50:52 +05:30
laurenspriem 0777013b93 [mob] Show face area info in debug mode 2024-04-05 14:34:47 +05:30
laurenspriem 04a33e6f65 [mob] Show face visibility score in debug mode 2024-04-05 14:20:28 +05:30
laurenspriem 78af84450a [mob] Show debug info on blur 2024-04-05 13:45:19 +05:30
Neeraj Gupta 2456c02956 [mob] Remove personEntity dependency from faceDB 2024-04-05 12:52:01 +05:30
Neeraj Gupta 199dad3705 [mob] Make linter happy 2024-04-05 11:59:19 +05:30
laurenspriem ad73496c4d [mob] Minor change 2024-04-05 11:04:05 +05:30
laurenspriem 858ba88c65 [mob] Change share page copy 2024-04-05 10:48:37 +05:30
Neeraj Gupta ef03c6f40a [mob] Remove debug code 2024-04-05 08:09:57 +05:30
Neeraj Gupta be06d45e3a [mob] Fix person custom avatar rendering 2024-04-05 07:21:48 +05:30
Neeraj Gupta 7429791a19 [mob] Persist person update on remote 2024-04-05 07:13:15 +05:30
Neeraj Gupta 3fb323ef29 [mob] Read person info from entity 2024-04-05 00:24:05 +05:30
Neeraj Gupta d8bf0ad2d5 [mob] Persist cluster information during person assignment 2024-04-04 22:04:19 +05:30
laurenspriem b48cb84100 [mob] better cluster analysis visualization 2024-04-04 18:47:30 +05:30
laurenspriem f1fd74b119 [mob] Option to add/remove face to cluster from file info 2024-04-04 18:47:09 +05:30
Neeraj Gupta f5a9679c0e [mob] Rename and add more attr to PersonEntity 2024-04-04 17:27:28 +05:30
laurenspriem 583c09155b [mob] Rename file 2024-04-04 15:40:38 +05:30