Add an app picker for targets that can't report themselves
Auto-discovery only works for apps that can see Veil: on Android 11+ an app without QUERY_ALL_PACKAGES (or a matching <queries>) can't resolve Veil's provider, so its first-launch check-in silently fails. A real app hit this: scoped and hooked, but never listed. That made 615f000's premise, that auto-detection covers every target, wrong. - "Add app" opens a searchable list of launchable apps; picking one saves its default feature set, which is what gives an app a card. A launcher-intent <queries> is enough for this and narrower than QUERY_ALL_PACKAGES; it widens what Veil sees, not who sees Veil. - App cards show the app's label above the package name. - reportScoped checks resolveContentProvider first and skips the call when Veil isn't visible. That also drops the framework's "Failed to find provider info for space.bdeshi.veil.provider" line, which named Veil in the target's own, app-readable logcat. - New help tip explains why a scoped app may not show up. Verified on device (Android 16, Vector): a scoped app no longer logs the provider failure, and adding it through the picker saves its feature set. Co-Authored-By: agent <agent@bdeshi.space>
This commit is contained in:
3 files changed
+132
-6
No files matched your search
@@ -1,5 +1,15 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<!-- Lets the "Add app" picker list launchable apps, including ones that can't see Veil
|
||||
and so never reach its discovery provider. This only widens what Veil can see; it
|
||||
doesn't make Veil any more visible to the apps it hides things from. -->
|
||||
<queries>
|
||||
<intent>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent>
|
||||
</queries>
|
||||
|
||||
<application
|
||||
android:label="@string/app_name"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
|
||||
Reference in new issue
Block a user