diff options
author | Nancy Chen <nancychen@google.com> | 2014-09-18 19:05:48 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-18 19:05:48 +0000 |
commit | 532c2ded6e1f4d4758c63ce2cd6ab9c2152fbfa4 (patch) | |
tree | 84436922c52a47a2f860fb0706aedc417c733fa4 /InCallUI | |
parent | debeb6b926bd54653f2228240a959704ca580040 (diff) | |
parent | 2726c78622717d3ae2b293abb570cf4171a5fa0c (diff) |
am 829f8a14: am 06fda829: Merge "Replace get*PhoneAccounts* public API methods with new method (3/3)" into lmp-dev
* commit '829f8a149e4b4c048b2ac264ee6190c1225f0d1c':
Replace get*PhoneAccounts* public API methods with new method (3/3)
Diffstat (limited to 'InCallUI')
-rw-r--r-- | InCallUI/src/com/android/incallui/InCallActivity.java | 17 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java | 14 |
2 files changed, 22 insertions, 9 deletions
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java index b511df467..2941e1e8d 100644 --- a/InCallUI/src/com/android/incallui/InCallActivity.java +++ b/InCallUI/src/com/android/incallui/InCallActivity.java @@ -30,6 +30,7 @@ import android.graphics.Point; import android.net.Uri; import android.os.Bundle; import android.telecom.DisconnectCause; +import android.telecom.PhoneAccountHandle; import android.text.TextUtils; import android.view.MenuItem; import android.view.animation.Animation; @@ -45,6 +46,8 @@ import com.android.phone.common.animation.AnimationListenerAdapter; import com.android.contacts.common.interactions.TouchPointManager; import com.android.incallui.Call.State; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; /** @@ -492,9 +495,19 @@ public class InCallActivity extends Activity { Call pendingAccountSelectionCall = CallList.getInstance().getWaitingForAccountCall(); if (pendingAccountSelectionCall != null) { mCallCardFragment.setVisible(false); - Uri handle = pendingAccountSelectionCall.getHandle(); + Bundle extras = pendingAccountSelectionCall + .getTelecommCall().getDetails().getExtras(); + + final List<PhoneAccountHandle> phoneAccountHandles; + if (extras != null) { + phoneAccountHandles = extras.getParcelableArrayList( + android.telecom.Call.AVAILABLE_PHONE_ACCOUNTS); + } else { + phoneAccountHandles = new ArrayList<>(); + } + SelectPhoneAccountDialogFragment.showAccountDialog(getFragmentManager(), - handle.getScheme()); + phoneAccountHandles); } else { mCallCardFragment.setVisible(true); } diff --git a/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java b/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java index aeb14dfbf..49f23b72b 100644 --- a/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java +++ b/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java @@ -46,23 +46,24 @@ public class SelectPhoneAccountDialogFragment extends DialogFragment { private List<PhoneAccountHandle> mAccountHandles; private boolean mIsSelected; private TelecomManager mTelecomManager; - private final String mUriScheme; /** * Shows the account selection dialog. * This is the preferred way to show this dialog. * * @param fragmentManager The fragment manager. - * @param uriScheme The URI scheme of the call we need to choose an account for. + * @param accountHandles The {@code PhoneAccountHandle}s available to select from. */ - public static void showAccountDialog(FragmentManager fragmentManager, String uriScheme) { - SelectPhoneAccountDialogFragment fragment = new SelectPhoneAccountDialogFragment(uriScheme); + public static void showAccountDialog(FragmentManager fragmentManager, + List<PhoneAccountHandle> accountHandles) { + SelectPhoneAccountDialogFragment fragment = + new SelectPhoneAccountDialogFragment(accountHandles); fragment.show(fragmentManager, "selectAccount"); } - public SelectPhoneAccountDialogFragment(String uriScheme) { + public SelectPhoneAccountDialogFragment(List<PhoneAccountHandle> accountHandles) { super(); - mUriScheme = uriScheme; + mAccountHandles = accountHandles; } @Override @@ -70,7 +71,6 @@ public class SelectPhoneAccountDialogFragment extends DialogFragment { mIsSelected = false; mTelecomManager = (TelecomManager) getActivity().getSystemService(Context.TELECOM_SERVICE); - mAccountHandles = mTelecomManager.getPhoneAccountsSupportingScheme(mUriScheme); final DialogInterface.OnClickListener selectionListener = new DialogInterface.OnClickListener() { |