Menerapkan Biaya Darurat

Semua perangkat seluler yang dijual di India mulai 1 Januari 2017 harus menyediakan tombol panik untuk memenuhi persyaratan Departemen Telekomunikasi (DoT) India. Untuk memenuhi persyaratan peraturan ini, Android menyertakan implementasi referensi fitur Emergency Affordance untuk mengaktifkan tombol panik di perangkat Android.

Fitur ini diaktifkan secara default di rilis Android 8.0 dan yang lebih tinggi, tetapi harus di-patch ke build yang ada dari rilis sebelumnya. Fitur ini ditargetkan secara eksklusif untuk perangkat yang dijual di pasar India, tetapi dapat disertakan di semua perangkat yang dijual di seluruh dunia karena fitur ini tidak berpengaruh di luar India.

Contoh dan sumber

Fitur Emergency Affordance diterapkan di project framework/base Project Open Source Android (AOSP). Fitur ini tersedia di cabang utama dan diaktifkan secara default di rilis Android 8.0 dan yang lebih tinggi.

Fitur ini tersedia di cabang dan commit berikut. Informasi ini disediakan agar produsen perangkat dapat dengan mudah menerapkan patch perubahan yang diperlukan ke build yang ada. Produsen perangkat yang ingin menerapkan fitur Affordance Darurat referensi AOSP dapat memilih commit dari cabang yang berlaku ke dalam build mereka sendiri.

Tabel 1. Pilihan untuk fitur Affordance Darurat referensi AOSP

Cabang Commit
utama e0c3c66 Menambahkan fitur Emergency Affordance
42a4338 Menambahkan terjemahan untuk string tindakan darurat
4df8d64 Memperbaiki masalah saat fitur Emergency Affordance akan ditampilkan di tablet
nougat-dev e6680d9 Menambahkan fitur Emergency Affordance
95e1865 Menambahkan terjemahan untuk string tindakan darurat
a70bb89 Memperbaiki masalah saat fitur Emergency Affordance akan ditampilkan di tablet
marshmallow-dev cd22634 Menambahkan fitur Emergency Affordance
13f51c6 Menambahkan terjemahan untuk string tindakan darurat
6531666 Memperbaiki masalah saat fitur Emergency Affordance akan ditampilkan di tablet
lollipop-mr1-dev 5fbc86b Menambahkan fitur Emergency Affordance
1b60879 Menambahkan terjemahan untuk string tindakan darurat
d74366f Memperbaiki masalah saat fitur Emergency Affordance akan ditampilkan di tablet

Implementasi

Fitur Emergency Affordance tidak membuat perubahan pada API yang diekspos melalui Android Software Development Kit (SDK). Saat diaktifkan, fitur ini menyediakan dua pemicu yang dapat memulai panggilan darurat ke 112, yang merupakan satu-satunya nomor darurat yang akan digunakan di India dan diwajibkan oleh peraturan DoT India.

Panggilan darurat dimulai dengan:

Menekan lama tombol EMERGENCY
di layar kunci
Mengetuk opsi Darurat
di Menu Tindakan Global
tombol darurat

Gambar 1. Tombol DARURAT di layar kunci.

opsi
darurat

Gambar 2. Tindakan darurat di Menu Tindakan Global (diakses dengan menekan lama tombol daya).

Fitur ini memperkenalkan komponen internal berikut:

  • EmergencyAffordanceManager
    frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
    
  • EmergencyAffordanceService
    frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
    

EmergencyAffordanceManager

EmergencyAffordanceManager menyediakan API internal untuk menggunakan fitur Emergency Affordance. Class ini menyediakan metode untuk memulai panggilan darurat dan mengirim kueri saat runtime jika fitur harus diaktifkan.

  • void performEmergencyCall(). Memulai panggilan darurat.
  • boolean needsEmergencyAffordance(). Menentukan apakah fitur harus aktif.

Fitur ini dapat dinonaktifkan secara permanen pada waktu build dengan mengubah konstanta EmergencyAffordanceManager.ENABLED menjadi false. Hal ini menyebabkan needsEmergencyAffordance() selalu menampilkan nilai salah dan mencegah EmergencyAffordanceService dimulai.

EmergencyAffordanceService

EmergencyAffordanceService adalah layanan sistem yang memantau Kode Negara Seluler (MCC) dari semua jaringan seluler yang terdeteksi dan MCC dari kartu SIM yang terpasang. Jika salah satu kartu SIM yang diinstal atau jaringan seluler yang terdeteksi memiliki MCC yang cocok dengan salah satu MCC India (404 atau 405), fitur ini akan diaktifkan. Artinya, fitur ini dapat diaktifkan di India meskipun tidak ada kartu SIM. Jaringan seluler diasumsikan mengizinkan pendaftaran untuk panggilan darurat meskipun tanpa kartu SIM yang terpasang. Fitur ini tetap diaktifkan hingga SIM non-India diinstal dan tidak ada jaringan yang terdeteksi yang memiliki MCC yang cocok.

Resource dan setelan berikut memengaruhi perilaku fitur Affordance Darurat. Jika jenis konfigurasi adalah:

  • Resource, ini adalah resource internal yang ditentukan di frameworks/base/core/res/res/values/config.xml.
  • Setelan, yaitu setelan yang disimpan di penyedia setelan sistem.

