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 |
---|---|
![]() Gambar 1. Tombol DARURAT di layar kunci. |
![]() 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 danSimSlotNumber
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.