Add WRITE_EXTERNAL_STORAGE permission

This commit is contained in:
Jacques Foucry 2023-03-31 18:34:04 +02:00 committed by jacques
parent faa4f91052
commit a104ffe6aa
2 changed files with 61 additions and 0 deletions

View file

@ -12,6 +12,7 @@
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE/>
<application

View file

@ -57,7 +57,67 @@ public class Utils {
else
return (int) (lhs.getStock() - rhs.getStock());
}
if(id == R.id.action_save_db) {
});
}
public void backupDB() {
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if(permission == PackageManager.PERMISSION_GRANTED) {
//AppDatabase.getInstance(this).getDatabase().close();
PrescriptionDatabase.getInstanceDatabase(this).getDatabase().close();
File db = getDatabasePath("PrescriptionDatabase");
File dbShm = new File(db.getParent(), "PrescriptionDatabase-shm");
File dbWal = new File(db.getParent(), "PrescriptionDatabase-wal");
File db2 = new File("/sdcard/", "PrescriptionDatabase");
File dbShm2 = new File(db2.getParent(), "PrescriptionDatabase-shm");
File dbWal2 = new File(db2.getParent(), "PrescriptionDatabase-wal");
try {
FileUtils.copyFile(db, db2);
FileUtils.copyFile(dbShm, dbShm2);
FileUtils.copyFile(dbWal, dbWal2);
} catch (Exception e) {
Log.e("SAVEDB", e.toString());
}
} else {
Snackbar.make(mDrawer, "Please allow access to your storage", Snackbar.LENGTH_LONG)
.setAction("Allow", view -> ActivityCompat.requestPermissions(this, new String[] {
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, 0)).show();
}
}
public void restoreDB ()
{
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
if(permission == PackageManager.PERMISSION_GRANTED) {
//AppDatabase.getInstance(this).getDatabase().close();
PrescriptionDatabase.getInstanceDatabase(this).getDatabase().close();
File db = new File("/sdcard/", "PrescriptionDatabaseb");
File dbShm = new File(db.getParent(), "PrescriptionDatabase-shm");
File dbWal = new File(db.getParent(), "PrescriptionDatabase-wal");
File db2 = getDatabasePath("PrescriptionDatabase");
File dbShm2 = new File(db2.getParent(), "PrescriptionDatabase-shm");
File dbWal2 = new File(db2.getParent(), "PrescriptionDatabase-wal");
try {
FileUtils.copyFile(db, db2);
FileUtils.copyFile(dbShm, dbShm2);
FileUtils.copyFile(dbWal, dbWal2);
} catch (Exception e) {
Loge("RESTOREDB", e.toString());
}
} else {
Snackbar.make(mDrawer, "Please allow access to your storage", Snackbar.LENGTH_LONG)
.setAction("Allow", view -> ActivityCompat.requestPermissions(this, new String[] {
Manifest.permission.READ_EXTERNAL_STORAGE
}, 0)).show();
}
}
}