doukutsu-rs/app/app/src/main/java/io/github/doukutsu_rs/MainActivity.java

52 lines
1.9 KiB
Java
Raw Normal View History

2021-02-24 08:28:47 +00:00
package io.github.doukutsu_rs;
import android.app.AlertDialog;
import android.content.Intent;
2021-02-24 08:28:47 +00:00
import android.os.Bundle;
2023-01-25 17:23:15 +00:00
import androidx.appcompat.app.AppCompatActivity;
2023-01-25 17:23:15 +00:00
import java.io.File;
2021-02-24 08:28:47 +00:00
2023-01-25 17:23:15 +00:00
public class MainActivity extends AppCompatActivity {
2021-02-24 08:28:47 +00:00
@Override
protected void onCreate(Bundle savedInstanceState) {
2023-01-25 17:23:15 +00:00
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivityUtils.hideSystemBars(this);
File f = new File(getFilesDir().getAbsolutePath() + "/data/");
String[] list = f.list();
if (!f.exists() || (list != null && list.length == 0)) {
messageBox(getString(R.string.missing_data_title), getString(R.string.missing_data_desc), () -> {
Intent intent = new Intent(this, DownloadActivity.class);
2023-01-25 17:23:15 +00:00
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
this.finish();
2023-01-25 17:23:15 +00:00
}, this::launchGame);
2021-02-24 08:28:47 +00:00
} else {
2023-01-25 17:23:15 +00:00
launchGame();
2021-02-24 08:28:47 +00:00
}
}
2023-01-25 17:23:15 +00:00
private void launchGame() {
Intent intent = new Intent(this, GameActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
this.finish();
2021-02-24 08:28:47 +00:00
}
2023-01-25 17:23:15 +00:00
private void messageBox(String title, String message, Runnable yesCallback, Runnable noCallback) {
this.runOnUiThread(() -> {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(title);
alert.setMessage(message);
2023-01-25 17:23:15 +00:00
alert.setPositiveButton(android.R.string.yes, (dialog, whichButton) -> yesCallback.run());
alert.setNegativeButton(android.R.string.no, (dialog, whichButton) -> noCallback.run());
alert.setCancelable(false);
alert.show();
});
}
}