diff options
Diffstat (limited to 'src/com')
4 files changed, 27 insertions, 11 deletions
diff --git a/src/com/android/emergency/EmergencyTabActivity.java b/src/com/android/emergency/EmergencyTabActivity.java index 88aaf3e..8ce2e2c 100644 --- a/src/com/android/emergency/EmergencyTabActivity.java +++ b/src/com/android/emergency/EmergencyTabActivity.java @@ -125,11 +125,16 @@ public abstract class EmergencyTabActivity extends Activity { return mFragments.size(); } + /** Return the adapter. */ + protected ViewPagerAdapter getTabsAdapter() { + return mTabsAdapter; + } + /** Returns the fragments to show in the tabs. */ protected abstract ArrayList<Pair<String, Fragment>> setUpFragments(); /** The adapter used to handle the two fragments. */ - private class ViewPagerAdapter extends FragmentStatePagerAdapter { + protected class ViewPagerAdapter extends FragmentStatePagerAdapter { public ViewPagerAdapter(FragmentManager fm) { super(fm); } diff --git a/src/com/android/emergency/edit/EditInfoActivity.java b/src/com/android/emergency/edit/EditInfoActivity.java index c2ac029..66e3480 100644 --- a/src/com/android/emergency/edit/EditInfoActivity.java +++ b/src/com/android/emergency/edit/EditInfoActivity.java @@ -143,13 +143,10 @@ public class EditInfoActivity extends EmergencyTabActivity { sharedPreferences.edit().remove(PreferenceKeys.KEY_EMERGENCY_CONTACTS).commit(); // Refresh the UI. - ArrayList<Pair<String, Fragment>> fragments = getFragments(); - EditEmergencyInfoFragment editEmergencyInfoFragment = - (EditEmergencyInfoFragment) fragments.get(0).second; - editEmergencyInfoFragment.reloadFromPreference(); - EditEmergencyContactsFragment editEmergencyContactsFragment = - (EditEmergencyContactsFragment) fragments.get(1).second; - editEmergencyContactsFragment.reloadFromPreference(); + ViewPagerAdapter adapter = getTabsAdapter(); + if (adapter != null){ + adapter.notifyDataSetChanged(); + } } /** diff --git a/src/com/android/emergency/preferences/ContactPreference.java b/src/com/android/emergency/preferences/ContactPreference.java index d4549eb..7262a36 100644 --- a/src/com/android/emergency/preferences/ContactPreference.java +++ b/src/com/android/emergency/preferences/ContactPreference.java @@ -16,9 +16,12 @@ package com.android.emergency.preferences; import android.app.AlertDialog; +import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; @@ -38,6 +41,8 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settingslib.drawable.CircleFramedDrawable; +import java.util.List; + /** * A {@link Preference} to display or call a contact using the specified URI string. @@ -176,6 +181,15 @@ public class ContactPreference extends Preference { public void callContact() { Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + mContact.getPhoneNumber())); + PackageManager packageManager = getContext().getPackageManager(); + List<ResolveInfo> infos = + packageManager.queryIntentActivities(callIntent, PackageManager.MATCH_SYSTEM_ONLY); + if (infos == null || infos.isEmpty()) { + return; + } + callIntent.setComponent(new ComponentName(infos.get(0).activityInfo.packageName, + infos.get(0).activityInfo.name)); + MetricsLogger.action(getContext(), MetricsEvent.ACTION_CALL_EMERGENCY_CONTACT); getContext().startActivity(callIntent); } @@ -258,4 +272,4 @@ public class ContactPreference extends Preference { } }; } -}
\ No newline at end of file +} diff --git a/src/com/android/emergency/view/ViewInfoActivity.java b/src/com/android/emergency/view/ViewInfoActivity.java index 639c283..6d7c156 100644 --- a/src/com/android/emergency/view/ViewInfoActivity.java +++ b/src/com/android/emergency/view/ViewInfoActivity.java @@ -88,7 +88,7 @@ public class ViewInfoActivity extends EmergencyTabActivity { // Show a TextView with "No information provided" if there are no fragments. if (getNumberFragments() == 0) { mViewFlipper.setDisplayedChild( - mViewFlipper.indexOfChild(findViewById(R.id.no_info_text_view))); + mViewFlipper.indexOfChild(findViewById(R.id.no_info))); } else { mViewFlipper.setDisplayedChild(mViewFlipper.indexOfChild(findViewById(R.id.tabs))); } @@ -135,4 +135,4 @@ public class ViewInfoActivity extends EmergencyTabActivity { } return fragments; } -}
\ No newline at end of file +} |