POC: load icon app via ksu://icon/[packageName]#674
Conversation
Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement.
This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
|
but why we already have getPackagesIcons() and cacheAllPackageIcons() webui API |
|
The current getPackagesIcons() implementation works well for full prefetch, especially with caching. But I was experimenting in my dummy project with a more stream-on-demand approach, using ksu://icon/pkg URIs from JS. The main motivation was to reduce memory and Base64 overhead on the WebView/JS side, especially when displaying hundreds of apps at once. Rather than passing all icons as Base64 strings, the frontend can lazy-load them when needed, which keeps initial load lighter. Totally open if this doesn’t fit the current design philosophy — just thought I’d share in case it’s useful or inspires anything upstream. |
the current implementation doesnt load all the icons at once (only cacheAllPackageIcons() does) we can use getPackagesIcons() by passing the pkg id fetching from our own package manager API lazyloading all perfectly, current implementaion is already being used in KOWX712/Tricky-Addon-Update-Target-List@c21aa99 |
|
We are not running base64 on javascript |
|
@KOWX712 what do you think? |
|
Yes this implementation is more direct for icon loading. |
So @fahrez256 finish the implementation and we will see what's the outcome And @KOWX712 could you test it once after it's completed? |
Okay, for clarification—the ksu://icon/... implementation is actually just what I pulled. As you know, I'm still working on understanding the original codebase. But I've tested it in my dummy WebView project. And it should be testable, since the only change is the shouldInterceptRequest() part. |
2270a33 to
0aaae91
Compare
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com> Signed-off-by: KOWX712 <leecc0503@gmail.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
…SU-Next#674) * manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented Co-Authored-By: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
* manager: load app icons from package name using AppIconUti Trying basic icon rendering from package via WebView ksu:// scheme. Includes cache and bitmap scaling. Still subject to refinement. * Update WebUIActivity.kt This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented * POC: Handle ksu://icon/[packageName] to serve app icon via WebView This proof-of-concept intercepts custom URLs of the form: ksu://icon/com.example.app It fetches the app icon using PackageManager via AppIconUtil, converts it to PNG, and returns it as a WebResourceResponse. Used inside shouldInterceptRequest() for early experimentation with dynamic WebView asset routing. Fallbacks to WebViewAssetLoader for all other requests. Notes: - Icon size currently fixed at 512px - No error icon or fallback image yet - No caching headers or mime sniffing implemented
Trying out a custom scheme
ksu://icon/{packageName}to fetch app icons directly from the package.AppIconUtil(still in Java) to load bitmap from a package nameWebUIActivity, intercepts requests with that scheme and returns aWebResourceResponsewith image/pngOnly tested basic stuff, no caching yet, and not handling weird edge cases.
Main goal is for the WebUI frontend, so it can grab icons from installed apps without storing them manually.
Still a POC. Not final. But it works — good enough for testing the concept.