fix backup/restore for Android 13

Update for V2.0
This commit is contained in:
woheller69 2023-07-31 11:46:57 +02:00
parent 66c12873d8
commit 39cb0d9b65
4 changed files with 17 additions and 4 deletions

View file

@ -8,8 +8,8 @@ android {
applicationId "org.woheller69.solxpect"
minSdkVersion 26
targetSdkVersion 33
versionCode 19
versionName "1.9"
versionCode 20
versionName "2.0"
buildConfigField "String", "BASE_URL", "\"https://api.open-meteo.com/v1/\""
buildConfigField "String", "GITHUB_URL","\"https://github.com/woheller69/solxpect/\""

View file

@ -5,6 +5,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
@ -16,6 +17,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
@ -25,8 +27,12 @@ public class Backup {
public static boolean checkPermissionStorage (Context context) {
int result = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE);
int result1 = ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
return true;
} else {
return result == PackageManager.PERMISSION_GRANTED && result1 == PackageManager.PERMISSION_GRANTED;
}
}
public static void requestPermission(Activity activity) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
@ -52,7 +58,7 @@ public class Backup {
try (ZipInputStream zipInputStream = new ZipInputStream(src)) {
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
File extractedFile = new File(targetDir ,zipEntry.getName());
try (OutputStream outputStream = new FileOutputStream(extractedFile)) {
try (OutputStream outputStream = Files.newOutputStream(extractedFile.toPath())) {
while ((readLen = zipInputStream.read(readBuffer)) != -1) {
outputStream.write(readBuffer, 0, readLen);
}

View file

@ -3,6 +3,7 @@ package org.woheller69.weather.activities;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@ -25,6 +26,7 @@ import android.view.MenuItem;
import org.woheller69.weather.BuildConfig;
import org.woheller69.weather.R;
import org.woheller69.weather.database.SQLiteHelper;
import org.woheller69.weather.preferences.AppPreferencesManager;
import static java.lang.Boolean.TRUE;
@ -170,6 +172,9 @@ public class NavigationActivity extends AppCompatActivity implements OnNavigatio
intent = new Intent(this, HelpActivity.class);
startActivity(intent);
}else if(itemId==R.id.nav_backuprestore) {
SQLiteHelper dbhelper = SQLiteHelper.getInstance(this); //create a database if it does not yet exist
SQLiteDatabase database = dbhelper.getWritableDatabase();
database.close();
intent = new Intent(this, BackupRestoreActivity.class);
startActivity(intent);
}else if (itemId==R.id.star_on_github){

View file

@ -0,0 +1,2 @@
Improved icon
Fix backup/restore for Android 13