Tabel 2. Setelan yang memengaruhi perilaku fitur Emergency Affordance

Jenis Konfigurasi Nama Deskripsi
Resource config_emergency_call_number Nomor telepon yang otomatis diputar saat panggilan darurat dimulai.
Jenis: String
Default: 112
Resource config_emergency_mcc_codes Array Integer yang mencantumkan MCC tempat fitur harus aktif.
Jenis: Array Bilangan Bulat
Default: {404,405}
Setelan emergency_affordance_number Penggantian setelan global dengan nomor yang akan ditelepon dengan affordance darurat. Hal ini hanya memengaruhi image build yang dapat di-debug (yaitu, jenis build adalah userdebug atau eng). Ini hanya dimaksudkan untuk pengujian.
Jenis: String
Default: unset
Setelan force_emergency_affordance Setelan global, apakah fitur Emergency Affordance harus ditampilkan terlepas dari status perangkat. Ini hanya dimaksudkan untuk pengujian.
Jenis: Boolean (1 atau 0)
Default: tidak ditetapkan --> 0

Mengaktifkan panggilan darurat ke 112

Fitur Emergency Affordance menghubungkan panggilan menggunakan tombol panggil darurat sehingga panggilan dapat terhubung saat layar kunci aktif. Perangkat pemanggil darurat hanya menghubungkan panggilan ke daftar nomor yang disediakan oleh Radio Interface Layer (RIL) melalui properti sistem:

  • ril.ecclist jika tidak ada SIM yang diinstal.
  • ril.ecclistSimSlotNumber saat SIM dimasukkan dan SimSlotNumber adalah ID slot pelanggan default.

Produsen perangkat yang menggunakan fitur Emergency Affordance harus memastikan bahwa perangkat di India selalu mengaktifkan 112 sebagai nomor darurat di RIL.

Validasi

Saat menguji pada build yang dapat di-debug, nomor yang dipanggil dapat diubah dengan perintah berikut:

adb shell settings put global emergency_affordance_number NUMBER_TO_CALL

Meskipun setelan ini dapat ditetapkan pada build pengguna normal, setelan ini akan diabaikan. Agar panggilan benar-benar terhubung, nomor harus ada dalam daftar nomor darurat yang disediakan oleh RIL. Hal ini dapat ditetapkan untuk sementara menggunakan perintah berikut yang dijalankan dari shell root di perangkat userdebug:

setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"

Perintah berikut juga dapat digunakan untuk memaksa fitur Emergency Affordance diaktifkan meskipun tidak ada jaringan seluler India yang terdeteksi atau kartu SIM India yang dimasukkan.

adb shell settings put global force_emergency_affordance 1

Minimal, sebaiknya uji kasus berikut:

  • Jika diaktifkan, menekan lama tombol DARURAT di layar kunci (Gambar 1) akan memulai panggilan ke nomor darurat yang ditentukan.
  • Saat diaktifkan, item Darurat di Menu Tindakan Global akan muncul dan mengetuk item tersebut akan memulai panggilan ke nomor darurat yang ditentukan.
  • Fitur ini tidak diaktifkan jika tidak ada Jaringan Seluler India yang terdeteksi dengan kartu SIM non-India yang terpasang.
  • Fitur ini diaktifkan di perangkat saat kartu SIM India diinstal, terlepas dari jaringan seluler yang terdeteksi.
  • Fitur ini diaktifkan di perangkat jika ada Jaringan Seluler India, terlepas dari kartu SIM yang diinstal.

Jika perangkat menyertakan dukungan untuk beberapa kartu SIM, pengujian harus memastikan bahwa deteksi MCC SIM berfungsi dengan benar di setiap slot SIM. Fitur Emergency Affordance tidak diatur oleh kompatibilitas Android, sehingga tidak ada pengujian Compatibility Test Suite (CTS) untuk fitur tersebut.

Pertanyaan umum (FAQ)

T: Nomor darurat 112 belum diaktifkan di India. Apakah masih harus digunakan?

112 adalah nomor yang digunakan di India sebagai Titik Respons Keselamatan Publik (PSAP) seperti yang ditentukan oleh Sistem Komunikasi dan Respons Darurat Terintegrasi (IECRS). Hingga PSAP ditugaskan, semua panggilan ke 112 akan dirutekan ke nomor darurat 100 yang ada (meskipun ini adalah tanggung jawab operator, bukan Android).

T: Bagaimana dengan pemicu lain seperti menekan tombol daya tiga kali?

Produsen perangkat dapat menerapkan pemicu tambahan. Namun, meskipun DoT India menyetujui ketuk tiga kali tombol daya hardware, pemicu ini tidak didukung dalam implementasi referensi AOSP karena beberapa aplikasi yang banyak digunakan (misalnya, aplikasi Kamera) menggunakan gestur tombol daya yang mencakup ketukan berulang pada tombol daya. Aplikasi tersebut dapat mengganggu alat pilih darurat atau pengguna mungkin tidak sengaja memicu tombol panik saat mencoba memicu tindakan di aplikasi ini.