From 57ed67b87a8174cf403bf698846ea554766de87b Mon Sep 17 00:00:00 2001 From: Zukero Date: Sat, 26 Jan 2019 16:52:13 +0100 Subject: [PATCH] Workaround for saving issue on first execution of app. --- AndorsTrail/AndroidManifest.xml | 8 ++--- .../activity/LoadSaveActivity.java | 31 +++++++++++++++++++ 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/AndorsTrail/AndroidManifest.xml b/AndorsTrail/AndroidManifest.xml index 50e2e56b0..f9b64b2b5 100644 --- a/AndorsTrail/AndroidManifest.xml +++ b/AndorsTrail/AndroidManifest.xml @@ -20,10 +20,10 @@ android:anyDensity="true" /> - - + + + + = Build.VERSION_CODES.M) { + if (getApplicationContext().checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + this.requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE_REQUEST); + } + if (getApplicationContext().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + this.requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE_REQUEST); + } + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + if (grantResults.length > 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) { + Toast.makeText(this, R.string.storage_permissions_mandatory, Toast.LENGTH_LONG).show(); + ((AndorsTrailApplication)getApplication()).discardWorld(); + finish(); + } + } + private void addSavegameSlotButtons(ViewGroup parent, LayoutParams params, List usedSavegameSlots) { for (int slot : usedSavegameSlots) { final FileHeader header = Savegames.quickload(this, slot);