Browse Source

Export import data option on data splash screen

pull/8238/head
Anders Jenbo 5 months ago
parent
commit
3520c480d6
  1. 5
      android-project/app/src/main/java/org/diasurgical/devilutionx/DataActivity.java
  2. 7
      android-project/app/src/main/java/org/diasurgical/devilutionx/ImportActivity.java
  3. 38
      android-project/app/src/main/res/layout/activity_data.xml

5
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
*/

7
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();
}
}

38
android-project/app/src/main/res/layout/activity_data.xml

@ -54,16 +54,37 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/download_button"
android:layout_width="wrap_content"
<LinearLayout
android:id="@+id/import_buttons"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:onClick="sendDownloadRequest"
android:text="@string/download_spawn"
android:layout_marginEnd="16dp"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spawn_guide" />
app:layout_constraintTop_toBottomOf="@+id/spawn_guide">
<Button
android:id="@+id/import_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="importData"
android:text="Import Data" />
<Space
android:layout_width="16dp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/download_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="sendDownloadRequest"
android:text="@string/download_spawn" />
</LinearLayout>
<Button
android:id="@+id/check_data_button"
@ -98,6 +119,9 @@
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/download_button" />
app:layout_constraintTop_toBottomOf="@+id/import_buttons" />
<android.support.constraint.Group android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</android.support.constraint.ConstraintLayout>

Loading…
Cancel
Save