aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-04-11 20:25:50 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-04-14 13:06:49 +0200
commit227155d484766a620a2f9467a248c844fca26382 (patch)
tree736238cd070ae89774dfdb9939095c37d60dd01a /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java
parente02e9e6707612db592fdfb3ae834fef5cbb0def0 (diff)
downloadopen-keychain-227155d484766a620a2f9467a248c844fca26382.tar.gz
open-keychain-227155d484766a620a2f9467a248c844fca26382.tar.bz2
open-keychain-227155d484766a620a2f9467a248c844fca26382.zip
add debug backup/restore options to main menu
Closes #543
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java34
1 files changed, 34 insertions, 0 deletions
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 8db643583..de16142d6 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java
@@ -22,9 +22,16 @@ import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
+import com.devspark.appmsg.AppMsg;
+
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.helper.ExportHelper;
+import org.sufficientlysecure.keychain.provider.KeychainContract;
+import org.sufficientlysecure.keychain.provider.KeychainDatabase;
+import org.sufficientlysecure.keychain.util.Log;
+
+import java.io.IOException;
public class KeyListActivity extends DrawerActivity {
@@ -46,6 +53,12 @@ public class KeyListActivity extends DrawerActivity {
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.key_list, menu);
+
+ if(Constants.DEBUG) {
+ menu.findItem(R.id.menu_key_list_debug_read).setVisible(true);
+ menu.findItem(R.id.menu_key_list_debug_write).setVisible(true);
+ }
+
return true;
}
@@ -68,6 +81,27 @@ public class KeyListActivity extends DrawerActivity {
mExportHelper.showExportKeysDialog(null, Constants.Path.APP_DIR_FILE, true);
return true;
+ case R.id.menu_key_list_debug_read:
+ try {
+ KeychainDatabase.debugRead(this);
+ AppMsg.makeText(this, "Restored from backup", AppMsg.STYLE_CONFIRM).show();
+ getContentResolver().notifyChange(KeychainContract.KeyRings.CONTENT_URI, null);
+ } catch(IOException e) {
+ Log.e(Constants.TAG, "IO Error", e);
+ AppMsg.makeText(this, "IO Error: " + e.getMessage(), AppMsg.STYLE_ALERT).show();
+ }
+ return true;
+
+ case R.id.menu_key_list_debug_write:
+ try {
+ KeychainDatabase.debugWrite(this);
+ AppMsg.makeText(this, "Backup successful", AppMsg.STYLE_CONFIRM).show();
+ } catch(IOException e) {
+ Log.e(Constants.TAG, "IO Error", e);
+ AppMsg.makeText(this, "IO Error: " + e.getMessage(), AppMsg.STYLE_ALERT).show();
+ }
+ return true;
+
default:
return super.onOptionsItemSelected(item);
}