Commit graph

1110 commits

Author SHA1 Message Date
Neeraj Gupta 66e144d6bd
Upgrade motion photos package 2023-05-06 14:49:02 +05:30
Neeraj Gupta 64708bc704
l10n: Extract strings 2023-05-05 14:45:07 +05:30
Neeraj Gupta 29232545ce
Fix l10n for dates on fileInfo screen 2023-05-04 16:17:11 +05:30
Neeraj Gupta 334ca55fc1
Fix l10n date for subs renewal 2023-05-04 16:05:47 +05:30
Neeraj Gupta ede2fcafa8
Fix l10n for days widget 2023-05-04 16:00:49 +05:30
Neeraj Gupta f48cf52de8
Extract strings for days 2023-05-04 15:49:47 +05:30
Neeraj Gupta a3e76f9bcb
Create component for day widget 2023-05-04 15:38:13 +05:30
ashilkn 922df0a98a Modify memories widget to adapt to different length of strings as title 2023-05-04 11:51:57 +05:30
Neeraj Gupta ef5d47c584
Fix bug in handling file update 2023-05-03 17:44:59 +05:30
Neeraj Gupta 0a2072452a
Detect motion photos during upload 2023-05-03 13:32:57 +05:30
Neeraj Gupta 12edb7a740
Fix bug: send publicMagicMetadata during upload 2023-05-02 17:31:55 +05:30
Neeraj Gupta 91e835cdfd
Computer: Switch to forked version + enable debuglogs (#1042) 2023-05-01 11:40:42 +05:30
Neeraj Gupta 69ce3dca24
Merge branch 'main' into aspectRatio 2023-04-29 16:59:45 +05:30
Neeraj Gupta b5fe6ede26
Assign taskname for computer tasks 2023-04-29 13:27:18 +05:30
Neeraj Gupta 4745a5a2f3
Initiate shared workers during app init 2023-04-29 12:33:38 +05:30
Neeraj Gupta 453a44cb82
Update computer pkg 2023-04-29 12:28:07 +05:30
ashilkn 9277a83783 Dialog for custom radius with input restrictions 2023-04-25 19:15:10 +05:30
ashilkn d45af08120 Added optional parameters textEditingController and textInputFormatter to showTextInputDialog() 2023-04-25 16:40:22 +05:30
Neeraj Gupta c421f029c0
Migration: Extract location from exif 2023-04-18 20:58:46 +05:30
Neeraj Gupta d83607b574
Location tag fixes (#993) 2023-04-18 14:07:46 +05:30
Neeraj Gupta f888f8ce3c
Handle exception in locationFromExif 2023-04-18 12:38:52 +05:30
ashilkn 85e011c762 Refactoring 2023-04-18 11:57:55 +05:30
ashilkn e178b5aa3f Get location data from exif in getMetadataForUpload() for location metadata 2023-04-17 18:18:05 +05:30
Neeraj Gupta 569905632a
Add null check 2023-04-17 13:19:46 +05:30
Neeraj Gupta 79369a2afd
Fix potential NPE during upload 2023-04-17 13:14:46 +05:30
ashilkn 6c054b0f79 Refactored by not calling getExif() twice and only once 2023-04-17 13:13:03 +05:30
ashilkn 44fcb469a5 Fixed a null pointer error 2023-04-17 12:53:51 +05:30
ashilkn 52c19697bb Added a comment 2023-04-17 10:31:09 +05:30
ashilkn e0ccb2bfb4 get location data for file from exif if everything else fails 2023-04-14 11:11:27 +05:30
Neeraj Gupta 85889d086d
Merge branch 'main' into aspectRatio 2023-04-12 13:44:17 +05:30
Neeraj Gupta 3eca68f21d
AspectRatio: Add ratio for video 2023-04-12 13:30:25 +05:30
Neeraj Gupta 124a4dab4e
Add h/w info during upload 2023-04-12 11:16:52 +05:30
Neeraj Gupta 25aa99c22c
include assets height and width in MediaUploadData 2023-04-11 11:32:47 +05:30
Neeraj Gupta 06c9ead3e2
feat(location_tag): add location tags (#908) 2023-04-11 10:10:50 +05:30
Neeraj Gupta 146c7db6a2
l10n: extract strings 2023-04-07 12:22:23 +05:30
Neeraj Gupta 8aba74397e
l10n: extract strings 2023-04-07 12:18:10 +05:30
Neeraj Gupta 1880c1fe9d
l10n: extract strings 2023-04-07 12:16:18 +05:30
Neeraj Gupta d98550c84e
l10n: extract strings 2023-04-07 12:12:07 +05:30
ashilkn 3de5696b04 Used freezed package in location and locationTag models 2023-04-02 18:17:18 +05:30
ashilkn 47a3221484 Resolved merge conflicts 2023-03-15 14:44:07 +05:30
ashilkn 6cf0889614 Revert "Removed SizedBoxs from listOfWidgets passed to addSeparators() inorder to avoid adding unwanted separators"
This reverts commit 9fe6519efa.
2023-03-15 10:53:03 +05:30
ashilkn 86c96ccb10 Merge branch 'main' into refactor_redesign_file_info 2023-03-14 18:03:26 +05:30
Neeraj Gupta 13fef75647
Update local auth pkg 2023-03-11 08:07:14 +05:30
ashilkn b1916f6605 Moved all button components to a folder 'Buttons' 2023-03-10 13:38:51 +05:30
ashilkn 9fe6519efa Removed SizedBoxs from listOfWidgets passed to addSeparators() inorder to avoid adding unwanted separators 2023-03-09 19:04:23 +05:30
Muhesh7 847eab2dca feat(location_tag): add location tags 2023-03-07 07:43:13 +05:30
vishnukvmd 2d85ee304a Hard-code Argon2id v1.3 as the password hashing algorithm 2023-02-28 13:44:52 +05:30
vishnukvmd bcc1348a7d Document functions exposed by CryptoUtil 2023-02-27 17:56:51 +05:30
vishnukvmd a4396beec4 Add comments about key derivation 2023-02-27 16:28:59 +05:30
vishnukvmd 589281e729 Add comment about key generation 2023-02-27 16:16:02 +05:30
vishnukvmd 0cf7daeba8 Rename variables for clarity 2023-02-27 16:14:27 +05:30
vishnukvmd 0c498be4aa Reformat code 2023-02-27 16:11:24 +05:30
vishnukvmd cdb8fd9881 Merge branch 'main' into refactor_sodium 2023-02-27 11:23:21 +05:30
Neeraj Gupta 8661b4dd45
Route to code_success screen on code applied 2023-02-23 10:08:09 +05:30
Muhesh7 16a82b62d1 feat(file_viewer): implement file view handler 2023-02-22 16:32:56 +05:30
ashilkn e48245b541 Force reload trash page on removing files permanently 2023-02-22 12:52:57 +05:30
Manav 1b30c55c12
Merge pull request #761 from ente-io/connectivity-plus
Migrate from connectivity to connectivity_plus
2023-02-20 19:48:59 +05:30
Neeraj Gupta ffcc309492
Handle error in applying code 2023-02-17 14:37:19 +05:30
Manav f96adbc197 Handle the new enum states 2023-02-17 12:36:19 +05:30
Manav b9619499f5 Migrate from connectivity to connectivity_plus
Both are official Flutter plugins. connectivity has been deprecated, and
connectivity_plus is the replacement:

https://pub.dev/packages/connectivity_plus

Tested on: iOS simulator, by turning WiFi on/off on the laptop
2023-02-17 12:33:43 +05:30
Neeraj Gupta 8e9eebe2b4
Referral: integrate the APIs 2023-02-15 22:17:40 +05:30
vishnukvmd d3005be29f Merge branch 'main' into refactor_sodium 2023-02-14 11:21:19 +05:30
ashilkn 508fd909f5 Password input can be made visible or not in the TextInputWidget 2023-02-13 16:09:24 +05:30
ashilkn 0aa5cfd3cf Bug fix: TextInputDialog not getting dismissed 2023-02-12 13:24:04 +05:30
ashilkn 7e120c04f6 Merge branch 'main' into return_exception_with_buttonAction 2023-02-10 12:58:13 +05:30
ashilkn 6d3a637922 Modified dialogs and uses of them to work with ButtonWidget 2023-02-10 12:52:16 +05:30
Vishnu Mohandas 3ea4574b8c
Merge pull request #852 from ente-io/objects 2023-02-09 19:00:15 +05:30
ashilkn 112b80db8a Resolved merge conflicts 2023-02-09 18:59:43 +05:30
ashilkn dd49b7913d Modified uses of ActionSheets to work with ButtonWidget 2023-02-09 18:48:01 +05:30
ashilkn ef79387b9d Always show success state on renaming album & file 2023-02-09 10:26:06 +05:30
ashilkn 4c430a6253 Show new error dialog on failing rename file 2023-02-09 06:51:00 +05:30
ashilkn bcadb168cb Now for dialogs using TextInputWidget, the dialog will return an exception when popped when one is thrown from TextInputWidget 2023-02-09 06:25:44 +05:30
vishnukvmd fb0042ae03 Resolve object tags for local files as well 2023-02-08 22:51:57 +05:30
ashilkn 9a63900f46 Used new TextInputDialog for naming an album on creating one 2023-02-08 18:41:04 +05:30
ashilkn d9b28b43b2 Moved commonly used user defined function types to a file 2023-02-08 17:57:36 +05:30
ashilkn 9691bf9b66 Capitalize file ext + sumbit on 'done' in keyboard 2023-02-08 17:22:42 +05:30
ashilkn ee834ac244 Merge branch 'main' into text_input_dialog 2023-02-08 12:31:39 +05:30
ashilkn 5208ff3e13 Moved execution of onSubmit from ButtonWidget associated with TextInputWidget to within TextInputWidget 2023-02-08 11:13:46 +05:30
ashilkn b5c0ee7ce6 Minor changes 2023-02-07 17:59:43 +05:30
ashilkn e4d4e1d3d7 Rename file: Removed old progress dialogs 2023-02-07 16:46:13 +05:30
ashilkn de553ddee8 Fix: Move TextInputDialog up when keyboard is visible 2023-02-07 16:07:23 +05:30
ashilkn 8602a68a1d Used new TextInputDialog for renaming a file 2023-02-07 14:39:34 +05:30
ashilkn c32abe66be Made auto focus and max length configurable in TextInputWidget 2023-02-07 14:37:19 +05:30
ashilkn 335c464180 Made alignment of message and initial value of TextInputWidget configurable 2023-02-07 14:01:49 +05:30
Neeraj Gupta f3fe162b22
Fix bug in mapping existingFilesInDifferentCollection 2023-02-07 13:58:39 +05:30
ashilkn 64b479dbf4 Created TextInputWidget and used it in TextInputDialog 2023-02-07 12:40:03 +05:30
ashilkn d5dc0a5858 Made hintText configurable in TextInputDialog 2023-02-07 11:16:49 +05:30
ashilkn da3088eab1 Used new TextInputDialog for renaming album 2023-02-07 10:58:57 +05:30
ashilkn c48108a2da Made a working TextInputDialog 2023-02-07 10:43:22 +05:30
ashilkn ba1d7bf2b0 Made a non functional version of TextInputWidget 2023-02-07 08:44:11 +05:30
Neeraj Gupta ce4942c0db
Log mem and ops limit on failure 2023-02-05 01:38:16 +05:30
Neeraj Gupta 37abdca05d
Fix typo in comparision 2023-02-05 01:36:24 +05:30
Neeraj Gupta 3366264dde
Refactoring: rename 2023-02-03 13:09:04 +05:30
vishnukvmd 80f36d1bd5 Move all calls to Sodium to CryptoUtil 2023-02-03 10:11:45 +05:30
ashilkn 199bd8fd08 minor layout and copy change 2023-01-30 15:18:24 +05:30
ashilkn 02be80dce5 Used action sheet at places 2023-01-28 20:00:29 +05:30
ashilkn 1d9a3636ed Stick to dark theme for buttons in showChoiceAcitonSheet 2023-01-28 19:27:53 +05:30
Neeraj Gupta ad9733b08c
Merge pull request #824 from ente-io/dialog-fixes
Dialog fixes
2023-01-28 04:59:35 +05:30
ashilkn 5f73c8a4e3 Updated copies 2023-01-27 20:38:05 +05:30
ashilkn 5232047d20 Minor change 2023-01-27 18:06:52 +05:30
ashilkn bebcb720cc Resolved merge conflicts 2023-01-27 18:01:59 +05:30
ashilkn 2b1390a83d Renamed 'showNewChoiceDialog' to 'showChoiceDialog' 2023-01-27 17:38:53 +05:30
ashilkn a9db657cb4 Replaced the last old choice dialog 2023-01-27 17:37:33 +05:30
ashilkn 862c836ffa Creating a wrapper around showActionSheet for choiceActionSheets 2023-01-27 15:15:17 +05:30
ashilkn b92e3a21e0 Removed unnecessary loading dialogs on deleting files 2023-01-27 14:49:55 +05:30
ashilkn bb01b369e2 Fixed bug on dismissing the delete from trash dialog on loading/succes state 2023-01-27 14:12:15 +05:30
vishnukvmd e51cf98e09 Clear the cache of upload URLs once the user logs out 2023-01-23 12:22:28 +05:30
vishnukvmd 83ae85b74a Be less verbose 2023-01-17 21:13:04 +05:30
vishnukvmd bb89a1ddf3 Remove listener after fetching image info 2023-01-17 21:09:15 +05:30
Neeraj Gupta 5835176db1
Fix: Avoid redundant fetch for upload urls 2023-01-17 14:02:31 +05:30
Neeraj Gupta 8ebc5e49b5
Handle null values for mem/ops limit in local storage 2023-01-11 10:32:47 +05:30
Neeraj Gupta 9e1184069e
Refactor: rename 2023-01-11 10:09:33 +05:30
ashilkn 621a54eb08 Fix typo 2023-01-10 11:52:25 +05:30
ashilkn 74fc160d24 Replaced 'Empty trash' dialog with the new one 2023-01-09 17:47:16 +05:30
ashilkn df819cc5a1 Replaced 'Delete permanently' dialog with the new one 2023-01-09 17:32:13 +05:30
Neeraj Gupta f8d3b9a919
Merge pull request #787 from ente-io/lint_cleanup
Chore: Lint fixes and formatting changes
2023-01-09 10:51:13 +05:30
Neeraj Gupta bb498bce53
Merge pull request #789 from ente-io/bump_verison_405
Remove title from delete action sheet & bump version 0.7.6
2023-01-08 14:12:43 +05:30
Neeraj Gupta d8ac647fa7
Remove commented out code 2023-01-08 14:11:26 +05:30
Neeraj Gupta 77dfaf0b8a
Remove title from delete aciton sheets 2023-01-08 14:07:53 +05:30
Ashil dac7930a0c
Merge pull request #786 from ente-io/replace-choice-dialogs
Replace choice dialogs
2023-01-08 08:01:44 +05:30
ashilkn 54b8e5bae5 Changed context paramter in showNewChoiceDialog from required named parameter to required positional parameter 2023-01-07 18:46:59 +05:30
Neeraj Gupta ac39b26283
Lint: Remove redundant ignore for null unsafe import 2023-01-07 17:43:42 +05:30
ashilkn fae64a322b Replaced 'Email your logs' dialog with the new one 2023-01-07 17:37:13 +05:30
ashilkn 872fc4afe1 Replaced 'Contact support' dialog with a new 'Report a bug' dialog 2023-01-07 15:11:26 +05:30
Neeraj Gupta 66879dd370
ThumbnailUtil: switch to async methods 2023-01-07 09:23:00 +05:30
Neeraj Gupta a9b9ffc736
Use async variante instead of sync 2023-01-07 09:12:56 +05:30
Neeraj Gupta ac8eb5fdad
Merge pull request #776 from ente-io/bug_fixes
Trash/Restore: Bug fixes
2023-01-06 13:25:27 +05:30
Neeraj Gupta d8b6e76fad
Switch to new delete action sheet 2023-01-06 12:54:00 +05:30
Neeraj Gupta 1d081795eb
Fix: Conditional check for null value 2023-01-06 10:22:19 +05:30
Neeraj Gupta a2256ecfb3
Fix typo in toast util 2023-01-05 14:13:16 +05:30
Neeraj Gupta 72e871c6aa
iOS: Fix short toast duration to 1s 2023-01-04 05:05:19 +05:30
Neeraj Gupta ac7306910b
Fix bug in tracking exiting download request 2022-12-31 22:00:55 +05:30
Neeraj Gupta eba935373a
Fix bug in nullSafety suggestion 2022-12-31 21:58:15 +05:30
Neeraj Gupta bc4e759e01
NullSafety: Fix select files & download 2022-12-30 23:54:25 +05:30
Neeraj Gupta f3d8a13337
Apply lint suggestions 2022-12-30 21:12:03 +05:30
Neeraj Gupta d6ad004354
NullSafety: Apply dart migrate suggestions + compilation fixes 2022-12-30 17:40:17 +05:30
Neeraj Gupta 0e62793b7b
NullSafety: Migrate FileUploader 2022-12-30 16:24:01 +05:30
Neeraj Gupta d66fca39f3
NullSafety: Migrate DeleteFileUtil 2022-12-30 16:12:54 +05:30
Neeraj Gupta c0dd2e85e3
NullSafety: Migrate EmailUtil 2022-12-30 16:07:20 +05:30
Neeraj Gupta 3b8ab6fc39
Merge branch 'migrate_services_2' into 5_migrate_utils 2022-12-30 16:00:30 +05:30
Neeraj Gupta 187796f1f2
Merge branch 'migrate_services' into migrate_services_2 2022-12-30 15:59:59 +05:30
Neeraj Gupta 3549ef2695
Merge branch 'main' into db_and_services 2022-12-30 15:58:25 +05:30
Neeraj Gupta 6fc3038472
NullSafety: Migrate shareUtil 2022-12-30 15:55:45 +05:30
Neeraj Gupta e2c2feab44
NullSafety: Migrate MagicUtil 2022-12-30 14:38:46 +05:30
Neeraj Gupta 588cbbbce1
temp commit 2022-12-30 13:57:18 +05:30
ashilkn 0301f2a797 Moved all dialog util functions to dialog_util.dart 2022-12-30 08:03:03 +05:30
ashilkn 694bc9a0e9 Made dialogBuilder a required parameter for confettiDialogs 2022-12-30 07:21:39 +05:30
ashilkn 59625cba8c Null safety: Migrated dialog_util.dart to null safety 2022-12-30 07:08:58 +05:30
ashilkn 3bfdbaf571 Used better variable names 2022-12-30 06:59:50 +05:30
ashilkn 0f1c81204b Used new dialog for confetti dialog in 'Free up space' and 'Remove duplicates' screens 2022-12-29 19:22:04 +05:30
Neeraj Gupta e4c5185106
NullSafety: Migrate TrashDiffFetcher 2022-12-29 19:10:36 +05:30
Neeraj Gupta de4b3fabd9
NullSafety: Migrate ThumbnailUtil 2022-12-29 19:07:53 +05:30
Neeraj Gupta 3e8b826cf1
NullSafety: Migrate FileUtil 2022-12-29 19:07:08 +05:30
Neeraj Gupta 7912cfcc51
NullSafety: Migrate FileDownloadUtil 2022-12-29 19:06:35 +05:30
ashilkn a07e9a5321 Give padding if mobile is small and center align dialog for confetti dialog 2022-12-29 18:25:02 +05:30
Neeraj Gupta fba161b810
NullSafety: Miragrate diff fetcher 2022-12-29 16:26:42 +05:30
ashilkn b23f8f06fe Replaced errorDialogs with new errorDialogs 2022-12-29 09:59:01 +05:30
ashilkn 7f126810fb Replaced feedback dialog with the new one 2022-12-26 19:14:48 +05:30
ashilkn fe7a1ce556 Merge branch 'main' into replace-dialogs 2022-12-26 16:40:25 +05:30
ashilkn e0fe29bf98 Replaced generic error dialog with new one + some minor changes 2022-12-26 16:39:29 +05:30
Neeraj Gupta 908d86f9e4
Merge pull request #732 from ente-io/shorter_toast
Replace happy case toasts with shortToast
2022-12-26 13:51:12 +05:30
Neeraj Gupta e1a1bbe7c7
Merge pull request #733 from ente-io/fix_abbr
Fix abbreviations for months
2022-12-26 11:16:59 +05:30
Neeraj Gupta cacc1490cd
Fix abbreviations for months 2022-12-26 11:10:27 +05:30
Neeraj Gupta 173a3bcd07
Replace happy case toasts with shortToast 2022-12-26 10:44:36 +05:30
Neeraj Gupta b24dfac783
Merge branch 'main' into create_link 2022-12-23 10:23:50 +05:30
Neeraj Gupta 724c4ce8af
DirectorySize:Use loading indicator for progress 2022-12-23 08:24:27 +05:30
Neeraj Gupta d5e8630bd0
Update logic to create collectionName for links 2022-12-22 17:05:55 +05:30
Neeraj Gupta 48dad9a397
minor refactor 2022-12-22 13:57:12 +05:30
Neeraj Gupta 640b8d32b1
Support for showing in-app storage 2022-12-22 13:45:52 +05:30
Neeraj Gupta 20514e238d
Merge branch 'main' into cache_info 2022-12-22 10:18:06 +05:30
Neeraj Gupta aed55f5770
Merge pull request #695 from ente-io/collaboration_view
Prettify Sharing + Collect Files 
2022-12-19 15:34:56 +05:30
Neeraj Gupta a33792f12e
Change threshold for dismissible dialog 2022-12-19 11:51:37 +05:30
Neeraj Gupta d5f54a692d
Make Preparing dialog dismissible is user has selected more than 2 files 2022-12-19 11:46:59 +05:30
Manav f4aae4947a Change frame => photos-app in README etc 2022-12-15 19:25:36 +05:30
Neeraj Gupta 339d596778
Add helper method to get fileCount & size 2022-12-12 13:46:47 +05:30
ashilkn eb5b1f69a0 Merge branch 'redesign-with-components' into delete-bottom-sheet 2022-12-09 13:34:42 +05:30
ashilkn e244bc1e76 Merge branch 'master' into redesign-with-components 2022-12-09 13:27:18 +05:30
ashilkn e4e4eeb194 rename file 2022-12-09 09:15:06 +05:30
ashilkn 4218fbeccc Made addSeparators method to add separators to a list of widgets 2022-12-08 11:39:14 +05:30
Neeraj Gupta d76659d1d9
Tweak padding to small font 2022-12-08 11:30:33 +05:30
Neeraj Gupta b392b90b8f
minor refactor 2022-12-08 11:05:53 +05:30
Neeraj Gupta ed76ca0b39
Prefer existing creationTime if tileFromFileName is close to existing time 2022-12-08 10:55:32 +05:30
Neeraj Gupta 50e23815a5
Add link to Mastodon, Blog, & Matrix 2022-12-07 12:50:25 +05:30
Neeraj Gupta 817dfc3afa
Change gridTitle padding based on gridSize 2022-12-07 11:55:18 +05:30
Neeraj Gupta 379db6701a
Use small font when photoGridSize > 5 2022-12-07 11:52:48 +05:30
vishnukvmd fcb9924bfe Expand the range of photo grid size 2022-12-07 10:50:41 +05:30
vishnukvmd 8066b2aa2c Album Grid -> Photo Grid 2022-12-07 08:48:41 +05:30
vishnukvmd d9daaeef9f Replace Configuration with LocalSettings 2022-12-07 07:04:50 +05:30
ashilkn ae9954ded2 fix lint error 2022-12-06 18:03:57 +05:30
Neeraj Gupta fe48140b08
Handle error during systemShare 2022-12-06 17:45:23 +05:30
ashilkn 6b5ef752b5 Merge branch 'master' into redesign-with-components 2022-12-06 15:27:27 +05:30
Neeraj Gupta ca1eab1f89
Merge pull request #680 from ente-io/fix_date_time
Fix incorrect date parsing from filename
2022-12-06 14:06:13 +05:30
Neeraj Gupta 39ade36e6b
DateTimeParseing: Avoid potential incorrect parsing results 2022-12-06 13:50:24 +05:30
ashilkn 580a6e42a9 minor changes 2022-12-05 20:50:21 +05:30
ashilkn d2daa0bf21 refactored code 2022-12-05 16:38:21 +05:30
ashilkn 2a686f4372 explicitly downcast as dart versions >= 2.9 doesn't support implicit downcasts 2022-12-01 20:04:03 +05:30
Neeraj Gupta f1c8642a0b
Remove unused method 2022-11-27 11:41:07 +05:30
Neeraj Gupta 2732b399d4
Add option to free up space for a device folder 2022-11-24 16:24:59 +05:30
ashilkn 8cb151b6c5 layout and style changes to 'day/date' in gallery 2022-11-21 14:58:55 +05:30
Neeraj Gupta c6c52455a6
iOS: Clear files from cache on upload success or hard failures 2022-11-18 15:27:21 +05:30