diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-05-31 21:40:45 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-05-31 21:40:45 +0200 |
commit | 5f8de512f5d14515146d341bc3e0ae0e066837b8 (patch) | |
tree | 87f6b90d606db834f2503549b4c82f18bae1a376 /src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java | |
parent | c23642b8cd2c06c5f3e9cf7f88d31ed5c6f78614 (diff) | |
parent | 9e724edb42d8cb0fa8745f88a80d914df09f4ff6 (diff) |
Merge remote-tracking branch 'refs/remotes/origin/new_version'
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java b/src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java index a9adfb174..e1e15452f 100644 --- a/src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/UpdaterActivity.java @@ -27,9 +27,15 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; +import eu.siacs.conversations.persistance.DatabaseBackend; import eu.siacs.conversations.services.UpdaterWebService; public class UpdaterActivity extends Activity { @@ -94,6 +100,36 @@ public class UpdaterActivity extends Activity { } } + private void ExportDatabase() throws IOException { + + // Get hold of the db: + InputStream myInput = new FileInputStream(this.getDatabasePath(DatabaseBackend.DATABASE_NAME)); + + // Set the output folder on the SDcard + File directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pix-Art Messenger/.Database/"); + + // Create the folder if it doesn't exist: + if (!directory.exists()) { + directory.mkdirs(); + } + + // Set the output file stream up: + OutputStream myOutput = new FileOutputStream(directory.getPath() + "/Database.bak"); + + // Transfer bytes from the input file to the output file + byte[] buffer = new byte[1024]; + int length; + while ((length = myInput.read(buffer)) > 0) { + myOutput.write(buffer, 0, length); + } + + // Close and clear the streams + myOutput.flush(); + myOutput.close(); + myInput.close(); + } + + @Override public void onDestroy() { //unregister your receivers @@ -201,6 +237,13 @@ public class UpdaterActivity extends Activity { reponseObj = new JSONObject(responseMessage); boolean success = reponseObj.getBoolean("success"); if (success) { + //start backing up database + try { + ExportDatabase(); + Log.d(Config.LOGTAG,"AppUpdater: Database successfully exported"); + } catch (IOException e) { + e.printStackTrace(); + } //Overall information about the contents of a package //This corresponds to all of the information collected from AndroidManifest.xml. PackageInfo pInfo = null; |