From 432650df20bd70893265669ece4d52dfb200b796 Mon Sep 17 00:00:00 2001 From: yuanjiahsu Date: Wed, 7 Nov 2018 13:33:12 +0800 Subject: [PATCH] Link overlay emergency app by feature flag Add feature flag to link overlay emergency app instead of Emergency Info app for teamfood in the future. Test: Manually Bug: 118809382 Change-Id: I7956704b9d134647cc0a1a5975a0bf8bea482422 --- res/values/config.xml | 10 +++++++++ .../EmergencyInfoPreferenceController.java | 21 +++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/res/values/config.xml b/res/values/config.xml index d487f46321f..917f14d4d6a 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -150,4 +150,14 @@ com.android.settings.intelligence + + + + com.android.emergency + + + + android.settings.EDIT_EMERGENCY_INFO + + diff --git a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java index 31e5613541c..408db09c230 100644 --- a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java +++ b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java @@ -22,6 +22,7 @@ import android.content.pm.UserInfo; import android.content.res.Resources; import android.os.UserHandle; import android.os.UserManager; +import android.util.FeatureFlagUtils; import androidx.preference.Preference; @@ -63,7 +64,7 @@ public class EmergencyInfoPreferenceController extends AbstractPreferenceControl @Override public boolean handlePreferenceTreeClick(Preference preference) { if (KEY_EMERGENCY_INFO.equals(preference.getKey())) { - Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO); + Intent intent = new Intent(getIntentAction(mContext)); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); mContext.startActivity(intent); return true; @@ -73,7 +74,7 @@ public class EmergencyInfoPreferenceController extends AbstractPreferenceControl @Override public boolean isAvailable() { - Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO).setPackage(PACKAGE_NAME_EMERGENCY); + Intent intent = new Intent(getIntentAction(mContext)).setPackage(getPackageName(mContext)); List infos = mContext.getPackageManager().queryIntentActivities(intent, 0); return infos != null && !infos.isEmpty(); } @@ -82,4 +83,20 @@ public class EmergencyInfoPreferenceController extends AbstractPreferenceControl public String getPreferenceKey() { return KEY_EMERGENCY_INFO; } + + private String getIntentAction(Context context) { + if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SAFETY_HUB)) { + return context.getResources().getString(R.string.config_emergency_intent_action); + } + + return ACTION_EDIT_EMERGENCY_INFO; + } + + private String getPackageName(Context context) { + if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SAFETY_HUB)) { + return context.getResources().getString(R.string.config_emergency_package_name); + } + + return PACKAGE_NAME_EMERGENCY; + } }