diff --git a/android-project/app/src/main/java/org/diasurgical/devilutionx/DataActivity.java b/android-project/app/src/main/java/org/diasurgical/devilutionx/DataActivity.java
index c1a1fec34..91f13c0a5 100644
--- a/android-project/app/src/main/java/org/diasurgical/devilutionx/DataActivity.java
+++ b/android-project/app/src/main/java/org/diasurgical/devilutionx/DataActivity.java
@@ -130,6 +130,11 @@ public class DataActivity extends Activity {
(!fileManager.hasFile("spawn.mpq") || isDownloadingSpawn);
}
+ public void importData(View view) {
+ Intent intent = new Intent(this, ImportActivity.class);
+ startActivity(intent);
+ }
+
/**
* Start downloading the shareware
*/
diff --git a/android-project/app/src/main/java/org/diasurgical/devilutionx/ImportActivity.java b/android-project/app/src/main/java/org/diasurgical/devilutionx/ImportActivity.java
index ba9c8b75c..fcfe6140a 100644
--- a/android-project/app/src/main/java/org/diasurgical/devilutionx/ImportActivity.java
+++ b/android-project/app/src/main/java/org/diasurgical/devilutionx/ImportActivity.java
@@ -24,6 +24,7 @@ import java.util.Objects;
public class ImportActivity extends Activity {
private static final int IMPORT_REQUEST_CODE = 0xD1AB70;
+ private boolean userConfirmed = false;
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
@@ -36,12 +37,16 @@ public class ImportActivity extends Activity {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(getString(R.string.import_data_info, externalFilesDir));
builder.setPositiveButton(R.string.ok_button, (dialog, which) -> {
+ this.userConfirmed = true;
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setType("*/*");
startActivityForResult(intent, IMPORT_REQUEST_CODE);
});
+ builder.setOnDismissListener(dialog -> {
+ if (!this.userConfirmed && !isFinishing()) finish();
+ });
AlertDialog dialog = builder.create();
dialog.show();
@@ -76,6 +81,8 @@ public class ImportActivity extends Activity {
AlertDialog dialog = builder.create();
dialog.show();
+ } else {
+ super.onBackPressed();
}
}
diff --git a/android-project/app/src/main/res/layout/activity_data.xml b/android-project/app/src/main/res/layout/activity_data.xml
index 0c6c3828b..979dc3db3 100644
--- a/android-project/app/src/main/res/layout/activity_data.xml
+++ b/android-project/app/src/main/res/layout/activity_data.xml
@@ -54,16 +54,37 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
-
+ app:layout_constraintTop_toBottomOf="@+id/spawn_guide">
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/import_buttons" />
+
+