Skip to content

Commit 36b0824

Browse files
xaionaro@dx.centerxaionaro@dx.center
authored andcommitted
Fix service methods descriptor lookup and telephony example flags
- service methods: fall back to knownServiceNames reverse lookup when InterfaceTransaction returns empty descriptor (framework services) - Fix telephony get-network-country-iso-for-phone: only --phoneId flag exists (no --callingPackage/--callingFeatureId in generated code) - Update README and E2E test to match actual flag names
1 parent 886b0bb commit 36b0824

3 files changed

Lines changed: 18 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1438,7 +1438,7 @@ aidlcli com.android.internal.telephony.ITelephony get-active-phone-type
14381438

14391439
# Get network country ISO
14401440
aidlcli com.android.internal.telephony.ITelephony get-network-country-iso-for-phone \
1441-
--phoneId 0 --callingPackage com.android.shell --callingFeatureId ""
1441+
--phoneId 0
14421442
```
14431443

14441444
</details>

cmd/aidlcli/cmd_service.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,20 +224,33 @@ func newServiceMethodsCmd() *cobra.Command {
224224

225225
descriptor := queryDescriptor(ctx, svc)
226226

227+
// InterfaceTransaction may return empty on some services.
228+
// Fall back to the static knownServiceNames map (reverse lookup).
229+
if descriptor == "" || descriptor == "(unknown)" {
230+
for desc, svcName := range knownServiceNames {
231+
if svcName == name {
232+
descriptor = desc
233+
break
234+
}
235+
}
236+
}
237+
227238
mode, err := cmd.Root().PersistentFlags().GetString("format")
228239
if err != nil {
229240
return fmt.Errorf("reading --format flag: %w", err)
230241
}
231242

232243
if generatedRegistry == nil {
233-
fmt.Fprintf(os.Stdout, "unknown interface %s — no methods in registry\n", descriptor)
234-
return nil
244+
return fmt.Errorf("no method registry available")
235245
}
236246

237247
info := generatedRegistry.ByDescriptor(descriptor)
238248
if info == nil {
239-
fmt.Fprintf(os.Stdout, "unknown interface %s — no methods in registry\n", descriptor)
240-
return nil
249+
// Also try looking up by alias (the service name itself).
250+
info = generatedRegistry.ByAlias(name)
251+
}
252+
if info == nil {
253+
return fmt.Errorf("unknown interface %q for service %q — not in registry", descriptor, name)
241254
}
242255

243256
f := NewFormatter(mode, os.Stdout)

tests/e2e/aidlcli_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -831,8 +831,6 @@ func TestAidlcli_Telephony_GetNetworkCountryIso(t *testing.T) {
831831
stdout, stderr, err := runAidlcli(
832832
"com.android.internal.telephony.ITelephony", "get-network-country-iso-for-phone",
833833
"--phoneId=0",
834-
"--callingPackage=com.android.shell",
835-
"--callingFeatureId=none",
836834
)
837835
if err != nil {
838836
combined := stderr + stdout

0 commit comments

Comments
 (0)