Releases: Pixel-Narrative-Punks/Questopia
Fifth path for 3.25
✨ General
- Fix application crash due to IllegalStateException
- Fix error validateViewHolderForOffsetPosition
- Fix NullPointerException error
- Update the native library
📝 History of changes
Fourth path for 3.25
✨ General
- Fix the error no permissions on Bluetooth
- Fix the resizing of the picture
- Improve the rendering of RecyclerView and rename GameItemRecycler
- Add a search for game files in the mods folder
- Fix loading of case-sensitive images
📝 History of changes
Third path for 3.25
✨ General
- Fix the search for downloaded games
- Fix application crash if title field of GameData is null
- Remove the useless method for sorting gamesMap
- Optimize the search for game files
📝 History of changes
Full Changelog: 3.25.2...3.25.3
Second path for 3.25
✨ General
- Fix the navigation error
- Fix audio player initialization error
📝 History of changes
Full Changelog: 3.25.1...3.25.2
First patch 3.25 [broken]
✨ General
- Fix the error related to JSON file parsing
- Fix the problem with displaying the list of local games
- Fix the game record selection for deletion
- Improve the display of the "About" dialog box
📝 History of changes
Full Changelog: 3.25.0...3.25.1
Update to 3.25
✨ General
- Traditional updating of project dependencies
- Increased image rendering speed in WebView
- Removed plugin system
- Removed image caching in WebView
- Updated native library to version 5.9.2
- Improved support for the Accessible API | Thx @AlexandrKozlovskiy
- Improved class to represent game record (aka GameData)
📝 History of changes
Full Changelog: 3.24.0...3.25.0
[UPDATE][QTA][3.24.0]
✨ General
- Updated all project dependencies
- Updated the README.MD file with information about the project and links to desktop interpreters
- Disabled minification for debug builds
- Improved the marshaling of a string from the library to the HTML view
- Improved the translation for the addFolder button
- Improved the speed of automatic image resizing
- Improved feature copy mod or path file
- Added a dialog for confirming the deletion of the game folder
- Added a dialog for basic game setup and installation
- Added a request for access to the entire external storage
- Added a tab with games that can be downloaded from a remote game repository
- Added ActionMode lock on the
Remote Gametab - Fixed the display of the newly added game
- Fixed a bug related to not updating the list of games when deleting an item
📝 History of changes
Full Changelog: 3.23.0...3.24.0
[UPDATE][QTA][3.23.0]
✨ General
- Traditional updating of project dependencies;
- Added an alternative method for getting DocumentFile by relative path;
- Added new method for delete file;
- Created new menu item audio;
- Added a check for isFinishing() in methods for displaying dialogs;
- Now there is no transition to a new tab if it is active;
- Added controller for mute/unmute video in the game;
- Improved setDecorFitsSystemWindows().
🐞 Other
The following fixes were made:
- Fixed IllegalStateException in GameActivity showSimpleDialog();
- Fixed StackOverflowError in LibQpProxyImpl start();
- Fixed RuntimeException in LibQpProxyImpl;
- Fixed Invalid HTML;
- Fixed ClassNotFoundException;
- Fixed incorrect fit when exiting "fullscreen" mode.
The following classes/methods/module have been renamed:
- navigationView -> bottomNavigationView;
- SettingsPluginFragment -> SettingPluginFragment;
- SettingsPluginRecycler -> SettingPluginRecycler;
- SettingsFragment -> SettingsMainFragment;
- convertRGBAToBGRA -> convertRGBAtoBGRA;
- "libQP" -> "lib";
- "dto.libQP" ->"dto.lib";
- Renamed & moved QpMenuItem aka LibMenuItem into "dto" package;
- Renamed & moved QpListItem aka LibListItem into "dto" package;
- Renamed RefreshInterfaceRequest into LibRefIRequest;
- Renamed GetVarValuesResponse into LibVarValResp;
- Renamed actions, objects, menuItems and moved interfaceConfig in GameState aka LibGameState;
- fromRelPath() -> findFileFromRelPath();
- Renamed method start() into startLibThread();
- Renamed method stop() into stopLibThread();
- Rename qpListItem -> libListItem;
- Renamed gameData -> sortedGameData;
- refreshGameData() -> restoreListDirsFromFile();
- Renamed rootProject.name.
Code improvements:
== Refactored LibQpProxyImpl ==
- Renamed handler -> mLibHandler;
- The "if" operator was inverted, which checks the nullability of the mLibHandler variable.
- Updated workflow files and added sign release.
== Refactored Base64Util ==
- Inlined pattern.matcher(input) in method isBase64.
== Refactored GameViewModel ==
- Renamed getImageUri() into getImageUriFromPath();
- Added method getCurGameDir();
- Added a nullability check for uri.getScheme() in shouldOverrideUrlLoading();
- Refactored shouldInterceptRequest: fromRelPath() -> findFileFromRelPath();
- Added a nullability check for uri.getScheme(), getCurGameDir().isEmpty();
- Extracted check scheme.
== Refactored GameMainFragment ==
- Added a nullability check for src in onClickImage;
- Added a empty check for imageUri in onClickImage.
== Refactored HtmlProcessor ==
- Moved method hasHTMLTags and getSrcDir up;
- Added annotation Nullable for getSrcDir method;
- Disabled prettyPrint;
- Moved methods getCleanHtmlPageAndImage() and getCleanHtmlPageNotImage() to upwards;
- Removed method convertQspHtmlToWebViewHtml();
- Added context to the parameters of the shouldChangeWidth(), shouldChangeHeight(), processHTMLImages(), getCleanHtmlPageAndImage() methods;
- Extracted getDisplayMetrics() into field;
- The return type has been changed if imageElement is null.
== Refactored FileUtil ==
- Removed fromRelPath();
- Changed order parameters into method findFileFromRelPath().
== Refactored ImageProvider ==
- Moved target scope into method getDrawableFromPath();
- Added context to the parameters of the getDrawableFromPath() method.
==Refactored AutoScrollRunnable ==
== Refactored StockActivity and StockViewModel ==
- Removed string
closeToApply; - Removed the branching for the key == "lang" in the
onSharedPreferenceChangedmethod; - Added
OnSharedPreferenceChangeListenerinstead of thesettingsControllervariable; - Removed methods getSettingsController() and setController()
Assignment at runtime is now used instead; - The if statement has been replaced with a switch in method
sendIntent; - Instead of the for operator, the built-in forEach operator is used;
- The branching in the
refreshIntGamesDirectoryandrefreshGameData()methods is reversed.
== Cleanup code ==
- Optional.ofNullable has been deleted. Instead, an if check is used;
- Removed deleteDirectory();
- Used getExtension() instead documentWrap();
- Removed variable controller.
== Cleanup GameActivity ==
Moved htmlProcessor, libProxy, audioPlayer into GameViewModel;
Added GameLibRequest;
- Moved setters for htmlProcessor and audioPlayer into getHtmlProcessor() QuestPlayerApplication;
- Added return this into setCurGameDir();
- Moved setOnApplyWindowInsetsListener;
- Changed match_parent -> 0dp;
- Moved audio setting into method soundSettings;
- DocumentFile.findFile -> findFileFromRelPath();
- A small formatting of the code was carried out;
- Removed block of synchronization;
- new Handler() -> new Handler(Looper.myLooper());
📝 History of changes
Full Changelog: 3.22.5...3.23.0
[FIX][QTA][3.22.5]
🐞 The following fixes were made
- Fixed incorrect fit when exiting "fullscreen" mode
- Fixed error
RuntimeException - Fixed warning
Invalid HTML
📝 History of changes
Full Changelog: 3.22.4...3.22.5
[FIX][QTA][3.22.4]
🐞 The following fixes were made
- Fixed IllegalStateException;
- Fixed StackOverflowError;
- Extended logging.
📝 History of changes
Full Changelog: 3.22.3...3.22.4