* #750 - Convert the SoftLogoutScreen to combine * #750 - Convert the UserSessionFlowCoordinator to Combine * #750 - Convert the AnalyticsPromptScreen to Combine * #750 - Convert the LoginScreen to Combine * #750 - Convert the ServerSelectionScreen to Combine * #750 - Convert the EmojiPickerScreen to Combine * #750 - Convert the HomeScreen to Combine * #750 - Convert the MediaUploadPreviewScreen to Combine * #750 - Convert the OnboardingScreen to Combine * Rename `Onboarding` to `OnboardingScreen` * #750 - Convert the ReportContentScreen to Combine * #750 - Convert the RoomDetailsSscreen to Combine * #750 - Convert the RoomMemberDetailsScreen to Combine * #750 - Convert the RoomMembersListScreen to Combine * #750 - Convert the SessionVerificationScreen to Combine * #750 - Convert the SettingsScreen to Combine * #750 - Convert the AdvancedSettingsScreen to Combine * #750 - Convert the DeveloperOptionsScreen to Combine * Fix the unit tests * Use .sink action and the same cancellables constructor everywhere * Cleanup cancellables when setting up tests
Scripts
Iconizer
Generates all app icon variants from one single .pdf file.
Usage:
sh iconizer.sh ../ElementX/Supporting\ Files/AppIcon.pdf ../ElementX/Supporting\ Files
Localizer
Generates all app localization files and imports them to the project, by downloading strings from element-android and converting them to strings and stringsdict files.
Usage:
./localizer.py
Boot Test Simulator
Boots a desired simulator and makes status bar overrides on that.
Usage:
./bootTestSimulator.py 'iPhone 13 Pro Max'
Create screen templates
New screen flows are currently using the MVVM-Coordinator pattern. Run Tools/Scripts/createScreen.sh to create a new screen and all its required dependencies.
Usage:
./createScreen.sh Folder MyScreenName
After that run xcodegen to regenerate the project.
createScreen.sh script will create:
Folderwithin the/ElementX/Sources/Screens/. Files inside will be namedMyScreenNameXxx.MyScreenNameScreenUITests.swiftwithinUITests/SourcesMyScreenNameViewModelTests.swiftwithinUnitTests/Sources/Unit