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