mirror of
https://github.com/ankidroid/Anki-Android.git
synced 2024-09-20 12:02:16 +02:00
Migrtated ConfirmationDialog to Kotlin.
This commit is contained in:
parent
dfedb17f23
commit
456d3fa3da
@ -43,7 +43,7 @@ permission notice:
|
||||
// Example of class name: "/com/ichi2/anki/UIUtils.kt"
|
||||
// Ensure that it starts with '/' (slash)
|
||||
def source = Source.MAIN
|
||||
def className = "/com/ichi2/anki/dialogs/ConfirmationDialog.kt"
|
||||
def className = ""
|
||||
|
||||
enum Source {
|
||||
MAIN("/src/main/java"),
|
||||
|
@ -14,57 +14,51 @@
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
****************************************************************************************/
|
||||
|
||||
package com.ichi2.anki.dialogs;
|
||||
package com.ichi2.anki.dialogs
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.afollestad.materialdialogs.DialogAction
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.ichi2.anki.R
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.ichi2.anki.R;
|
||||
|
||||
/**
|
||||
* This is a reusable convenience class which makes it easy to show a confirmation dialog as a DialogFragment.
|
||||
* Create a new instance, call setArgs(...), setConfirm(), and setCancel() then show it via the fragment manager as usual.
|
||||
*/
|
||||
public class ConfirmationDialog extends DialogFragment {
|
||||
private @NonNull Runnable mConfirm = () -> { }; // Do nothing by default
|
||||
private @NonNull Runnable mCancel = () -> { }; // Do nothing by default
|
||||
|
||||
public void setArgs(String message) {
|
||||
setArgs("" , message);
|
||||
}
|
||||
|
||||
public void setArgs(String title, String message) {
|
||||
Bundle args = new Bundle();
|
||||
args.putString("message", message);
|
||||
args.putString("title", title);
|
||||
setArguments(args);
|
||||
}
|
||||
|
||||
public void setConfirm(@NonNull Runnable confirm) {
|
||||
mConfirm = confirm;
|
||||
}
|
||||
|
||||
public void setCancel(@NonNull Runnable cancel) {
|
||||
mCancel = cancel;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public MaterialDialog onCreateDialog(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Resources res = getActivity().getResources();
|
||||
String title = getArguments().getString("title");
|
||||
return new MaterialDialog.Builder(getActivity())
|
||||
.title("".equals(title) ? res.getString(R.string.app_name) : title)
|
||||
.content(getArguments().getString("message"))
|
||||
.positiveText(R.string.dialog_ok)
|
||||
.negativeText(R.string.dialog_cancel)
|
||||
.onPositive((dialog, which) -> mConfirm.run())
|
||||
.onNegative((dialog, which) -> mCancel.run())
|
||||
.show();
|
||||
}
|
||||
/**
|
||||
* This is a reusable convenience class which makes it easy to show a confirmation dialog as a DialogFragment.
|
||||
* Create a new instance, call setArgs(...), setConfirm(), and setCancel() then show it via the fragment manager as usual.
|
||||
*/
|
||||
class ConfirmationDialog : DialogFragment() {
|
||||
private var mConfirm = Runnable {} // Do nothing by default
|
||||
private var mCancel = Runnable {} // Do nothing by default
|
||||
fun setArgs(message: String?) {
|
||||
setArgs("", message)
|
||||
}
|
||||
|
||||
fun setArgs(title: String?, message: String?) {
|
||||
val args = Bundle()
|
||||
args.putString("message", message)
|
||||
args.putString("title", title)
|
||||
arguments = args
|
||||
}
|
||||
|
||||
fun setConfirm(confirm: Runnable) {
|
||||
mConfirm = confirm
|
||||
}
|
||||
|
||||
fun setCancel(cancel: Runnable) {
|
||||
mCancel = cancel
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): MaterialDialog {
|
||||
super.onCreate(savedInstanceState)
|
||||
val res = requireActivity().resources
|
||||
val title = requireArguments().getString("title")
|
||||
return MaterialDialog.Builder(requireActivity())
|
||||
.title((if ("" == title) res.getString(R.string.app_name) else title)!!)
|
||||
.content(requireArguments().getString("message")!!)
|
||||
.positiveText(R.string.dialog_ok)
|
||||
.negativeText(R.string.dialog_cancel)
|
||||
.onPositive { _: MaterialDialog?, _: DialogAction? -> mConfirm.run() }
|
||||
.onNegative { _: MaterialDialog?, _: DialogAction? -> mCancel.run() }
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user