Merge "Link overlay emergency app by feature flag"
This commit is contained in:
@@ -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>
|
||||
|
@@ -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<ResolveInfo> 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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user