79 lines
3.2 KiB
Java
79 lines
3.2 KiB
Java
/*
|
|
* Copyright (C) 2012-2014 Dominik Schürmann <dominik@dominikschuermann.de>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package org.sufficientlysecure.keychain.ui.dialog;
|
|
|
|
import android.app.Dialog;
|
|
import android.os.Bundle;
|
|
import android.os.Messenger;
|
|
import android.support.annotation.NonNull;
|
|
import android.support.v4.app.DialogFragment;
|
|
|
|
import org.sufficientlysecure.keychain.ui.util.InstallDialogFragmentHelper;
|
|
|
|
public class SupportInstallDialogFragment extends DialogFragment {
|
|
|
|
public static final int MESSAGE_MIDDLE_CLICKED = 1;
|
|
public static final int MESSAGE_DIALOG_DISMISSED = 2;
|
|
|
|
/**
|
|
* Creates a dialog which prompts the user to install an application. Consists of two default buttons ("Install"
|
|
* and "Cancel") and an optional third button. Callbacks are provided only for the middle button, if set.
|
|
*
|
|
* @param messenger required only for callback from middle button if it has been set
|
|
* @param title xml resource for title of the install dialog
|
|
* @param message content of dialog
|
|
* @param packageToInstall package name of application to install
|
|
* @param middleButton if not null, adds a third button to the app with a call back
|
|
* @return The dialog to display
|
|
*/
|
|
public static SupportInstallDialogFragment newInstance(Messenger messenger, int title, int message,
|
|
String packageToInstall, int middleButton, boolean
|
|
useMiddleButton) {
|
|
SupportInstallDialogFragment frag = new SupportInstallDialogFragment();
|
|
Bundle args = new Bundle();
|
|
|
|
InstallDialogFragmentHelper.wrapIntoArgs(messenger, title, message, packageToInstall, middleButton,
|
|
useMiddleButton, args);
|
|
|
|
frag.setArguments(args);
|
|
|
|
return frag;
|
|
}
|
|
|
|
/**
|
|
* To create a DialogFragment with only two buttons
|
|
*
|
|
* @param title xml string resource for title of the dialog
|
|
* @param message xml string resource to display as dialog body
|
|
* @param packageToInstall name of package to install
|
|
* @return
|
|
*/
|
|
public static SupportInstallDialogFragment newInstance(int title, int message,
|
|
String packageToInstall) {
|
|
return newInstance(null, title, message, packageToInstall, -1, false);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
|
|
return InstallDialogFragmentHelper.getInstallDialogFromArgs(getArguments(), getActivity(),
|
|
MESSAGE_MIDDLE_CLICKED, MESSAGE_DIALOG_DISMISSED);
|
|
}
|
|
}
|