Refactored TokenStorage to lazily initialize EncryptedSharedPreferences, improving initialization safety. Removed unused variables and imports from MaskedEmailCard and CreateMaskedEmailScreen. Simplified error display logic in MaskedEmailDetailScreen. Updated MaskedEmailListScreen to use AutoMirrored Logout icon for better RTL support.
- Fix ParameterizedType casting error in release builds
- Add ProGuard rules for Google Tink (security-crypto dependency)
- Add dontwarn rules for Tink optional dependencies
- Bump version to 1.1
- Update README with changelog
Introduces GitHub issue and PR templates, contributing and security documentation. Adds Android 12+ splash screen support, updates theming and status color handling, and improves MaskedEmail card/detail UI with shared transitions and accessibility. Updates dependencies for Compose and Material3, and enhances README with detailed setup and contribution instructions.
Refactored JmapApi to ensure session is initialized before API calls, reducing potential errors. Updated LoginViewModel to remove all whitespace from tokens before login. MaskedEmailDetailViewModel now consistently resets isUpdating flag on data load and error, improving UI state accuracy. Added ProGuard rules to suppress warnings for Google Error Prone annotations.
Enabled onBackInvokedCallback and updated targetApi to 34 in AndroidManifest.xml. Set default value for 'state' to MaskedEmailState.ENABLED in MaskedEmailDto to ensure a default state is always provided.
Expanded .gitignore to exclude Gradle, Android, and IDE files. Added several .idea configuration files and the gradle-wrapper.jar to support project setup and development environment consistency. Updated app/build.gradle.kts and JmapModels.kt for build and API model changes.