diff options
Diffstat (limited to 'src/com/android/incallui/SelectPhoneAccountDialogFragment.java')
-rw-r--r-- | src/com/android/incallui/SelectPhoneAccountDialogFragment.java | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/src/com/android/incallui/SelectPhoneAccountDialogFragment.java b/src/com/android/incallui/SelectPhoneAccountDialogFragment.java deleted file mode 100644 index e6c78c6d..00000000 --- a/src/com/android/incallui/SelectPhoneAccountDialogFragment.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.incallui; - -import android.telecom.PhoneAccount; -import android.telecom.PhoneAccountHandle; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.app.FragmentManager; -import android.content.Context; -import android.content.DialogInterface; -import android.os.Bundle; -import android.telecom.TelecomManager; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.ImageView; -import android.widget.ListAdapter; -import android.widget.TextView; - -import com.android.contacts.common.R; - -import java.util.List; - -/** - * Dialog that allows the user to switch between default SIM cards - */ -public class SelectPhoneAccountDialogFragment extends DialogFragment { - private List<PhoneAccountHandle> mAccountHandles; - private boolean mIsSelected; - private TelecomManager mTelecomManager; - - /** - * Shows the account selection dialog. - * This is the preferred way to show this dialog. - * - * @param fragmentManager The fragment manager. - * @param accountHandles The {@code PhoneAccountHandle}s available to select from. - */ - public static void showAccountDialog(FragmentManager fragmentManager, - List<PhoneAccountHandle> accountHandles) { - SelectPhoneAccountDialogFragment fragment = - new SelectPhoneAccountDialogFragment(accountHandles); - fragment.show(fragmentManager, "selectAccount"); - } - - public SelectPhoneAccountDialogFragment(List<PhoneAccountHandle> accountHandles) { - super(); - mAccountHandles = accountHandles; - } - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - mIsSelected = false; - mTelecomManager = - (TelecomManager) getActivity().getSystemService(Context.TELECOM_SERVICE); - - final DialogInterface.OnClickListener selectionListener = - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mIsSelected = true; - PhoneAccountHandle selectedAccountHandle = mAccountHandles.get(which); - InCallPresenter.getInstance().handleAccountSelection(selectedAccountHandle, - mIsSelected); - } - }; - - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - - ListAdapter selectAccountListAdapter = new SelectAccountListAdapter( - builder.getContext(), - R.layout.select_account_list_item, - mAccountHandles); - - return builder.setTitle(R.string.select_account_dialog_title) - .setAdapter(selectAccountListAdapter, selectionListener) - .create(); - } - - private class SelectAccountListAdapter extends ArrayAdapter<PhoneAccountHandle> { - private Context mContext; - private int mResId; - - public SelectAccountListAdapter( - Context context, int resource, List<PhoneAccountHandle> accountHandles) { - super(context, resource, accountHandles); - mContext = context; - mResId = resource; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - LayoutInflater inflater = (LayoutInflater) - mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - - View rowView; - final ViewHolder holder; - - if (convertView == null) { - // Cache views for faster scrolling - rowView = inflater.inflate(mResId, null); - holder = new ViewHolder(); - holder.textView = (TextView) rowView.findViewById(R.id.text); - holder.imageView = (ImageView) rowView.findViewById(R.id.icon); - rowView.setTag(holder); - } - else { - rowView = convertView; - holder = (ViewHolder) rowView.getTag(); - } - - PhoneAccountHandle accountHandle = getItem(position); - PhoneAccount account = mTelecomManager.getPhoneAccount(accountHandle); - holder.textView.setText(account.getLabel()); - holder.imageView.setImageDrawable(account.createIconDrawable(mContext)); - return rowView; - } - - private class ViewHolder { - TextView textView; - ImageView imageView; - } - } - - @Override - public void onPause() { - if (!mIsSelected) { - InCallPresenter.getInstance().cancelAccountSelection(); - } - super.onPause(); - } -} |