summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2023-10-05 15:41:37 -0700
committerXin Li <delphij@google.com>2023-10-05 15:41:37 -0700
commitee5fd8a652b19794bf50e72708e67dfb1b63dafd (patch)
treee3575011b46eb0b32852aeab9c211db3cfb12e5d
parent7df90e9c3e102f0e20a87b7a3a43d05a2acc3a21 (diff)
parentba5376b438231362e368c627d358f51fa49bbc8d (diff)
downloadEmergencyInfo-ee5fd8a652b19794bf50e72708e67dfb1b63dafd.tar.gz
Merge Android 14
Bug: 298295554 Merged-In: I84e5b1b94305193449709e667b45c267a44bc453 Change-Id: Ida4258272ed091d8fb1dc16037ac54a7f3c828fd
-rw-r--r--EmergencyGestureAction/AndroidManifest.xml6
-rw-r--r--EmergencyGestureAction/src/com/android/emergency/action/EmergencyActionFragment.java3
-rw-r--r--EmergencyGestureAction/src/com/android/emergency/action/service/EmergencyActionForegroundService.java11
-rw-r--r--EmergencyGestureContentProvider/src/com/android/emergency/EmergencyGestureContentProvider.java17
-rw-r--r--res/values-da/strings.xml8
-rw-r--r--res/values-de/strings.xml2
-rw-r--r--res/values-it/strings.xml2
-rw-r--r--res/values-ne/strings.xml2
-rw-r--r--res/values-pt-rPT/strings.xml2
-rw-r--r--res/values-pt/strings.xml4
-rw-r--r--res/values-zh-rHK/strings.xml4
-rw-r--r--src/com/android/emergency/preferences/EmergencyContactsPreference.java23
12 files changed, 61 insertions, 23 deletions
diff --git a/EmergencyGestureAction/AndroidManifest.xml b/EmergencyGestureAction/AndroidManifest.xml
index 0427a0cf..87b8a289 100644
--- a/EmergencyGestureAction/AndroidManifest.xml
+++ b/EmergencyGestureAction/AndroidManifest.xml
@@ -21,6 +21,7 @@
package="com.android.emergency">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.CALL_PRIVILEGED"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
@@ -60,7 +61,10 @@
<service
android:name=".action.service.EmergencyActionForegroundService"
android:directBootAware="true"
- android:exported="false"/>
+ android:foregroundServiceType="specialUse"
+ android:exported="false">
+ <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="com.android.emergency" />
+ </service>
<receiver
android:name=".action.broadcast.EmergencyActionBroadcastReceiver"
diff --git a/EmergencyGestureAction/src/com/android/emergency/action/EmergencyActionFragment.java b/EmergencyGestureAction/src/com/android/emergency/action/EmergencyActionFragment.java
index a5c53b97..c191ab26 100644
--- a/EmergencyGestureAction/src/com/android/emergency/action/EmergencyActionFragment.java
+++ b/EmergencyGestureAction/src/com/android/emergency/action/EmergencyActionFragment.java
@@ -23,7 +23,6 @@ import android.content.res.Configuration;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v4.app.Fragment;
-import android.telecom.TelecomManager;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
@@ -51,7 +50,6 @@ public class EmergencyActionFragment extends Fragment implements OnSlideComplete
private static final String STATE_MILLIS_LEFT = "STATE_MILLIS_LEFT";
private EmergencyActionAlarmHelper mEmergencyActionAlarmHelper;
- private TelecomManager mTelecomManager;
private CountDownTimer mCountDownTimer;
private EmergencyNumberUtils mEmergencyNumberUtils;
private long mCountDownMillisLeft;
@@ -65,7 +63,6 @@ public class EmergencyActionFragment extends Fragment implements OnSlideComplete
EmergencyActionForegroundService.stopService(context);
mEmergencyActionAlarmHelper = new EmergencyActionAlarmHelper(context);
mEmergencyNumberUtils = new EmergencyNumberUtils(context);
- mTelecomManager = context.getSystemService(TelecomManager.class);
}
@Override
diff --git a/EmergencyGestureAction/src/com/android/emergency/action/service/EmergencyActionForegroundService.java b/EmergencyGestureAction/src/com/android/emergency/action/service/EmergencyActionForegroundService.java
index ee49528e..274d324d 100644
--- a/EmergencyGestureAction/src/com/android/emergency/action/service/EmergencyActionForegroundService.java
+++ b/EmergencyGestureAction/src/com/android/emergency/action/service/EmergencyActionForegroundService.java
@@ -16,6 +16,7 @@
package com.android.emergency.action.service;
+import static android.app.Notification.FOREGROUND_SERVICE_IMMEDIATE;
import static android.app.NotificationManager.IMPORTANCE_HIGH;
import android.app.AlarmManager;
@@ -93,7 +94,8 @@ public class EmergencyActionForegroundService extends Service {
return START_NOT_STICKY;
}
mNotificationManager.createNotificationChannel(buildNotificationChannel(this));
- Notification notification = intent.getParcelableExtra(SERVICE_EXTRA_NOTIFICATION);
+ Notification notification = intent.getParcelableExtra(SERVICE_EXTRA_NOTIFICATION,
+ Notification.class);
// Immediately show notification And now put the service in foreground mode
startForeground(COUNT_DOWN_NOTIFICATION_ID, notification);
@@ -136,6 +138,11 @@ public class EmergencyActionForegroundService extends Service {
/** End all work in this service and remove the foreground notification. */
public static void stopService(Context context) {
+ // Cancel previously scheduled eCall broadcast
+ AlarmManager alarmManager = context.getSystemService(AlarmManager.class);
+ alarmManager.cancel(
+ EmergencyActionBroadcastReceiver.newCallEmergencyPendingIntent(context));
+ // Stop service
context.stopService(new Intent(context, EmergencyActionForegroundService.class));
}
@@ -154,7 +161,6 @@ public class EmergencyActionForegroundService extends Service {
NotificationChannel channel = buildNotificationChannel(context);
EmergencyNumberUtils emergencyNumberUtils = new EmergencyNumberUtils(context);
long targetTimeMs = SystemClock.elapsedRealtime() + remainingTimeMs;
- // TODO(b/172075832): Make UI prettier
RemoteViews contentView =
new RemoteViews(context.getPackageName(),
R.layout.emergency_action_count_down_notification);
@@ -178,6 +184,7 @@ public class EmergencyActionForegroundService extends Service {
.setOnlyAlertOnce(true)
.setCategory(Notification.CATEGORY_ALARM)
.setCustomContentView(contentView)
+ .setForegroundServiceBehavior(FOREGROUND_SERVICE_IMMEDIATE)
.addAction(new Notification.Action.Builder(null, context.getText(R.string.cancel),
EmergencyActionBroadcastReceiver.newCancelCountdownPendingIntent(
context)).build())
diff --git a/EmergencyGestureContentProvider/src/com/android/emergency/EmergencyGestureContentProvider.java b/EmergencyGestureContentProvider/src/com/android/emergency/EmergencyGestureContentProvider.java
index 0a31d49a..c3a13dd1 100644
--- a/EmergencyGestureContentProvider/src/com/android/emergency/EmergencyGestureContentProvider.java
+++ b/EmergencyGestureContentProvider/src/com/android/emergency/EmergencyGestureContentProvider.java
@@ -18,6 +18,7 @@ package com.android.emergency;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERGENCY_GESTURE_CALL_NUMBER;
+import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERGENCY_GESTURE_UI_SHOWING_VALUE;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERGENCY_NUMBER_OVERRIDE_AUTHORITY;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERGENCY_SETTING_OFF;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERGENCY_SETTING_ON;
@@ -26,6 +27,7 @@ import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHO
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHOD_NAME_GET_EMERGENCY_GESTURE_SOUND_ENABLED;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHOD_NAME_GET_EMERGENCY_NUMBER_OVERRIDE;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHOD_NAME_SET_EMERGENCY_GESTURE;
+import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHOD_NAME_SET_EMERGENCY_GESTURE_UI_SHOWING;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHOD_NAME_SET_EMERGENCY_NUMBER_OVERRIDE;
import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.METHOD_NAME_SET_EMERGENCY_SOUND;
@@ -37,6 +39,7 @@ import android.database.Cursor;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
+import android.os.SystemClock;
import android.provider.Settings;
import android.util.Log;
@@ -80,6 +83,20 @@ public class EmergencyGestureContentProvider extends ContentProvider {
Settings.Secure.putInt(getContext().getContentResolver(),
Settings.Secure.EMERGENCY_GESTURE_ENABLED, gestureSettingValue);
break;
+ case METHOD_NAME_SET_EMERGENCY_GESTURE_UI_SHOWING:
+ if (DEBUG) {
+ Log.d(TAG, METHOD_NAME_SET_EMERGENCY_GESTURE_UI_SHOWING);
+ }
+ long now = SystemClock.elapsedRealtime();
+ final int gestureUiShowingValue = extras.getInt(
+ EMERGENCY_GESTURE_UI_SHOWING_VALUE);
+ Settings.Secure.putInt(getContext().getContentResolver(),
+ Settings.Secure.EMERGENCY_GESTURE_UI_SHOWING, gestureUiShowingValue);
+ if (gestureUiShowingValue != 0) {
+ Settings.Secure.putLong(getContext().getContentResolver(),
+ Settings.Secure.EMERGENCY_GESTURE_UI_LAST_STARTED_MILLIS, now);
+ }
+ break;
case METHOD_NAME_SET_EMERGENCY_SOUND:
if (DEBUG) {
Log.d(TAG, METHOD_NAME_SET_EMERGENCY_SOUND);
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 8d4d688b..933289e7 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -16,10 +16,10 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="1090682794607161063">"Info til nødsituationer"</string>
+ <string name="app_label" msgid="1090682794607161063">"Nødoplysninger"</string>
<string name="medical_info_title" msgid="3000192781136934887">"Helbredsoplysninger"</string>
<string name="add_medical_info" msgid="483921612415907139">"Tilføj oplysninger"</string>
- <string name="edit_info" msgid="5973929805855224805">"Rediger info til nødsituationer"</string>
+ <string name="edit_info" msgid="5973929805855224805">"Rediger nødoplysninger"</string>
<string name="tab_title_info" msgid="1402033103294855812">"Info"</string>
<string name="tab_title_contacts" msgid="4298341166404791209">"Kontakter"</string>
<string name="name" msgid="4286267457738861977">"Navn"</string>
@@ -87,7 +87,7 @@
<!-- no translation found for organ_donor_entries:0 (4680498266537823362) -->
<!-- no translation found for organ_donor_entries:1 (4906312680266515592) -->
<!-- no translation found for organ_donor_entries:2 (9037713957399818892) -->
- <string name="emergency_contacts_title" msgid="5462202017417821030">"Kontaktpersoner ved nødsituationer"</string>
+ <string name="emergency_contacts_title" msgid="5462202017417821030">"Nødkontakter"</string>
<string name="add_emergency_contact" msgid="4063577069613981029">"Tilføj kontakt"</string>
<string name="fail_load_contact_picker" msgid="817205483833876726">"Der blev ikke fundet en kontaktpersonvælger"</string>
<string name="fail_display_contact" msgid="4128854688897045879">"Kontaktpersonen kan ikke vises"</string>
@@ -104,7 +104,7 @@
<string name="clear" msgid="3648880442502887163">"Ryd"</string>
<string name="clear_all_message" msgid="1548432000373861295">"Vil du rydde alle oplysninger og kontakter?"</string>
<string name="emergency_info_footer" msgid="8751758742506410146">"Hvis du tilføjer helbredsoplysninger og kontakter til brug i nødsituationer, kan det hjælpe førstehjælpsydere i en nødsituation.\n\nAlle kan få adgang til disse oplysninger på din låseskærm og ringe til dine kontakter ved at trykke på deres navne uden at låse telefonen op."</string>
- <string name="settings_suggestion_title" msgid="2503369576806243476">"Tilføj info til nødsituationer"</string>
+ <string name="settings_suggestion_title" msgid="2503369576806243476">"Tilføj nødoplysninger"</string>
<string name="settings_suggestion_body" msgid="5559349261345837716">"Lad førstehjælpsydere se dine oplysninger"</string>
<string name="user_image_take_photo" msgid="2779924488370750102">"Tag et billede"</string>
<string name="user_image_choose_photo" msgid="2442095378052415700">"Vælg et billede"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index dfcbde4c..9f7d34dc 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -77,7 +77,7 @@
<string name="medications" msgid="644428945685557183">"Medikamente"</string>
<string name="unknown_medications" msgid="2764171064510423734">"Unbekannt"</string>
<string name="medications_hint" msgid="3221620025945593723">"Beispiel: Aspirin"</string>
- <string name="medical_conditions" msgid="3555690011498283592">"Medizinische Informationen"</string>
+ <string name="medical_conditions" msgid="3555690011498283592">"Medizinische Daten"</string>
<string name="unknown_medical_conditions" msgid="8051364895172053770">"Unbekannt"</string>
<string name="medical_conditions_hint" msgid="6959152183029062882">"Beispiel: Asthma"</string>
<string name="organ_donor" msgid="5953509460007124827">"Organspender"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 81d9b741..63be87b4 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="1090682794607161063">"Informazioni per le emergenze"</string>
+ <string name="app_label" msgid="1090682794607161063">"Informazioni d\'emergenza"</string>
<string name="medical_info_title" msgid="3000192781136934887">"Informazioni mediche"</string>
<string name="add_medical_info" msgid="483921612415907139">"Aggiungi informazioni"</string>
<string name="edit_info" msgid="5973929805855224805">"Modifica informazioni per le emergenze"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 93798417..a2433ca9 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -21,7 +21,7 @@
<string name="add_medical_info" msgid="483921612415907139">"जानकारी थप्नुहोस्"</string>
<string name="edit_info" msgid="5973929805855224805">"आपत्‌कालीन जानकारीलाई सम्पादन गर्नुहोस्"</string>
<string name="tab_title_info" msgid="1402033103294855812">"जानकारी"</string>
- <string name="tab_title_contacts" msgid="4298341166404791209">"सम्पर्कहरू"</string>
+ <string name="tab_title_contacts" msgid="4298341166404791209">"कन्ट्याक्टहरू"</string>
<string name="name" msgid="4286267457738861977">"नाम"</string>
<string name="unknown_name" msgid="2834802479170495056">"अज्ञात"</string>
<string name="address" msgid="6449303483151189969">"ठेगाना"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index c688a241..55bed60f 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -102,7 +102,7 @@
<string name="tap_pencil" msgid="3429817710241457947">"Com o telemóvel desbloqueado, toque no ícone de lápis para adicionar informações que são apresentadas aqui em caso de emergência"</string>
<string name="clear_all" msgid="8899013032870561633">"Limpar tudo"</string>
<string name="clear" msgid="3648880442502887163">"Limpar"</string>
- <string name="clear_all_message" msgid="1548432000373861295">"Pretende limpar todas as informações e contactos?"</string>
+ <string name="clear_all_message" msgid="1548432000373861295">"Quer limpar todas as informações e contactos?"</string>
<string name="emergency_info_footer" msgid="8751758742506410146">"Adicionar informações médicas e contactos de emergência pode ajudar os socorristas numa situação de emergência.\n\nQualquer pessoa pode ler estas informações no ecrã de bloqueio e marcar os números dos seus contactos ao tocar nos respetivos nomes sem desbloquear o telemóvel."</string>
<string name="settings_suggestion_title" msgid="2503369576806243476">"Adicionar informações de emergência"</string>
<string name="settings_suggestion_body" msgid="5559349261345837716">"Permita que os socorristas vejam as suas informações."</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index d12e53da..1e51d01a 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="1090682794607161063">"Informações de emergência"</string>
- <string name="medical_info_title" msgid="3000192781136934887">"Informações médicas"</string>
+ <string name="medical_info_title" msgid="3000192781136934887">"Informações de saúde"</string>
<string name="add_medical_info" msgid="483921612415907139">"Adicionar informações"</string>
<string name="edit_info" msgid="5973929805855224805">"Edita as informações de emergência"</string>
<string name="tab_title_info" msgid="1402033103294855812">"Informações"</string>
@@ -103,7 +103,7 @@
<string name="clear_all" msgid="8899013032870561633">"Remover tudo"</string>
<string name="clear" msgid="3648880442502887163">"Limpar"</string>
<string name="clear_all_message" msgid="1548432000373861295">"Limpar todas as informações e contatos?"</string>
- <string name="emergency_info_footer" msgid="8751758742506410146">"Adicionar informações médicas e contatos de emergência pode ajudar os socorristas em uma emergência.\n\nQualquer pessoa pode ler essas informações na tela de bloqueio e ligar para seus contatos tocando no nome deles sem desbloquear o smartphone."</string>
+ <string name="emergency_info_footer" msgid="8751758742506410146">"Adicionar informações de saúde e contatos de emergência pode ajudar os socorristas em uma emergência.\n\nQualquer pessoa pode ler essas informações na tela de bloqueio e ligar para seus contatos tocando no nome deles sem desbloquear o smartphone."</string>
<string name="settings_suggestion_title" msgid="2503369576806243476">"Adicionar informações de emergência"</string>
<string name="settings_suggestion_body" msgid="5559349261345837716">"Permita que os socorristas vejam suas informações"</string>
<string name="user_image_take_photo" msgid="2779924488370750102">"Tirar uma foto"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index f647ae90..0a7833f3 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="1090682794607161063">"緊急資料"</string>
- <string name="medical_info_title" msgid="3000192781136934887">"醫療資訊"</string>
+ <string name="medical_info_title" msgid="3000192781136934887">"醫療資料"</string>
<string name="add_medical_info" msgid="483921612415907139">"新增資訊"</string>
<string name="edit_info" msgid="5973929805855224805">"編輯緊急資料"</string>
<string name="tab_title_info" msgid="1402033103294855812">"資訊"</string>
@@ -103,7 +103,7 @@
<string name="clear_all" msgid="8899013032870561633">"全部清除"</string>
<string name="clear" msgid="3648880442502887163">"清除"</string>
<string name="clear_all_message" msgid="1548432000373861295">"要清除所有資料和聯絡人嗎?"</string>
- <string name="emergency_info_footer" msgid="8751758742506410146">"新増醫療資訊和緊急聯絡人可以協助先遣急救員處理緊急情況。\n\n在你的手機未解鎖的情況下,任何人都能在上鎖畫面中查看這些資料,並透過輕按緊急聯絡人姓名來撥打對方的號碼。"</string>
+ <string name="emergency_info_footer" msgid="8751758742506410146">"新増醫療資料和緊急聯絡人可以協助先遣急救員處理緊急情況。\n\n在你的手機未解鎖的情況下,任何人都能在上鎖畫面中查看這些資料,並透過輕按緊急聯絡人姓名來撥打對方的號碼。"</string>
<string name="settings_suggestion_title" msgid="2503369576806243476">"新增緊急資料"</string>
<string name="settings_suggestion_body" msgid="5559349261345837716">"讓先遣急救員查看你的資料"</string>
<string name="user_image_take_photo" msgid="2779924488370750102">"拍攝相片"</string>
diff --git a/src/com/android/emergency/preferences/EmergencyContactsPreference.java b/src/com/android/emergency/preferences/EmergencyContactsPreference.java
index 4756c36c..b3b66311 100644
--- a/src/com/android/emergency/preferences/EmergencyContactsPreference.java
+++ b/src/com/android/emergency/preferences/EmergencyContactsPreference.java
@@ -20,6 +20,7 @@ import android.content.SharedPreferences;
import android.content.res.TypedArray;
import android.net.Uri;
import androidx.annotation.NonNull;
+import android.os.UserManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceManager;
@@ -280,7 +281,10 @@ public class EmergencyContactsPreference extends PreferenceCategory
@VisibleForTesting
void persistEmergencyContacts(List<Uri> emergencyContacts) {
- persistString(serialize(emergencyContacts));
+ // Avoid persisting emergency contacts in direct boot mode.
+ if (isUserUnlocked(getContext())) {
+ persistString(serialize(emergencyContacts));
+ }
}
private static List<Uri> deserializeAndFilter(String key, Context context,
@@ -299,11 +303,20 @@ public class EmergencyContactsPreference extends PreferenceCategory
// in shared preferences. This deals with emergency contacts being deleted from contacts:
// currently we have no way to being notified when this happens.
if (filteredEmergencyContacts.size() != emergencyContactsArray.length) {
- String emergencyContactStrings = serialize(filteredEmergencyContacts);
- SharedPreferences sharedPreferences =
- PreferenceManager.getDefaultSharedPreferences(context);
- sharedPreferences.edit().putString(key, emergencyContactStrings).commit();
+ // Avoid updating emergency contacts in direct boot mode.
+ if (isUserUnlocked(context)) {
+ String emergencyContactStrings = serialize(filteredEmergencyContacts);
+ SharedPreferences sharedPreferences =
+ PreferenceManager.getDefaultSharedPreferences(context);
+ sharedPreferences.edit().putString(key, emergencyContactStrings).commit();
+ }
}
return filteredEmergencyContacts;
}
+
+ private static boolean isUserUnlocked(Context context) {
+ UserManager userManager = context.getSystemService(UserManager.class);
+ return userManager != null && userManager.isUserUnlocked();
+ }
+
}