- Add <intent MAIN+LAUNCHER> to <queries> so queryIntentActivities on the
glasses side returns third-party apps (free.zona etc), not only system /
RayNeo system apps. Without this entry Android 11+ package visibility
filter strips apps whose package is not explicitly named.
- Pass MATCH_ALL | GET_RESOLVED_FILTER to queryIntentActivities as a
belt-and-suspenders measure (no visible effect with queries above, but
safe on Android 12+ where the platform may still filter).
- Default VmGlassesController state is NoAppSelected instead of Starting,
so we don't show 'Подготавливаем очки...' on first launch when no
LaunchAppCommand has been received yet.
- DriveShizukuState leaves Running state alone on re-check (don't drop
a running guest back to ShizukuMissing just because Shizuku was
re-polled).
- Add dev.rikka.shizuku:provider:13.1.5 dependency.
- Replace custom ShizukuInitProvider with rikka.shizuku.ShizukuProvider
from the upstream library; configured per Shizuku v12+ docs with
android:permission='android.permission.INTERACT_ACROSS_USERS_FULL'
to protect the provider from ordinary apps.
- Move ShizukuBootstrap.attach() from GlassesVmApp.onCreate to
MainActivity.onCreate (requestPermission needs an Activity context).
- MainActivity now overrides onRequestPermissionsResult and forwards
the grant to ShizukuBootstrap.
- Rewrite ShizukuBootstrap strictly per the Shizuku-API guide:
addBinderReceivedListenerSticky + addRequestPermissionResultListener
in attach(); pingBinder / checkSelfPermission / requestPermission
in refresh().
- Drop ShizukuInitProvider.kt — its job is now done by
rikka.shizuku.ShizukuProvider.onCreate (verified in logcat:
'ShizukuProvider: binder received').
Verified on device ARGF20 (A06B4AB933C4103, API 32): Shizuku dialog
'Allow rayneo-vm to use Shizuku?' opens correctly; binder received
via ShizukuProvider; launcher icon now visible (meta-data fix).