* Centralising username access
* Centralising username logic
* Removing ContactUtil
* Cleaning up shortString
* Removed address.serialize as toString is the same thing, couple of methods converted to expression-bodied format & added a mock for username-utils to the ConversationViewModelTest class
---------
Co-authored-by: ThomasSession <thomas.r@getsession.org>
Co-authored-by: alansley <aclansley@gmail.com>
* Centralising username access
* Centralising username logic
* Removing ContactUtil
* Cleaning up shortString
* Making sure the name doesn't overflow in a message view
* Using Lazy to avoid dependency cycle
* SES-3303 - proper URL for groups banner
* SES-3301 - fixing display of legacy group control mesasges
* SES-3304 - No admin state dialogs while DEPRECATED
Updated debug menu with confirm dialog when changing deprecation state
* SES-3307 fixing legacy user view
* SES-3308 - not overwritting the last character in group banners
* Initial commit
* Initial attempt at modernising PhassphrasePromptActivity and BiometricSecretProvider
* Commit before refactoring to cache shared content Uri
* External sharing with fingerprint-locked device now working
* Adjust PassphrasePromptActivity to not allow multiple instances if you have one then external share via session
* Cleanup and documentation
* End of day push
* Yeah, now external sharing ONLY works on a Pixel 7a and not most other things - will need to rework this in 2025 =/
* Added forced READ_URI permission to intent - works for external share of links now, but not images at present
* WIP
* Working, now to clean up
* Broke then fixed
* End of day push
* Now working on Pixel 7a also
* Commit before refactor
* Refactor WIP
* Refactored PassphraseRequiredActionBarActivity to ScreenLockActionBarActivity, amongst other things
* Cleanup
* Tiny fix
* Further cleanup
* WIP filename fix
* Fixed GIF saving amongst other things
* Cleanup for PR
* Fixed overlooked drawable ID change
* Cleanup
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* Fix startup crash & successful unlock drawable
* Adjusted fileprovider back to previous name to keep inline with avatar and share logs file providers
* Cleaned up ShareActivity null-checks via lateinits
* Fixed up ScreenLockActivity so we don't get stuck & inform user of system-level biometric lockouts
* Fixed ShareActivity.onCreate to match OG behaviour
* Added filename handling for video files
* All working - commit before cleanup
* Cleaned up
* Addressed PR feedback regarding biometric unlock
* Re-fixed external share filenames following Media class adjustment today
* Cleanup
* Fixed Giphy GIF filenames
* PR cleanup
* PR feedback
* Added comment
* Reverted onBackPressedDispatcher change
* Added voice message filename generation method to FilenameUtils
* Push before refactor
* WIP
* Streamline filename creation
* Cleanup
* Enforce non-null status on extracted filename
* Adjusted Attachments to force filenames & removed reliance on Uri filename extraction
* End of day push
* Added synthesized filename creation for pre-existing voice messages that lack a filename
* Cleanup and refactor mechanism for legacy voice message filename synthesis
* Remove unnecessary call to getFilenameFromUri if we can extract the filename from the attachment
* Added filename synthesis on input from legacy Session Android clients that provide null filenames
* Added some additional mime-types to our incoming 'fromProto' filename generation - should be very comprehensive now
* Leaving logic on the app side
Removed logic from libsession
Sanitising file names before saving them to storage
Made sure we don't displa a date when getting filename from Slide otherwise it'll keep changing
* Cleaned up
* Using the URI's timestamp when possible
---------
Co-authored-by: alansley <aclansley@gmail.com>
Co-authored-by: ThomasSession <thomas.r@getsession.org>