first attempt to call backupprefs. Crash with null pointer exception (see lne 811)

This commit is contained in:
jacques 2024-08-19 16:03:52 +02:00
parent 24c32796ce
commit 06e879a9ae

View file

@ -40,12 +40,9 @@ import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@ -61,7 +58,6 @@ import net.foucry.pilldroid.databases.PrescriptionDatabase;
import net.foucry.pilldroid.models.Medicine;
import net.foucry.pilldroid.models.Prescription;
import de.raphaelebner.roomdatabasebackup.core.RoomBackup;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
@ -69,6 +65,8 @@ import java.util.List;
import java.util.Locale;
import java.util.Objects;
import de.raphaelebner.roomdatabasebackup.core.RoomBackup;
/**
* An activity representing a list of Drugs is activity
* has different presentations for handset and tablet-size devices. On
@ -79,7 +77,6 @@ import java.util.Objects;
*/
public class DrugListActivity extends AppCompatActivity {
private static final String TAG = DrugListActivity.class.getName();
private static final String SECRET_PASSWORD = ;
public final int CUSTOMIZED_REQUEST_CODE = 0x0000ffff;
// Barcode Scanner usage
@ -394,8 +391,7 @@ public class DrugListActivity extends AppCompatActivity {
if (s.length() == 8) {
ok.setEnabled(true);
ok.setBackground(Objects.requireNonNull(ContextCompat.getDrawable(editText.getContext(), R.drawable.rounded_btn)));
}
else {
} else {
ok.setEnabled(false);
ok.setBackground(Objects.requireNonNull(ContextCompat.getDrawable(editText.getContext(), R.drawable.rounded_btn_disabled)));
}
@ -757,10 +753,7 @@ public class DrugListActivity extends AppCompatActivity {
});
dlg.show();*/
Button btn_export = findViewById(R.id.switch_btn_export);
Button btn_import = findViewById(R.id.switch_btn_import);
Button btn_properties = findViewById(R.id.btn_properties);
Button btn_backupLocation = findViewById(R.id.btn_backup_location);
/*recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
@ -800,6 +793,11 @@ public class DrugListActivity extends AppCompatActivity {
// startActivity(intent);
// });
Button btn_export = findViewById(R.id.switch_btn_export);
Button btn_import = findViewById(R.id.switch_btn_import);
Button btn_properties = findViewById(R.id.btn_properties);
Button btn_backupLocation = findViewById(R.id.btn_backup_location);
encryptBackup = sharedPreferences.getBoolean(spEncryptBackup, true);
storageLocation = sharedPreferences.getInt(spStorageLocation, 1);
enableLog = sharedPreferences.getBoolean(spEnableLog, true);
@ -810,7 +808,7 @@ public class DrugListActivity extends AppCompatActivity {
final String[] storageItems = new String[]{"Internal", "External", "Custom Dialog", "Custom File"};
/*---------------------set Properties--------------------------*/
btn_properties.setOnClickListener(v -> {
btn_properties.setOnClickListener(v -> { // TODO: Null pointer exception application crash [should be the same with other button]
MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(
DrugListActivity.this);
materialAlertDialogBuilder.setTitle("Change Properties");
@ -873,24 +871,38 @@ public class DrugListActivity extends AppCompatActivity {
PrescriptionDatabase prescriptions = PrescriptionDatabase.getInstanceDatabase(this);
final RoomBackup roomBackup = new RoomBackup(DrugListActivity.this);
if (btn_export.isEnabled()) {
// TODO: call `make backup
btn_export.setOnClickListener(v -> {
roomBackup.backupLocation(storageLocation);
roomBackup.database(PrescriptionDatabase.getInstanceDatabase(this));
roomBackup.backupLocationCustomFile(new File(this.getFilesDir() + "/databasebackup/geilesBackup.sqlite3"));
roomBackup.database(PrescriptionDatabase.getInstanceDatabase(getApplicationContext()));
roomBackup.enableLogDebug(enableLog);
roomBackup.backupIsEncrypted(encryptBackup);
roomBackup.customEncryptPassword(DrugListActivity.SECRET_PASSWORD);
//roomBackup.customEncryptPassword(MainActivity.SECRET_PASSWORD);
if (useMaxFileCount)
roomBackup.maxFileCount(5);
roomBackup.onCompleteListener((success, message, exitCode) -> {
Log.d(TAG, "oncomplete: " + success + "message: " + message + ",exitCode: " + exitCode);
Log.d(TAG, "oncomplete: " + success + ", message: " + message + ", exitCode: " + exitCode);
if (success)
roomBackup.restartApp(new Intent(getApplicationContext(), DrugListActivity.class));
});
roomBackup.backup();
});
} else {
// TODO: call restore backup
//prescriptions.restore();
btn_import.setOnClickListener(v -> {
roomBackup.backupLocation(storageLocation);
roomBackup.backupLocationCustomFile(new File(this.getFilesDir() + "/databasebackup/geilesBackup.sqlite3"));
roomBackup.database(PrescriptionDatabase.getInstanceDatabase(getApplicationContext()));
roomBackup.enableLogDebug(enableLog);
roomBackup.backupIsEncrypted(encryptBackup);
//roomBackup.customEncryptPassword(MainActivity.SECRET_PASSWORD);
roomBackup.onCompleteListener((success, message, exitCode) -> {
Log.d(TAG, "oncomplete: " + success + ", message: " + message + ", exitCode: " + exitCode);
if (success)
roomBackup.restartApp(new Intent(getApplicationContext(), DrugListActivity.class));
});
roomBackup.restore();
});
}
}
}