51 lines
1.9 KiB
Java
51 lines
1.9 KiB
Java
package com.safemobile.lib;
|
|
|
|
import android.app.Activity;
|
|
import android.app.AlertDialog;
|
|
import android.content.DialogInterface;
|
|
|
|
import com.google.android.gms.tasks.Task;
|
|
import com.google.android.gms.tasks.TaskCompletionSource;
|
|
import com.safemobile.dispatch.R;
|
|
import com.safemobile.interfaces.IDialogService;
|
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
public class DialogService implements IDialogService {
|
|
@Override
|
|
public Task<Boolean> showDialog(Activity activity, String title, String message, String cancel, String ok) {
|
|
TaskCompletionSource<Boolean> taskCompletionSource = new TaskCompletionSource<>();
|
|
AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
|
.setTitle(title)
|
|
.setMessage(message)
|
|
.setCancelable(false)
|
|
.setNegativeButton(cancel, (dialog, which) -> {
|
|
taskCompletionSource.trySetResult(false);
|
|
dialog.dismiss();
|
|
})
|
|
.setPositiveButton(ok, (dialog, which) -> taskCompletionSource.trySetResult(true));
|
|
|
|
AlertDialog dialog = builder.create();
|
|
dialog.show();
|
|
|
|
return taskCompletionSource.getTask();
|
|
}
|
|
|
|
@Override
|
|
public Task<Boolean> showPermissionRequestDialog(Activity activity, String title, String message, String cancel) {
|
|
return showDialog(activity,title,message,cancel, activity.getString(R.string.go_to_settings));
|
|
}
|
|
|
|
@Override
|
|
public void showError(Activity activity, String message) {
|
|
AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
|
.setTitle(R.string.DialoService_Info_ErrorMessage)
|
|
.setMessage(message)
|
|
.setCancelable(false)
|
|
.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss());
|
|
|
|
AlertDialog dialog = builder.create();
|
|
dialog.show();
|
|
}
|
|
}
|