Skip to content
This repository was archived by the owner on Mar 12, 2026. It is now read-only.

[UPDATE][QTA][3.23.0]

Choose a tag to compare

@l3ger0j l3ger0j released this 08 May 21:30
· 172 commits to master since this release

✨ 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 onSharedPreferenceChanged method;
  • Added OnSharedPreferenceChangeListener instead of the settingsController variable;
  • 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 refreshIntGamesDirectory and refreshGameData() 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