diff options
Diffstat (limited to 'OpenKeychain/src/main/java')
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java | 39 | ||||
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java | 12 | 
2 files changed, 23 insertions, 28 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java index 7a63ec3d7..ebc53ddf6 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java @@ -316,42 +316,37 @@ public class KeychainDatabase extends SQLiteOpenHelper {      }      private static void copy(File in, File out) throws IOException { -        FileInputStream ss = new FileInputStream(in); -        FileOutputStream ds = new FileOutputStream(out); +        FileInputStream is = new FileInputStream(in); +        FileOutputStream os = new FileOutputStream(out);          byte[] buf = new byte[512]; -        while (ss.available() > 0) { -            int count = ss.read(buf, 0, 512); -            ds.write(buf, 0, count); +        while (is.available() > 0) { +            int count = is.read(buf, 0, 512); +            os.write(buf, 0, count);          }      } -    public static void debugRead(Context context) throws IOException { +    public static void debugBackup(Context context, boolean restore) throws IOException {          if (!Constants.DEBUG) {              return;          } -        File in = context.getDatabasePath("debug.db"); -        File out = context.getDatabasePath("openkeychain.db"); -        if (!in.canRead()) { -            throw new IOException("Cannot read " +  in.getName()); -        } -        if (!out.canRead()) { -            throw new IOException("Cannot write " + out.getName()); -        } -        copy(in, out); -    } -    public static void debugWrite(Context context) throws IOException { -        if (!Constants.DEBUG) { -            return; +        File in; +        File out; +        if (restore) { +            in = context.getDatabasePath("debug_backup.db"); +            out = context.getDatabasePath("openkeychain.db"); +        } else { +            in = context.getDatabasePath("openkeychain.db"); +            out = context.getDatabasePath("debug_backup.db"); +            out.createNewFile();          } -        File in = context.getDatabasePath("openkeychain.db"); -        File out = context.getDatabasePath("debug.db");          if (!in.canRead()) {              throw new IOException("Cannot read " +  in.getName());          } -        if (!out.canRead()) { +        if (!out.canWrite()) {              throw new IOException("Cannot write " + out.getName());          }          copy(in, out);      } +  } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java index 50ff5c753..7a6e78a7d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java @@ -94,22 +94,22 @@ public class KeyListActivity extends DrawerActivity {              case R.id.menu_key_list_debug_read:                  try { -                    KeychainDatabase.debugRead(this); -                    Notify.showNotify(this, "Restored Notify.Style backup", Notify.Style.INFO); +                    KeychainDatabase.debugBackup(this, true); +                    Notify.showNotify(this, "Restored debug_backup.db", Notify.Style.INFO);                      getContentResolver().notifyChange(KeychainContract.KeyRings.CONTENT_URI, null);                  } catch (IOException e) {                      Log.e(Constants.TAG, "IO Error", e); -                    Notify.showNotify(this, "IO Notify.Style: " + e.getMessage(), Notify.Style.ERROR); +                    Notify.showNotify(this, "IO Error " + e.getMessage(), Notify.Style.ERROR);                  }                  return true;              case R.id.menu_key_list_debug_write:                  try { -                    KeychainDatabase.debugWrite(this); -                    Notify.showNotify(this, "Backup Notify.Style", Notify.Style.INFO); +                    KeychainDatabase.debugBackup(this, false); +                    Notify.showNotify(this, "Backup to debug_backup.db completed", Notify.Style.INFO);                  } catch(IOException e) {                      Log.e(Constants.TAG, "IO Error", e); -                    Notify.showNotify(this, "IO Notify.Style: " + e.getMessage(), Notify.Style.ERROR); +                    Notify.showNotify(this, "IO Error: " + e.getMessage(), Notify.Style.ERROR);                  }                  return true; | 
