Зміна API
Давайте розширимо API, додавши більше функціональних можливостей: ми хочемо дозволити клієнтам вказувати список рядків для листівки з днем народження:
package com.example.birthdayservice;
/** Інтерфейс сервісу Birthday. */
interface IBirthdayService {
    /** Генерує привітання з днем народження. */
    String wishHappyBirthday(String name, int years, in String[] text);
}
У результаті буде оновлено визначення трейту для IBirthdayService:
trait IBirthdayService {
    fn wishHappyBirthday(
        &self,
        name: &str,
        years: i32,
        text: &[String],
    ) -> binder::Result<String>;
}
- Зверніть увагу, що 
String[]у визначенні AIDL перекладається як&[String]у Rust, тобто ідіоматичні типи Rust використовуються у згенерованих зв’язках скрізь, де це можливо:- Аргументи масиву 
inпереводяться у зрізи. - Аргументи 
outтаinoutтранслюються у&mut Vec<T>. - Значення, що повертаються, перетворюються на 
Vec<T>. 
 - Аргументи масиву