1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License
15  */
16 
17 package com.android.packageinstaller.handheld;
18 
19 import android.app.Activity;
20 import android.app.AlertDialog;
21 import android.app.Dialog;
22 import android.app.DialogFragment;
23 import android.content.DialogInterface;
24 import android.os.Bundle;
25 
26 import com.android.packageinstaller.UninstallerActivity;
27 
28 public class ErrorDialogFragment extends DialogFragment {
29     public static final String TITLE = "com.android.packageinstaller.arg.title";
30     public static final String TEXT = "com.android.packageinstaller.arg.text";
31 
32     @Override
onCreateDialog(Bundle savedInstanceState)33     public Dialog onCreateDialog(Bundle savedInstanceState) {
34         AlertDialog.Builder b = new AlertDialog.Builder(getActivity())
35                 .setMessage(getArguments().getInt(TEXT))
36                 .setPositiveButton(android.R.string.ok, null);
37 
38         if (getArguments().containsKey(TITLE)) {
39             b.setTitle(getArguments().getInt(TITLE));
40         }
41 
42         return b.create();
43     }
44 
45     @Override
onDismiss(DialogInterface dialog)46     public void onDismiss(DialogInterface dialog) {
47         super.onDismiss(dialog);
48         if (isAdded()) {
49             if (getActivity() instanceof UninstallerActivity) {
50                 ((UninstallerActivity) getActivity()).dispatchAborted();
51             }
52 
53             getActivity().setResult(Activity.RESULT_FIRST_USER);
54             getActivity().finish();
55         }
56     }
57 }
58