initialize() calls useImmersiveMode() internally, which would override the system ui visibility we manually set, leading to setting effectively being ignored on startup
Also, we can use LibGDX's builting function, which is more future-proof :)
* Drop AndroidTvLauncher - unused
* Additional memory info on Android CrashScreen
* Refactor getModsAndBaseRuleset - reduce clones and put base first
* Add Permanent audiovisual Mods to CrashScreen report
* Add a secret Debug option to intentionally crash Unciv
* Make "Secret" debug OptionsPopup page available on Android w/o physical keyboard
* Add AndroidTvLauncher back in
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Fix font "symbols" not showing
* Move Fonts.kt to sub-package
* Re-sort imports
* Move top-level constants to prepare split
* Split Fonts.kt each existing class to its own file
* Split off FontRulesetIcons
* Linting and comments
* Improve Load game error label readability
* Fix threading on load game screen
* Miscellaneous tweaks
* Compatibility with Mods using trailing dashes on Windows
* Add serialization version to GameInfo
* Add handling of incompatible saves due to a dfiferent save version
* Fix compilation?
* Fix ios compilation
* Refactor: Make it clearer that GameInfo serialization version is only supposed to be incremented when it's guaranteed to cause issues & rename to compatibility version
* Update initial version
* Update initial version
* Fix merge mistake
* Make popups and text fields nicer to interact with on Android
* Refactor: Rename createTextField to UncivTextField.create
* Fix multiplayer save delete text
* added support
* now toggleable in settings
* translation
* added note that it requires restart
* made it enabled by default
* padded buttons to the right if there is a cutout
* checking for cutout instead of android
* reverted button changes
* moved option to advancedTab
* Refactor: Make Popups work on Stages instead of BaseScreens
* Refactor: Change UncivGame.worldScreen and UncivGame.gameInfo to be of nullable type
* Fix "Resume" game loading not fully handling exceptions
* Fix one missed refactoring
* Refactor: remove useless postRunnable
* Handle subclassing of Events properly
Previously, you could only listen to the exact class
* Add relevant parent classes for the multiplayer events
* Refactor: use the old name as the main name in MultiplayerGameNameChanged event
* Add being able to stop listening to events in the EventBus
* Add tests for EventBus
* Refactor: Extract GameList into standalone file
* Refactor: safeUpdateIf to more generic throttle function
* Refactor: Extract multiplayer UI helper functions into separate file
* Refactor: Extract load/download multiplayer game into logic class from UI
* Make loading a multiplayer game automatically update the in-memory game in OnlineMultiplayer
* Refactor: Extract multiplayer settings into separate object
* Add multiplayer status display
* Fix error with multiplayer games not correctly being cleaned up after successful update
* Prevent loadLatestMultiplayerState() while next turn update is running
* Show "Working..." while waiting for next turn calculations instead of "Waiting for [civ]..."
* Fix race condition while updating online game state
* Refactor: change GameSaver from singleton to single instance pattern & move autosave logic info GameSaver
Singleton just doesn't make sense anymore when we have to `init(..)` with different arguments, then we should just make a normal class out of it
* Fix not correctly checking for missing external files dir
* Refactor: use more appropriate library method
* Add logging for external files dir
* Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected
Many thanks to SomeTroglodyte for most of the code and for explanations
* check for internet before starting a mp game to avoid freeze
Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected.
Many thanks to SomeTroglodyte for most of the code and for explanations. A slight modification has been done to the code to catch an error caused by InetAddress
* Revert "Merge remote-tracking branch 'origin/master-noInternet' into master-noInternet"
This reverts commit bd6474b50d, reversing
changes made to f52ad60b51.
* Add crashHandlingThread.
* Replace all uses of `thread` with `crashHandlingThread`.
* Add `postCrashHandlingRunnable`.
* Replace all uses of `Gdx.app.postRunnable` with `postCrashHandlingRunnable`.
* Remove CrashController and CrashReport; Strip down CrashReportSender to CrashReportSysInfo; Fold their functionality into CrashScreen.
* Typo in comments, rename `SafeCrashStage` to `CrashHandlingStage`.
* Tweak docs.
* Tweak docs, comments, text. Undo an accidentally recursive Replace All change.
* Remove replaced translations.
* More readable indentation handling in report template.
* Implement custom save locations for Android and Desktop
* Request write permission to save to external storage
* Fix race condition for custom saves/loads caused by autosaves
* Remove unnecessary WRITE_EXTERNAL_STORAGE permission for saving files
* Fix padding for custom save/load location buttons
* Use nullability checks as defined in coding style guide
* Use nullability checks as defined in coding style guide
* Use early return for readability
* Rename save/load completion callbacks for custom locations and implement error handling
* Bring Incas into the main game
(also changes slinger withdraw ability to inheritable)
* Update Nations.json
* Back button fix, ESC, and behaviour of them in popups
* ESC/Back now work if there's no exitEvent
* ESC/Back: JackRainy is right, exit prompt now cancellable with same key