12fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng/*
22fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * Copyright (C) 2013 The Android Open Source Project
32fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng *
42fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * Licensed under the Apache License, Version 2.0 (the "License");
52fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * you may not use this file except in compliance with the License.
62fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * You may obtain a copy of the License at
72fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng *
82fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng *      http://www.apache.org/licenses/LICENSE-2.0
92fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng *
102fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * Unless required by applicable law or agreed to in writing, software
112fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * distributed under the License is distributed on an "AS IS" BASIS,
122fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * See the License for the specific language governing permissions and
142fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * limitations under the License.
152fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng */
162fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
172fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengpackage com.android.incallui;
182fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
192fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengimport android.app.AlertDialog;
202fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengimport android.app.Dialog;
212fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengimport android.app.DialogFragment;
222fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengimport android.content.DialogInterface;
232fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengimport android.os.Bundle;
242fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengimport android.view.WindowManager;
252fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
262fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng/**
272fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * Pop up an alert dialog with OK and Cancel buttons to allow user to Accept or Reject the WAIT
282fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng * inserted as part of the Dial string.
292fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng */
302fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Chengpublic class PostCharDialogFragment extends DialogFragment {
312fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
326af0c61c32da6cfb400168ae3b0cf9f802abfed4Sailesh Nepal    private String mCallId;
332fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    private String mPostDialStr;
342fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
356af0c61c32da6cfb400168ae3b0cf9f802abfed4Sailesh Nepal    public PostCharDialogFragment(String callId, String postDialStr) {
362fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        mCallId = callId;
372fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        mPostDialStr = postDialStr;
382fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    }
392fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
402fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    @Override
412fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    public Dialog onCreateDialog(Bundle savedInstanceState) {
422fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        super.onCreateDialog(savedInstanceState);
432fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
442fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        final StringBuilder buf = new StringBuilder();
452fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        buf.append(getResources().getText(R.string.wait_prompt_str));
462fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        buf.append(mPostDialStr);
472fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
482fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
492fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        builder.setMessage(buf.toString());
502fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
512fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        builder.setPositiveButton(R.string.pause_prompt_yes, new DialogInterface.OnClickListener() {
522fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng            @Override
532fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng            public void onClick(DialogInterface dialog, int whichButton) {
546cddf46812634fadc194830774110780f14e9462Tyler Gunn                TelecomAdapter.getInstance().postDialContinue(mCallId, true);
552fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng            }
562fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        });
572fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        builder.setNegativeButton(R.string.pause_prompt_no, new DialogInterface.OnClickListener() {
582fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng            @Override
592fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng            public void onClick(DialogInterface dialog, int whichButton) {
602fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng                dialog.cancel();
612fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng            }
622fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        });
632fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
642fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        final AlertDialog dialog = builder.create();
652fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
662fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        return dialog;
672fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    }
682fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
692fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    @Override
702fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    public void onCancel(DialogInterface dialog) {
712fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng        super.onCancel(dialog);
722fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng
736cddf46812634fadc194830774110780f14e9462Tyler Gunn        TelecomAdapter.getInstance().postDialContinue(mCallId, false);
742fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng    }
752fa6baa2e70e26f6c6f3681e804c33677384fbd7Chiao Cheng}
76