App 2.19.4: Export CarPlay data to the USB stick

Read-only diagnostic for CarPlay's resolution: window, SurfaceFlinger
and display state captured while CarPlay is in front, display-related
properties without identifiers, Allgo's APK and libraries and
CarPlay-named system files, written to the app's folder on the stick.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
This commit is contained in:
2026-10-23 21:40:08 +02:00
co-authored by Claude Opus 5.5
parent 51beea5ed8
commit 66b403acb8
10 changed files with 360 additions and 14 deletions
@@ -16,19 +16,9 @@ final class UsbUpdate {
private UsbUpdate() { }
/**
* The top folder of the volume an app-specific folder lives on:
* /storage/1234-ABCD/Android/data/<package>/files → /storage/1234-ABCD. Null when the path
* does not have that shape. This is how a stick is found without a file picker, which the
* head unit does not have.
*/
/** The top folder of the volume [appFilesDir] lives on; see {@link UsbVolume#root}. */
static File volumeRoot(File appFilesDir) {
if (appFilesDir == null) return null;
File data = appFilesDir.getParentFile() == null ? null : appFilesDir.getParentFile().getParentFile();
File android = data == null ? null : data.getParentFile();
if (!"files".equals(appFilesDir.getName()) || data == null || !"data".equals(data.getName())
|| android == null || !"Android".equals(android.getName())) return null;
return android.getParentFile();
return UsbVolume.root(appFilesDir);
}
/**