import android.annotation.SuppressLint;
import android.app.Dialog;
-import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.support.annotation.NonNull;
// If we don't use `android.support.v7.app.AlertDialog` instead of `android.app.AlertDialog` then the dialog will be covered by the keyboard.
import android.support.v4.content.ContextCompat;
+// We have to use `AppCompatDialogFragment` instead of `DialogFragment` or an error is produced on API <=22.
import android.support.v7.app.AlertDialog;
+import android.support.v7.app.AppCompatDialogFragment;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
import java.io.ByteArrayOutputStream;
-public class MoveToFolder extends DialogFragment {
+public class MoveToFolder extends AppCompatDialogFragment {
// The public interface is used to send information back to the parent activity.
public interface MoveToFolderListener {
- void onCancelMoveToFolder(DialogFragment dialogFragment);
-
- void onMoveToFolder(DialogFragment dialogFragment);
+ void onMoveToFolder(AppCompatDialogFragment dialogFragment);
}
// `moveToFolderListener` is used in `onAttach()` and `onCreateDialog`.
// `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.
@SuppressLint("InflateParams")
@Override
+ @NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use `AlertDialog.Builder` to create the `AlertDialog`. The style formats the color of the button text.
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.LightAlertDialog);
dialogBuilder.setNegativeButton(R.string.cancel, new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- // Return the `DialogFragment` to the parent activity on cancel.
- moveToFolderListener.onCancelMoveToFolder(MoveToFolder.this);
+ // Do nothing. The `AlertDialog` will close automatically.
}
});
return alertDialog;
}
- public void addSubfoldersToExceptFolders(String folderName) {
+ private void addSubfoldersToExceptFolders(String folderName) {
// Get a `Cursor` will all the immediate subfolders.
Cursor subfoldersCursor = BookmarksActivity.bookmarksDatabaseHandler.getSubfoldersCursor(folderName);