Token desain OEM

Token desain OEM adalah implementasi Android Automotive OS (AAOS) dari sistem Desain Material . Berbeda dengan pendekatan algoritmik atau pemilihan pengguna untuk nilai token di perangkat seluler, OEM menetapkan nilai token desain. Token desain mewakili keputusan desain kecil dan berulang yang membentuk gaya visual sistem desain dan menggantikan nilai statis dengan nama yang cukup jelas. Token serupa dengan yang ditentukan oleh sistem Desain Material.

Perpustakaan token OEM

Token desain OEM direferensikan melalui pustaka token OEM, yang terdiri dari tiga komponen yang diilustrasikan pada Gambar 1.

Gambar 1. Komponen perpustakaan token OEM.

Perpustakaan statis

Komponen perpustakaan statis dari perpustakaan token OEM memfasilitasi akses ke nilai token sebagai berikut.

  • Menyediakan API untuk mengakses nilai OEM untuk token.
  • Mengaktifkan penggantian keikutsertaan referensi token dalam tema dengan nilai OEM.

Perpustakaan bersama

Komponen perpustakaan bersama bertanggung jawab untuk mendefinisikan hal berikut:

  • Nama perpustakaan.
  • Keikutsertaan Boolean untuk mengaktifkan nilai token OEM.
  • Gaya yang memberikan nilai token OEM.

Untuk mengakomodasi kepemilikan OEM atas komponen perpustakaan bersama ini, termasuk nama paket yang ditentukan OEM, OEM dapat membuat penggantian implementasi perpustakaan bersama.

Gambar 2. Mengganti implementasi perpustakaan bersama.

Perpustakaan bersama OEM

Penggantian OEM pada komponen pustaka bersama memungkinkan kepemilikan OEM atas pustaka sambil menjaga kompatibilitas dengan komponen lain di pustaka token OEM dengan menyediakan sarana agar nama paket dan tanda tangan ditetapkan oleh OEM sambil membiarkan penerapan pustaka bersama tidak diubah.

Penggantian untuk perpustakaan bersama dapat ditentukan seperti yang ditunjukkan di bawah ini:

override_android_app {
    name: "[OEM]-token-shared-lib",
    base: "token-shared-lib",
    package_name: "com.[OEM].sharedlib",
    rename_resources_package: false,
    certificate: …
}

Untuk menetapkan nilai token, lihat Menentukan nilai token OEM .

Kustomisasi perpustakaan bersama OEM

Untuk mendukung beragam skema nilai token (misalnya, diferensiasi model atau mode drive), OEM dapat memberikan nilai dinamis untuk token dengan menargetkan pustaka bersama OEM dengan Runtime Resource Overlay (RRO). Untuk mempelajari lebih lanjut, lihat Mengubah nilai sumber daya aplikasi saat runtime .

Untuk menetapkan nilai token, lihat Menentukan nilai token OEM .

Tentukan nilai token OEM

Untuk menentukan nilai token, atur atribut terkait dalam gaya OemStyle ke nilai yang diperlukan.

<resources>
    <style name="OemStyle">
        <item name="colorPrimary">#B0C5FF</item>
        <item name="colorOnPrimary">#002B76</item>
        <item name="colorPrimaryContainer">#003FA4</item>
        <item name="colorOnPrimaryContainer">#D9E2FF</item>
        …
    </style>
</resources>

Ikut serta dalam nilai-nilai OEM

Agar aplikasi dapat mengakses nilai token yang disediakan OEM, OEM harus terlebih dahulu memilih untuk mengganti nilai token default dengan mengonfigurasi boolean enable_oem_tokens menjadi true .

Nilai token RRO

Mirip dengan cara nilai token diatur di OemStyle , RRO dapat digunakan untuk mengubah gaya guna memberikan nilai token alternatif.

<resources>
    <style name="OemStyle">
        <item name="com.android.oem.tokens:colorPrimary">#B0C5FF</item>
        <item name="com.android.oem.tokens:colorOnPrimary">#002B76</item>
        <item name="com.android.oem.tokens:colorPrimaryContainer">#003FA4</item>
        <item name="com.android.oem.tokens:colorOnPrimaryContainer">#D9E2FF</item>
        …
    </style>
</resources>

RRO harus menyetel atribut perpustakaan bersama pada gaya dengan menentukan nama perpustakaan bersama.

Konfigurasikan pemuatan terakhir

Sistem yang menyertakan implementasi OEM dari pustaka bersama token harus mengonfigurasi sistem untuk memuat pustaka bersama setelah kelas aplikasi. Untuk melakukannya, sertakan nama perpustakaan ( com.android.oem.tokens ) dalam konfigurasi config_sharedLibrariesLoadedAfterApp pada sistem. Jika Anda memiliki akses ke Layanan Otomotif Google (GAS), hal ini diberlakukan sebagai persyaratan.

<!-- The OEM token shared library will be loaded after app classes -->
<string-array name="config_sharedLibrariesLoadedAfterApp" translatable="false">
    <item>com.android.oem.tokens</item>
</string-array>

Praktik terbaik

Praktik terbaik untuk pustaka token OEM dijelaskan di bawah.

Aktifkan strategi pembaruan yang fleksibel

Lihat strategi di bawah ini untuk memastikan Anda membangun fleksibilitas sehubungan dengan pembaruan.

Perpustakaan bersama OEM

Karena pustaka bersama sistem harus diinstal sebelumnya pada citra sistem, perangkat harus dikirimkan bersama pustaka atau pustaka harus ditambahkan sebagai bagian dari pembaruan Over-the-Air (OTA) (untuk mempelajari lebih lanjut, lihat Pembaruan OTA ). Namun, menyertakan implementasi stub dari penggantian OEM pada pustaka bersama token OEM pada citra sistem memungkinkan pembaruan ke implementasi yang berfungsi penuh untuk diterapkan ke perangkat di kemudian hari tanpa memerlukan OTA.

RRO perpustakaan bersama

Meskipun tidak ada persyaratan untuk menginstal RRO sebagai aplikasi sistem, hal itu memberikan beberapa perilaku pembaruan yang mungkin diinginkan.

  • Pembaruan otomatis aplikasi saat pengguna tidak masuk.
  • Tidak dapat di-uninstall oleh pengguna (pengguna hanya dapat meng-uninstall update ).