1e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina/*
2e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * Copyright 2014, The Android Open Source Project
3e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina *
4e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * Licensed under the Apache License, Version 2.0 (the "License");
5e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * you may not use this file except in compliance with the License.
6e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * You may obtain a copy of the License at
7e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina *
8e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina *      http://www.apache.org/licenses/LICENSE-2.0
9e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina *
10e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * Unless required by applicable law or agreed to in writing, software
11e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * distributed under the License is distributed on an "AS IS" BASIS,
12e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * See the License for the specific language governing permissions and
14e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * limitations under the License.
15e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina */
16e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina
17e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinapackage com.android.managedprovisioning;
18e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina
1901fe4babdd237a80514f92997e55e4b7cd90327aJessica Hummelimport android.app.Activity;
20e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinaimport android.app.AlertDialog;
21e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinaimport android.app.Dialog;
22e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinaimport android.app.DialogFragment;
23e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinaimport android.content.DialogInterface;
24e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinaimport android.os.Bundle;
25e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina
26e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina/**
27e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * Dialog used to notify the user that the managed provisioning failed, and shutdown the current
28e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * activity.
29e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina *
30e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * Note: You should not do any more work in your app after showing this dialog. See guidelines for
31e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina * {@code Activity#finish()} method call.
32e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina */
33e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghinapublic class ManagedProvisioningErrorDialog extends DialogFragment {
34e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina
35b3762e394c984b5376d4eb109d5de5528b47df10Alexandra Gherghina  private final String message;
36b3762e394c984b5376d4eb109d5de5528b47df10Alexandra Gherghina
37b3762e394c984b5376d4eb109d5de5528b47df10Alexandra Gherghina  public ManagedProvisioningErrorDialog(String message) {
38b3762e394c984b5376d4eb109d5de5528b47df10Alexandra Gherghina      super();
39b3762e394c984b5376d4eb109d5de5528b47df10Alexandra Gherghina      this.message = message;
40e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina  }
41e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina
42e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina  @Override
43e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina  public Dialog onCreateDialog(Bundle savedInstanceState) {
44e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina      // TODO: This disappears when you rotate, fix it when we refactor the app
45e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina
46e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina      AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
47e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina      // TODO: Get strings from PM.
48b6578e78ddd6950a7af450894e0105c49e1857efSander Alewijnse      alertDialogBuilder.setTitle(R.string.provisioning_error_title)
49b3762e394c984b5376d4eb109d5de5528b47df10Alexandra Gherghina              .setMessage(message)
50e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina              .setCancelable(false)
51e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina              .setPositiveButton("OK", new DialogInterface.OnClickListener() {
5201fe4babdd237a80514f92997e55e4b7cd90327aJessica Hummel                        @Override
53e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina                        public void onClick(DialogInterface dialog,int id) {
54e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina                            // Close activity
5501fe4babdd237a80514f92997e55e4b7cd90327aJessica Hummel                            getActivity().setResult(Activity.RESULT_CANCELED);
56e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina                            getActivity().finish();
57e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina                      }});
58e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina      return alertDialogBuilder.create();
59e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina  }
60e9965bbb03204d1863767f7e6c81d08208477358Alexandra Gherghina}
61