diff options
Diffstat (limited to 'en/devices/tech/connect/emergency-affordance.html')
-rw-r--r-- | en/devices/tech/connect/emergency-affordance.html | 242 |
1 files changed, 134 insertions, 108 deletions
diff --git a/en/devices/tech/connect/emergency-affordance.html b/en/devices/tech/connect/emergency-affordance.html index eee981b7..64e0bb82 100644 --- a/en/devices/tech/connect/emergency-affordance.html +++ b/en/devices/tech/connect/emergency-affordance.html @@ -23,23 +23,24 @@ -<p>All mobile devices sold in India from the 1st January 2017 will need to -provide a panic button to meet Indian Department of Telecommunications (DoT) -requirements.</p> - -<p>An Emergency Affordance feature has been developed to provide a reference -implementation of the panic button for Android devices to address these -regulatory requirements. This will be enabled by default in future Android -releases but must be patched into existing builds. Currently, this feature is -exclusively targeted at devices that are sold in the Indian market but can be +<p>All mobile devices sold in India from January 1st, 2017 must provide a +panic button to meet Indian Department of Telecommunications (DoT) requirements. +To address these regulatory requirements, Android includes a reference +implementation of the Emergency Affordance feature to enable a panic button on +Android devices.</p> + +<p>This feature is enabled by default in Android 8.0 and higher releases, but +must be patched into existing builds of earlier releases. Currently, this +feature is exclusively targeted at devices sold in the Indian market but can be included on all devices sold throughout the world as the feature has no effect outside India.</p> -<h2 id="examples-source">Examples and source</h2> <p>The Emergency Affordance -feature is implemented in the Android Open Source Project (AOSP) <a -href="https://android.googlesource.com/platform/frameworks/base/">frameworks/base</a> -project. It is available in the master branch and will be enabled by default in -future Android releases.</p> +<h2 id="examples-source">Examples and source</h2> +<p>The Emergency Affordance feature is implemented in the Android Open Source +Project (AOSP) +<a href="https://android.googlesource.com/platform/frameworks/base/">frameworks/base</a> +project. It is available in the master branch and is enabled by default in +Android 8.0 and higher releases.</p> <p>This feature is currently available in the following branches and commits. This information is provided to enable device manufacturers to easily patch the @@ -48,7 +49,8 @@ implement the AOSP reference emergency affordance feature can cherry-pick the commits from the applicable branches into their own builds.</p> <p class="table-caption" id="cherry-picks-reference-implementation"> - <strong>Table 1.</strong> Cherry-picks for AOSP reference emergency affordance feature</p> +<strong>Table 1.</strong> Cherry-picks for AOSP reference emergency affordance +feature</p> <table> <tbody> <tr> @@ -86,7 +88,7 @@ Fixed an issue where the emergency affordance would show on tablets </td> </tr> <tr> -<td class="style1">lollipop-mr1-dev</td> +<td>lollipop-mr1-dev</td> <td><a href="https://android-review.googlesource.com/#/c/284743/">5fbc86b</a> Added Emergency affordance feature<br> <a href="https://android-review.googlesource.com/#/c/287382/">1b60879</a> @@ -99,32 +101,40 @@ Fixed an issue where the emergency affordance would show on tablets </tbody> </table> -<h2 id="implementation">Implementation</h2> <p>The Emergency Affordance feature -makes no changes to the APIs exposed through the Android SDK. When enabled and -activated, it provides two triggers that can initiate an emergency call to -112, which is the single emergency number to be used in India and mandated by -the DoT regulations.<br> An emergency call is initiated by either:</p> <ul> -<li>Long pressing the <strong>EMERGENCY</strong> button on the lockscreen -(Figure 1)</li> <li>Tapping the <strong>Emergency</strong> option from the -<em>Global Action Menu</em> (Figure 2), accessed by long pressing the power -key.</li> </ul> +<h2 id="implementation">Implementation</h2> +<p>The Emergency Affordance feature makes no changes to the APIs exposed through +the Android Software Development Kit (SDK). When enabled and activated, the +feature provides two triggers that can initiate an emergency call to 112, which +is the single emergency number to be used in India and mandated by the Indian +DoT regulations.</p> +<p>An emergency call is initiated by either:</p> +<div style="width:80%"> <table> - <tr> - <td width="50%"><img src="/devices/tech/connect/images/emergency-button.png" alt="emergency -button" width="246" id="emergency-button" /> -<p class="img-caption"> - <strong>Figure 1.</strong> Long press the <strong>EMERGENCY</strong> button, -highlighted with a red box, on the lock screen.</p></td> - <td width="50%"><img src="/devices/tech/connect/images/emergency-option.png" alt="emergency -option" width="247" id="emergency-option" /> -<p class="img-caption"> - <strong>Figure 2.</strong> Tap the <strong>Emergency</strong> action item on -the <em>Global Action Menu</em>.</p></td> - </tr> +<tr> +<th width="50%">Long pressing the <strong>EMERGENCY</strong> button<br> on the +lockscreen</th> +<th width="50%">Tapping the <strong>Emergency</strong> option<br> in the +Global Action Menu</th> +</tr> +<tr> +<td style="text-align: center"> +<img src="/devices/tech/connect/images/emergency-button.png" alt="emergency +button"> +<figcaption><strong>Figure 1.</strong> <strong>EMERGENCY</strong> button on +lockscreen.</figcaption></td> +<td style="text-align: center"> +<img src="/devices/tech/connect/images/emergency-option.png" alt="emergency +option"> +<figcaption><strong>Figure 2.</strong> <strong>Emergency</strong> action on +Global Action Menu (accessed by long pressing the power key). +</figcaption></td> +</tr> </table> +</div> -<p>This feature introduces the following internal components:</p> <ul> +<p>This feature introduces the following internal components:</p> +<ul> <li>EmergencyAffordanceManager <pre class="devsite-click-to-copy"> frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java @@ -137,37 +147,43 @@ frameworks/base/services/core/java/com/android/server/emergency/EmergencyAfforda </li> </ul> -<h3 id="EmergencyAffordanceManager">EmergencyAffordanceManager</h3> <p>The -EmergencyAffordanceManager provides an internal API to use the Emergency +<h3 id="EmergencyAffordanceManager">EmergencyAffordanceManager</h3> +<p>The EmergencyAffordanceManager provides an internal API to use the Emergency Affordance feature. It provides methods for initiating the emergency call and -querying at runtime if the feature should be enabled.</p> <ul> <li><code>void -performEmergencyCall()</code> - Initiates an emergency call</li> -<li><code>boolean needsEmergencyAffordance()</code> - Determines if the feature -should be active</li> </ul> <p>The feature may be permanently disabled at build -time by changing the <code>EmergencyAffordanceManager.ENABLED</code> constant -to <code>false</code>. This will cause <code>needsEmergencyAffordance()</code> -to always return false and prevent the <code>EmergencyAffordanceService</code> -from starting.</p> - -<h3 id="EmergencyAffordanceService">EmergencyAffordanceService</h3> <p>The -<code>EmergencyAffordanceService</code> is a system service that monitors the -Mobile Country Code (MCC) of all the detected cellular networks and the MCC of -the installed SIM cards. If any of the installed SIM cards or detected cellular -networks have a MCC matching one of India's MCCs (404,405) then the feature -will be enabled. This means the feature can be enabled in India even if no SIM -card is present. It is assumed the mobile network will permit registration for -emergency calls even without a SIM card installed. The feature will remain -enabled until a non-India SIM is installed and none of the detected networks -have a matching MCC.</p> +querying at runtime if the feature should be enabled.</p> +<ul> +<li><code>void performEmergencyCall()</code>. Initiates an emergency call.</li> +<li><code>boolean needsEmergencyAffordance()</code>. Determines if the feature +should be active.</li> +</ul> + +<p>The feature may be permanently disabled at build time by changing the +<code>EmergencyAffordanceManager.ENABLED</code> constant to <code>false</code>. +This will cause <code>needsEmergencyAffordance()</code> to always return false +and prevent the <code>EmergencyAffordanceService</code> from starting.</p> + +<h3 id="EmergencyAffordanceService">EmergencyAffordanceService</h3> +<p>The <code>EmergencyAffordanceService</code> is a system service that monitors +the Mobile Country Code (MCC) of all the detected cellular networks and the MCC +of the installed SIM cards. If any of the installed SIM cards or detected +cellular networks have a MCC matching one of India's MCCs (404 or 405) then the +feature will be enabled. This means the feature can be enabled in India even if +no SIM card is present. It is assumed the mobile network will permit +registration for emergency calls even without a SIM card installed. The feature +will remain enabled until a non-India SIM is installed and none of the detected +networks have a matching MCC.</p> <p>The following resources and settings affect the behavior of the Emergency -Affordance feature. If the config type is "Resource" it is an internal resource -defined in <code>frameworks/base/core/res/res/values/config.xml</code>. If -config type is "Setting" it is a setting stored in the systems settings -provider.</p> +Affordance feature. If the config type is:</p> +<ul> +<li><strong>Resource</strong>, it is an internal resource defined in +<code>frameworks/base/core/res/res/values/config.xml</code>.</li> +<li><strong>Setting</strong>, it is a setting stored in the systems settings +provider.</li> +</ul> <p class="table-caption" id="settings-affecting behavior"> - <strong>Table 2.</strong> Settings affecting behavior of emergency affordance +<strong>Table 2.</strong> Settings affecting behavior of emergency affordance feature</p> <table> <tbody> @@ -201,7 +217,7 @@ Type: String<br> Default: unset</td> </tr> <tr> -<td>Setting </td> +<td>Setting</td> <td>force_emergency_affordance</td> <td>Global setting, whether the emergency affordance should be shown regardless of device state. This is intended only for testing.<br> @@ -211,19 +227,25 @@ Default: unset --> 0</td> </tbody> </table> -<h3 id="112">Enable emergency calls to '112'</h3> <p>The emergency affordance -feature connects the call using the emergency dialer so that the call can be -connected when the lock screen is active. The emergency dialer only connects -calls to the list of numbers provided by the Radio Interface Layer (RIL), -through the system property 'ril.ecclist', when no SIM is installed and -'<code>ril.ecclist<<i>SimSlotNumber</i>></code>' when a SIM is inserted -and <code><i><SimSlotNumber></i></code> is the slot ID of the default -subscriber.<br> Device manufacturers using the emergency affordance feature -must ensure that devices in India always enable 112 as an emergency number in -the RIL.</p> - -<h2 id="validation">Validation</h2> <p>While testing, on a debuggable build, -the number that is called can be changed with the following command:</p> +<h3 id="112">Enable emergency calls to 112</h3> +<p>The emergency affordance feature connects the call using the emergency +dialer so that the call can be connected when the lock screen is active. The +emergency dialer connects calls only to the list of numbers provided by the +Radio Interface Layer (RIL) through the system property:</p> + +<ul> +<li><code>ril.ecclist</code> when no SIM is installed.</li> +<li><code>ril.ecclist<var>SimSlotNumber</var></code> when a SIM is inserted +and <code><var>SimSlotNumber</var></code> is the slot ID of the default +subscriber.</li> +</ul> + +<p>Device manufacturers using the emergency affordance feature must ensure that +devices in India always enable 112 as an emergency number in the RIL.</p> + +<h2 id="validation">Validation</h2> +<p>While testing on a debuggable build, the number that is called can be changed +with the following command:</p> <pre class="devsite-terminal devsite-click-to-copy"> adb shell settings put global emergency_affordance_number <var>NUMBER_TO_CALL</var> </pre> @@ -243,43 +265,47 @@ detected or an Indian SIM card being inserted.</p> adb shell settings put global force_emergency_affordance 1 </pre> -<p>During testing it is recommend that at least the following cases are -tested.</p> +<p>At a minimum, it is recommend to test the following cases:</p> -<ul> <li>Once activated, long pressing the <strong>EMERGENCY</strong> button on -the lockscreen (Figure 1) initiates a call the specified emergency number.</li> +<ul> +<li>Once activated, long pressing the <strong>EMERGENCY</strong> button on +the lockscreen (Figure 1) initiates a call to the specified emergency number. +</li> <li>Once activated, the <strong>Emergency</strong> item on the Global Action -Menu is present and that tapping it initiates a call to the specified emergency -number.</li> <li>The feature <b>is not</b> <b>activated</b> in the absence of a +Menu is present and tapping it initiates a call to the specified emergency +number.</li> +<li>The feature <strong>is not activated</strong> in the absence of a detected Indian Mobile Network with a non-India SIM card installed.</li> -<li>The feature <b>is activated</b> on the device whilst an Indian SIM card is -installed, regardless of the detected mobile networks.</li> <li>The feature -<b>is</b> <b>activated</b> on the device whilst an in the presence of a Indian -Mobile Network regardless of the SIM cards installed.</li> </ul> +<li>The feature <strong>is activated</strong> on the device when an Indian SIM +card is installed, regardless of the detected mobile networks.</li> +<li>The feature <strong>is activated</strong> on the device in the presence of +an Indian Mobile Network, regardless of the SIM cards installed.</li> +</ul> -<p>If a device includes supports multiple SIM cards then testing should ensure -that the SIM MCC detection works correctly in each SIM slot. The feature is not -governed by Android compatibility, so there are no CTS tests for it.</p> +<p>If a device includes supports multiple SIM cards, testing should ensure +that the SIM MCC detection works correctly in each SIM slot. The Emergency +Affordance feature is not governed by Android compatibility, so there are no +Compatibility Test Suite (CTS) tests for it.</p> <h2 id="faq">Frequently Asked Questions</h2> -<h5 id="q-112">Q. The emergency number '112' has not been commissioned yet in -India, should it still be used?</h5> - -<p>'112' is the number that will be used in India as the Public Safety -Answering Point (PSAP) as defined by the Integrated Emergency Communications -and Response Systems (IECRS). Until the PSAP is commissioned all calls to '112' -will be routed to the existing '100' emergency number.</p> - -<h5 id="q-other-triggers">Q. What about other triggers like "triple" pressing -the power button?</h5> <p>Device manufacturer may choose to implement -additional triggers. Triple tapping the hardware power button is also an -approved trigger action by the India DoT. However, this trigger is not -supported in the AOSP reference implementation as a number of other widely used -applications use the power button gestures, including repeated tapping of the -power button. These applications might interfere with the emergency dialer, or -the user may accidentally trigger the panic button while trying to trigger -actions in these applications.</p> +<h5 id="q-112">Q. The emergency number 112 has not been commissioned yet in +India. Should it still be used?</h5> +<p>112 is the number that will be used in India as the Public Safety Answering +Point (PSAP) as defined by the Integrated Emergency Communications and Response +Systems (IECRS). Until the PSAP is commissioned, all calls to 112 will be routed +to the existing 100 emergency number (though this is the responsibility of the +carrier, not Android).</p> + +<h5 id="q-other-triggers">Q. What about other triggers such as triple-pressing +the power button?</h5> +<p>Device manufacturers may choose to implement additional triggers. However, +while the Indian DoT approves triple-tapping the hardware power button, this +trigger is <strong>not supported</strong> in the AOSP reference implementation +as some widely used applications (e.g. the Camera app) use power button gestures +that include repeated tapping of the power button. Such applications might +interfere with the emergency dialer or the user may accidentally trigger the +panic button while trying to trigger actions in these applications.</p> </body> </html> |