Loading src/com/android/settings/applications/DefaultEmergencyPreference.java +15 −6 Original line number Diff line number Diff line Loading @@ -43,6 +43,9 @@ public class DefaultEmergencyPreference extends AppListPreference { private final ContentResolver mContentResolver; public static final Intent QUERY_INTENT = new Intent( TelephonyManager.ACTION_EMERGENCY_ASSISTANCE); public DefaultEmergencyPreference(Context context, AttributeSet attrs) { super(context, attrs); mContentResolver = context.getContentResolver(); Loading Loading @@ -85,18 +88,19 @@ public class DefaultEmergencyPreference extends AppListPreference { private Set<String> resolveAssistPackageAndQueryApps() { Set<String> packages = new ArraySet<>(); Intent queryIntent = new Intent(TelephonyManager.ACTION_EMERGENCY_ASSISTANCE); PackageManager packageManager = getContext().getPackageManager(); List<ResolveInfo> infos = packageManager.queryIntentActivities(queryIntent, 0); List<ResolveInfo> infos = packageManager.queryIntentActivities(QUERY_INTENT, 0); PackageInfo bestMatch = null; for (int i = 0; i < infos.size(); i++) { if (infos.get(i) == null || infos.get(i).activityInfo == null || packages.contains(infos.get(i).activityInfo.packageName)) { final int size = infos.size(); for (int i = 0; i < size; i++) { ResolveInfo info = infos.get(i); if (info == null || info.activityInfo == null || packages.contains(info.activityInfo.packageName)) { continue; } String packageName = infos.get(i).activityInfo.packageName; String packageName = info.activityInfo.packageName; packages.add(packageName); Loading Loading @@ -130,6 +134,11 @@ public class DefaultEmergencyPreference extends AppListPreference { } public static boolean isAvailable(Context context) { return isCapable(context) && context.getPackageManager().resolveActivity(QUERY_INTENT, 0) != null; } public static boolean isCapable(Context context) { return context.getResources().getBoolean( com.android.internal.R.bool.config_voice_capable); } Loading src/com/android/settings/applications/ManageDefaultApps.java +6 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; import java.util.ArrayList; Loading Loading @@ -86,6 +87,11 @@ public class ManageDefaultApps extends SettingsPreferenceFragment if (!DefaultEmergencyPreference.isAvailable(getActivity())) { removePreference(KEY_DEFAULT_EMERGENCY_APP); } if (DefaultEmergencyPreference.isCapable(getActivity())) { Index.getInstance(getActivity()).updateFromClassNameResource( ManageDefaultApps.class.getName(), true, true); } } @Override Loading Loading
src/com/android/settings/applications/DefaultEmergencyPreference.java +15 −6 Original line number Diff line number Diff line Loading @@ -43,6 +43,9 @@ public class DefaultEmergencyPreference extends AppListPreference { private final ContentResolver mContentResolver; public static final Intent QUERY_INTENT = new Intent( TelephonyManager.ACTION_EMERGENCY_ASSISTANCE); public DefaultEmergencyPreference(Context context, AttributeSet attrs) { super(context, attrs); mContentResolver = context.getContentResolver(); Loading Loading @@ -85,18 +88,19 @@ public class DefaultEmergencyPreference extends AppListPreference { private Set<String> resolveAssistPackageAndQueryApps() { Set<String> packages = new ArraySet<>(); Intent queryIntent = new Intent(TelephonyManager.ACTION_EMERGENCY_ASSISTANCE); PackageManager packageManager = getContext().getPackageManager(); List<ResolveInfo> infos = packageManager.queryIntentActivities(queryIntent, 0); List<ResolveInfo> infos = packageManager.queryIntentActivities(QUERY_INTENT, 0); PackageInfo bestMatch = null; for (int i = 0; i < infos.size(); i++) { if (infos.get(i) == null || infos.get(i).activityInfo == null || packages.contains(infos.get(i).activityInfo.packageName)) { final int size = infos.size(); for (int i = 0; i < size; i++) { ResolveInfo info = infos.get(i); if (info == null || info.activityInfo == null || packages.contains(info.activityInfo.packageName)) { continue; } String packageName = infos.get(i).activityInfo.packageName; String packageName = info.activityInfo.packageName; packages.add(packageName); Loading Loading @@ -130,6 +134,11 @@ public class DefaultEmergencyPreference extends AppListPreference { } public static boolean isAvailable(Context context) { return isCapable(context) && context.getPackageManager().resolveActivity(QUERY_INTENT, 0) != null; } public static boolean isCapable(Context context) { return context.getResources().getBoolean( com.android.internal.R.bool.config_voice_capable); } Loading
src/com/android/settings/applications/ManageDefaultApps.java +6 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; import java.util.ArrayList; Loading Loading @@ -86,6 +87,11 @@ public class ManageDefaultApps extends SettingsPreferenceFragment if (!DefaultEmergencyPreference.isAvailable(getActivity())) { removePreference(KEY_DEFAULT_EMERGENCY_APP); } if (DefaultEmergencyPreference.isCapable(getActivity())) { Index.getInstance(getActivity()).updateFromClassNameResource( ManageDefaultApps.class.getName(), true, true); } } @Override Loading