feat: Enhanced App Management: Caching, Icons, and Smart Filtering apps#32
Open
almagomen wants to merge 1 commit intoinfinitepower18:mainfrom
Open
feat: Enhanced App Management: Caching, Icons, and Smart Filtering apps#32almagomen wants to merge 1 commit intoinfinitepower18:mainfrom
almagomen wants to merge 1 commit intoinfinitepower18:mainfrom
Conversation
…h, and icon extraction. Vibe coding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This Pull Request implements significant improvements to how WSA System Control detects, displays, and manages installed Android applications. Loading times have been optimized, and the visual interface has been enhanced by including application icons.
Changes Implemented:
Application Cache (
AndroidAppManager.cs
):
Implementation: Added a caching system (_cachedApps) to store the application list after the initial load.
Benefit: Prevents redundant ADB and PowerShell command executions, drastically improving performance when navigating the app.
Control: Added a bool forceRefresh parameter to the
GetInstalledAppsAsync
method to allow forced reloads when requested by the user (refresh button).
Icon Support and Extraction:
Data Model: The
AndroidApp
class has been updated to include a public Image? AppIcon property.
Extraction Logic: Implemented
ExtractIcon
and
GetShortcutPaths
in
AndroidAppManager
. The application now scans the Windows Start Menu for matching shortcuts and extracts their native icons to display in the list.
Smart Filtering and Mapping:
Filtering: Improved logic to ignore system packages or background services (e.g., com.android.settings, android, etc.) that are not user-launchable apps.
Name Mapping: Cross-references adb shell pm list packages data with PowerShell's Get-StartApps. This ensures only Windows-recognized apps are listed and displays their "Friendly Name" (e.g., Play Store) instead of the package ID (e.g., com.android.vending).
App Launching:
Added the
LaunchApp(string packageName)
method which utilizes WSAClient.exe /launch to execute applications directly from the interface.
Files Modified:
WSA System Control/AndroidApp.cs
WSA System Control/AndroidAppManager.cs
Vibe coding: Google Antigravity