diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-07 16:10:28 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-07 16:10:28 +0200 |
commit | 27772d401c8cebfd536ea745cb2403b4158de5d2 (patch) | |
tree | 19632704955a96c0d8919ce4e75cc5d81abc06b3 /OpenKeychain/src/main/java/org/sufficientlysecure | |
parent | 0e83df21cfae2a1e792af9e02c006305b24fb530 (diff) | |
download | open-keychain-27772d401c8cebfd536ea745cb2403b4158de5d2.tar.gz open-keychain-27772d401c8cebfd536ea745cb2403b4158de5d2.tar.bz2 open-keychain-27772d401c8cebfd536ea745cb2403b4158de5d2.zip |
Save account on back press and with notify
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure')
3 files changed, 25 insertions, 7 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java index 67ad0822d..46a557da3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java @@ -31,6 +31,7 @@ import org.sufficientlysecure.keychain.helper.ActionBarHelper; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.remote.AccountSettings; import org.sufficientlysecure.keychain.service.OperationResultParcel; +import org.sufficientlysecure.keychain.ui.CertifyKeyActivity; import org.sufficientlysecure.keychain.util.Log; public class AccountSettingsActivity extends ActionBarActivity { @@ -104,6 +105,11 @@ public class AccountSettingsActivity extends ActionBarActivity { private void save() { new ProviderHelper(this).updateApiAccount(mAccountUri, mAccountSettingsFragment.getAccSettings()); + // TODO: show "account saved" instead of "operation succeeded" + OperationResultParcel result = new OperationResultParcel(OperationResultParcel.RESULT_OK, null); + Intent intent = new Intent(); + intent.putExtra(OperationResultParcel.EXTRA_RESULT, result); + setResult(RESULT_OK, intent); finish(); } @@ -118,4 +124,9 @@ public class AccountSettingsActivity extends ActionBarActivity { } } + @Override + public void onBackPressed() { + save(); + super.onBackPressed(); + } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountsListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountsListFragment.java index 4d99e1923..d00a74927 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountsListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountsListFragment.java @@ -104,7 +104,7 @@ public class AccountsListFragment extends ListFragment implements // edit account settings Intent intent = new Intent(getActivity(), AccountSettingsActivity.class); intent.setData(accountUri); - startActivity(intent); + startActivityForResult(intent, 0); } }); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java index b37405304..885d06857 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java @@ -17,12 +17,9 @@ package org.sufficientlysecure.keychain.remote.ui; -import android.content.ComponentName; import android.content.Intent; import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.ActionBar; @@ -35,10 +32,9 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.remote.AppSettings; +import org.sufficientlysecure.keychain.service.OperationResultParcel; import org.sufficientlysecure.keychain.util.Log; -import java.util.List; - public class AppSettingsActivity extends ActionBarActivity { private Uri mAppUri; @@ -95,7 +91,7 @@ public class AppSettingsActivity extends ActionBarActivity { return super.onOptionsItemSelected(item); } - // disabled: breaks Yubikey NFC Foreground dispatching + // TODO: breaks Yubikey NFC Foreground dispatching private void startApp() { Intent i; PackageManager manager = getPackageManager(); @@ -159,4 +155,15 @@ public class AppSettingsActivity extends ActionBarActivity { finish(); } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + // if a result has been returned, display a notify + if (data != null && data.hasExtra(OperationResultParcel.EXTRA_RESULT)) { + OperationResultParcel result = data.getParcelableExtra(OperationResultParcel.EXTRA_RESULT); + result.createNotify(this).show(); + } else { + super.onActivityResult(requestCode, resultCode, data); + } + } + } |