Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menerapkan Pencatatan Vendor Tercakup

Android 11 menambahkan HAL baru, IDumpstateDevice (versi 1.1). HAL ini memaparkan metode baru untuk lebih erat cakupan log vendor yang disertakan dalam laporan bug standar, serta untuk memungkinkan build pengguna untuk mengaktifkan dan menonaktifkan log vendor (default untuk build pengguna tidak aktif). Ini memberi OEM kontrol lebih besar atas apa yang disertakan dalam jenis laporan bug tertentu.

Fitur ini memengaruhi OEM jika mereka memilih untuk menerapkan HAL opsional ini. SoC mungkin terpengaruh, bergantung pada apa yang OEM pilih untuk diekspos dengan HAL ini. Tidak ada dampak yang diharapkan pada operator.

Apa yang Anda sertakan dalam laporan bug bergantung pada informasi mana yang menurut Anda relevan untuk debugging, tetapi secara umum lebih bertele-tele lebih baik.

Contoh dan sumber

Ada implementasi default IDumpstateDevice versi 1.0 (tidak digunakan lagi) yang menunjukkan contoh penggunaan library util dumpstate: frameworks/native/cmds/dumpstate/DumpstateUtil.h . Ada juga implementasi Sotong dari 1.1 HAL: device/google/cuttlefish/guest/monitoring/dumpstate_ext/* .

Kode sumber terletak di sini:

Penerapan

Untuk mengimplementasikan HAL ini, implementasikan antarmuka HAL android.hardware.dumpstate@1.1::IDumpstateDevice . Ada banyak kemungkinan nilai DumpstateMode , tetapi tidak semuanya kemungkinan besar didukung oleh satu perangkat (misalnya, WEAR untuk perangkat OS non-Wear).

Menerapkan HAL dumpstate adalah opsional. Semua perangkat baru yang diluncurkan dengan Android 11 HARUS mengimplementasikan IDumpstateDevice 1.1 jika mereka mengimplementasikan Dumpstate HAL. Perangkat yang telah mengimplementasikan IDumpstateDevice 1.0 sebelum Android 11 seharusnya relatif mudah untuk ditingkatkan ke 1.1, dan melakukannya sangat disarankan, karena sangat mengurangi jumlah informasi pribadi asing yang disertakan dalam laporan bug.

Fitur ini bergantung pada perubahan dumpstate inti yang juga disertakan dengan Android 11, yang terletak di frameworks/native/cmds/dumpstate .

Menerapkan HAL ini kemungkinan akan memerlukan beberapa perubahan SEPolicy ke properti sistem tertentu, file, dll. Agar semuanya berfungsi sepenuhnya, dan akan memerlukan koordinasi dengan vendor untuk membuang semua informasi yang relevan ke dalam laporan bug.

Kustomisasi

Pengguna perangkat dapat mengaktifkan atau menonaktifkan vendor log on atau off menggunakan pengaturan pengembang. Jika dinonaktifkan, dumpstateBoard_1_1 mungkin masih mengeluarkan informasi penting minimal seperti yang ditentukan oleh OEM. Mematikan log vendor membuat IDumpstateDevice::dumpstateBoard hanya menambahkan informasi penting ke laporan bug, sementara mengaktifkannya akan menyertakan informasi apa pun yang dipilih OEM.

Anda bisa memodifikasi dumpstate.cpp (yang memanggil metode IDumpstateDevice HAL), misalnya, untuk menambah waktu tunggu yang diberikan agar dumpstateBoard selesai. Namun, logika inti dumpstate.cpp harus tetap tidak berubah.

Waktu tunggu dapat bernilai berapa pun, tetapi waktu tersebut tidak boleh secara dramatis meningkatkan waktu yang dibutuhkan untuk menyelesaikan laporan bug. Secara khusus, DumpstateMode::CONNECTIVITY sangat sensitif terhadap waktu dan perlu dijalankan secepat mungkin untuk mengumpulkan semua log modem / Wi-Fi / jaringan yang relevan.

Validasi

Ada tes VTS untuk implementasi IDumpstateDevice, dan ada tes unit fungsional untuk fungsionalitas BugreportManager umum.

Kasus uji manual yang direkomendasikan adalah frameworks/base/core/tests/bugreports/src/android/server/bugreports/BugreportManagerTest.java .