Commit 7be21c8
regenerate proto/grpc/cli, fix Looper NPE, Context auto-fill, and add E2E service tests
Regenerate all proto, gRPC server/client, and CLI code from updated specs
using the full generation pipeline (proto → protoc → grpc → cli).
Fixes:
- Add gRPC Looper interceptor that pins handler goroutines to OS threads,
attaches to the JVM, and calls Looper.prepare() before handlers execute.
Fixes NPEs in InputMethodManager, WindowManager, and other services that
create Handlers internally. Use prepareMainLooper() in initAndroidContext.
- Auto-fill android.content.Context parameters in generated server code
from s.Ctx.Obj instead of requiring a client-side handle. Fixes NPE in
DownloadManager.getMaxBytesOverMobile and similar static methods.
- Fall back to /data/local/tmp/ in microphone/camera record commands when
getCacheDir() fails (package "android" has no data directory).
Add comprehensive E2E service tests (tests/e2e-grpc/services_test.go)
covering 32 working services, expected-error cases, and unimplemented
service detection.1 parent cee77c2 commit 7be21c8
373 files changed
Lines changed: 248208 additions & 113098 deletions
File tree
- cmd
- jnicli
- jniservice
- grpc
- client
- accounts
- alarm
- battery
- biometric
- blob
- camera
- clipboard
- companion
- display
- download
- job
- keyguard
- location
- notification
- nsd
- power
- print
- role
- storage
- telecom
- telephony
- usage
- usb
- vibrator
- wifi
- server
- accounts
- acl
- admin
- alarm
- audiomanager
- battery
- biometric
- blob
- camera
- certauth
- clipboard
- companion
- display
- download
- inputmethod
- ir
- jni_raw
- job
- keyguard
- location
- net
- notification
- nsd
- power
- print
- projection
- role
- session
- storage
- telecom
- telephony
- usage
- usb
- vibrator
- wifi_p2p
- wifi_rtt
- wifi
- proto
- accounts
- admin
- alarm
- altitude
- app
- audiomanager
- audiorecord
- auth
- battery
- biometric
- blob
- bluetooth_le
- bluetooth
- build
- calendar
- camera
- clipboard
- companion
- contacts
- content
- credentials
- database
- display
- documents
- download
- environment
- graphics
- handlestore
- hardware
- health
- inputmethod
- ir
- jni_raw
- job
- keyguard
- keystore
- le
- lights
- location
- mediastore
- media
- net
- nfc
- notification
- nsd
- omapi
- os
- pdf
- permission
- player
- pm
- power
- preferences
- print
- projection
- provider
- recorder
- resolver
- ringtone
- role
- session
- settings
- speech
- storage
- telecom
- telephony
- toast
- tts
- usage
- usb
- util
- vibrator
- vpn
- widget
- wifi_p2p
- wifi_rtt
- wifi
- tests/e2e-grpc
- tools
- cmd
- cligen
- grpcgen
- protogen
- pkg
- callbackgen
- cligen
- grpcgen
- protogen
- protoscan
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
5 | 8 | | |
6 | 9 | | |
7 | 10 | | |
8 | | - | |
9 | | - | |
| 11 | + | |
| 12 | + | |
10 | 13 | | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
15 | 46 | | |
16 | 47 | | |
17 | 48 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments