Loading res/values/config.xml +10 −0 Original line number Diff line number Diff line Loading @@ -150,4 +150,14 @@ <string name="config_settingsintelligence_package_name" translatable="false"> com.android.settings.intelligence </string> <!-- Emergency app package name --> <string name="config_emergency_package_name" translatable="false"> com.android.emergency </string> <!-- Emergency app intent action --> <string name="config_emergency_intent_action" translatable="false"> android.settings.EDIT_EMERGENCY_INFO </string> </resources> src/com/android/settings/accounts/EmergencyInfoPreferenceController.java +19 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -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<ResolveInfo> infos = mContext.getPackageManager().queryIntentActivities(intent, 0); return infos != null && !infos.isEmpty(); } Loading @@ -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; } } Loading
res/values/config.xml +10 −0 Original line number Diff line number Diff line Loading @@ -150,4 +150,14 @@ <string name="config_settingsintelligence_package_name" translatable="false"> com.android.settings.intelligence </string> <!-- Emergency app package name --> <string name="config_emergency_package_name" translatable="false"> com.android.emergency </string> <!-- Emergency app intent action --> <string name="config_emergency_intent_action" translatable="false"> android.settings.EDIT_EMERGENCY_INFO </string> </resources>
src/com/android/settings/accounts/EmergencyInfoPreferenceController.java +19 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -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<ResolveInfo> infos = mContext.getPackageManager().queryIntentActivities(intent, 0); return infos != null && !infos.isEmpty(); } Loading @@ -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; } }