Tags: AndroidGoLab/binder
Tags
fix(codegen): resolve accessor name collisions for multi-interface se… …rvices TimeManager wraps both ITimeDetectorService and ITimeZoneDetectorService under @SystemService(TIME_MANAGER_SERVICE). The binder usage scanner's Strategy 2 heuristic picked one arbitrarily, producing a false service-to-descriptor mapping that caused duplicate Go function names. Fix selectBestInterfaceForClass to reject ambiguous ties below the strong-match threshold (score < 3). Also harden generateAccessorFiles to skip accessors when the constant-based fallback name still collides. Regenerated all accessor files and README stats.
fix: use MMIO-safe copy for goldfish gralloc writes and prefer RW mmap The AVC encode test crashed with SIGSEGV when writing to goldfish address space memory via Go's copy(), which emits AVX2 VMOVDQU instructions that fault on uncacheable PCI BAR (MMIO) memory. Two fixes: - Add CopyToMMIO for scalar writes to MMIO regions (matching the existing copyFromMMIO for reads) - Reorder mmap strategies to try PROT_READ|PROT_WRITE before PROT_READ, so buffers are writable when the kernel allows it
fix: make all unit tests pass - Regenerate bindercli commands_gen.go to match updated Bluetooth proxy interfaces (IBluetooth -> IAdapter, signature changes) - Update dex transaction code test expectations for isUserAMonkey (110 -> 111) to match current framework.jar - Fix ADB-dependent tests to skip when no devices are connected, not just when ADB server is unreachable - Update codegen test to expect current proxy unmarshal pattern with API 36+ typed-list-element-header support
fix: skip ADB-dependent tests when ADB server is unavailable The interop/gadb tests require a running ADB server with a connected device. In CI (GitHub Actions) there is no ADB server, causing connection refused errors that fail the entire test suite. Add requireADB() helpers that skip tests gracefully when the ADB server is unreachable.