aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-06-10 01:52:38 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-06-10 01:52:38 +0200
commitd73a3e2fa89663e133ce4750e4aba86354c8b252 (patch)
tree4b5439092355b2a5b92a7fc95ad9026eb277e871 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
parentcdc61c43927f11835fffa090ccb045d206728692 (diff)
downloadopen-keychain-d73a3e2fa89663e133ce4750e4aba86354c8b252.tar.gz
open-keychain-d73a3e2fa89663e133ce4750e4aba86354c8b252.tar.bz2
open-keychain-d73a3e2fa89663e133ce4750e4aba86354c8b252.zip
import-log: use supertoast in ImportKeyActivity
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java113
1 files changed, 87 insertions, 26 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
index 48602aaa1..d1869454d 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
@@ -38,7 +38,10 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
-import com.devspark.appmsg.AppMsg;
+import com.github.johnpersano.supertoasts.SuperCardToast;
+import com.github.johnpersano.supertoasts.SuperToast;
+import com.github.johnpersano.supertoasts.util.OnClickWrapper;
+import com.github.johnpersano.supertoasts.util.Style;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
@@ -47,7 +50,7 @@ import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;
import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
import org.sufficientlysecure.keychain.service.KeychainIntentService;
import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler;
-import org.sufficientlysecure.keychain.ui.dialog.BadImportKeyDialogFragment;
+import org.sufficientlysecure.keychain.service.OperationResults.ImportResult;
import org.sufficientlysecure.keychain.util.Log;
import java.util.ArrayList;
@@ -135,6 +138,7 @@ public class ImportKeysActivity extends ActionBarActivity implements ActionBar.O
}
handleActions(savedInstanceState, getIntent());
+
}
protected void handleActions(Bundle savedInstanceState, Intent intent) {
@@ -331,8 +335,11 @@ public class ImportKeysActivity extends ActionBarActivity implements ActionBar.O
public void loadFromFingerprint(Bundle savedInstanceState, String fingerprint) {
if (fingerprint == null || fingerprint.length() < 40) {
- AppMsg.makeText(this, R.string.import_qr_code_too_short_fingerprint,
- AppMsg.STYLE_ALERT).show();
+ SuperCardToast toast = SuperCardToast.create(this,
+ getString(R.string.import_qr_code_too_short_fingerprint),
+ SuperToast.Duration.LONG);
+ toast.setBackground(SuperToast.Background.RED);
+ toast.show();
return;
}
@@ -368,34 +375,84 @@ public class ImportKeysActivity extends ActionBarActivity implements ActionBar.O
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {
// get returned data bundle
Bundle returnData = message.getData();
+ final ImportResult result =
+ returnData.<ImportResult>getParcelable(KeychainIntentService.RESULT);
+
+ // , make pessimistic assumptions
+ String str = Integer.toString(result.getResult());
+ int duration = 0, color = Style.RED;
+
+ switch(result.getResult()) {
+ case ImportResult.RESULT_OK_NEWKEYS:
+ color = Style.GREEN;
+ duration = SuperToast.Duration.LONG;
+ str = getResources().getQuantityString(
+ R.plurals.keys_added, result.mNewKeys, result.mNewKeys);
+ break;
+
+ case ImportResult.RESULT_OK_UPDATED:
+ color = Style.GREEN;
+ duration = SuperToast.Duration.LONG;
+ str = getResources().getQuantityString(
+ R.plurals.keys_updated, result.mNewKeys, result.mNewKeys);
+ break;
+
+ case ImportResult.RESULT_OK_BOTHKEYS:
+ color = Style.GREEN;
+ duration = SuperToast.Duration.LONG;
+ str = getResources().getQuantityString(
+ R.plurals.keys_added_and_updated_1, result.mNewKeys, result.mNewKeys);
+ str += getResources().getQuantityString(
+ R.plurals.keys_added_and_updated_2, result.mUpdatedKeys, result.mUpdatedKeys);
+ break;
+
+ case ImportResult.RESULT_OK_WITH_WARNINGS:
+ str = "ok with warnings";
+ color = Style.ORANGE;
+ break;
+
+ case ImportResult.RESULT_PARTIAL_WITH_ERRORS:
+ str = "partial with errors";
+ color = Style.ORANGE;
+ break;
+
+ case ImportResult.RESULT_FAIL_ERROR:
+ str = "fail error";
+ color = Style.RED;
+ break;
+
+ case ImportResult.RESULT_FAIL_NOTHING:
+ str = getString(R.string.no_keys_added_or_updated);
+ color = Style.RED;
+ break;
- int added = returnData.getInt(KeychainIntentService.RESULT_IMPORT_ADDED);
- int updated = returnData
- .getInt(KeychainIntentService.RESULT_IMPORT_UPDATED);
- int bad = returnData.getInt(KeychainIntentService.RESULT_IMPORT_BAD);
- String toastMessage;
- if (added > 0 && updated > 0) {
- String addedStr = getResources().getQuantityString(
- R.plurals.keys_added_and_updated_1, added, added);
- String updatedStr = getResources().getQuantityString(
- R.plurals.keys_added_and_updated_2, updated, updated);
- toastMessage = addedStr + updatedStr;
- } else if (added > 0) {
- toastMessage = getResources().getQuantityString(R.plurals.keys_added,
- added, added);
- } else if (updated > 0) {
- toastMessage = getResources().getQuantityString(R.plurals.keys_updated,
- updated, updated);
- } else {
- toastMessage = getString(R.string.no_keys_added_or_updated);
}
- AppMsg.makeText(ImportKeysActivity.this, toastMessage, AppMsg.STYLE_INFO)
- .show();
+ SuperCardToast toast = new SuperCardToast(ImportKeysActivity.this,
+ SuperToast.Type.BUTTON, Style.getStyle(color, SuperToast.Animations.POPUP));
+ toast.setText(str);
+ toast.setDuration(duration);
+ toast.setIndeterminate(duration == 0);
+ toast.setButtonText("View log");
+ toast.setSwipeToDismiss(true);
+ toast.setOnClickWrapper(new OnClickWrapper("supercardtoast",
+ new SuperToast.OnClickListener() {
+ @Override
+ public void onClick(View view, Parcelable token) {
+ // Intent intent = new Intent(
+ // ImportKeysActivity.this, LogDisplayActivity.class);
+ // intent.putExtra(LogDisplayFragment.EXTRA_RESULT, result);
+ // startActivity(intent);
+ }
+ }));
+ toast.show();
+
+ /*
if (bad > 0) {
BadImportKeyDialogFragment badImportKeyDialogFragment =
BadImportKeyDialogFragment.newInstance(bad);
badImportKeyDialogFragment.show(getSupportFragmentManager(), "badKeyDialog");
}
+ */
if (ACTION_IMPORT_KEY_FROM_KEYSERVER_AND_RETURN.equals(getIntent().getAction())) {
ImportKeysActivity.this.setResult(Activity.RESULT_OK, mPendingIntentData);
@@ -483,7 +540,11 @@ public class ImportKeysActivity extends ActionBarActivity implements ActionBar.O
startService(intent);
} else {
- AppMsg.makeText(this, R.string.error_nothing_import, AppMsg.STYLE_ALERT).show();
+ SuperCardToast toast = SuperCardToast.create(this,
+ getString(R.string.error_nothing_import),
+ SuperToast.Duration.LONG);
+ toast.setBackground(SuperToast.Background.RED);
+ toast.show();
}
}