diff options
| author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-23 15:27:25 +0200 | 
|---|---|---|
| committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-23 15:27:25 +0200 | 
| commit | 71657d993c7efe5e700e488d2b3e5235196cd412 (patch) | |
| tree | 7f110ec5149b82151d44cae087d331e024801194 | |
| parent | 79c4d3ea49f059b9c11c11ff7be606e13a9e0362 (diff) | |
| download | open-keychain-71657d993c7efe5e700e488d2b3e5235196cd412.tar.gz open-keychain-71657d993c7efe5e700e488d2b3e5235196cd412.tar.bz2 open-keychain-71657d993c7efe5e700e488d2b3e5235196cd412.zip | |
API: Fix re-seletion of keys on default account
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | 20 | ||||
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/RemoteService.java | 5 | 
2 files changed, 16 insertions, 9 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 6e9f2fad6..5340222d3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -23,6 +23,7 @@ import android.database.Cursor;  import android.net.Uri;  import android.os.IBinder;  import android.os.ParcelFileDescriptor; +import android.text.TextUtils;  import org.openintents.openpgp.IOpenPgpService;  import org.openintents.openpgp.OpenPgpMetadata; @@ -185,7 +186,7 @@ public class OpenPgpService extends RemoteService {                  } catch (PassphraseCacheService.KeyNotFoundException e) {                      // secret key that is set for this account is deleted?                      // show account config again! -                    return getCreateAccountIntent(data, data.getStringExtra(OpenPgpApi.EXTRA_ACCOUNT_NAME)); +                    return getCreateAccountIntent(data, getAccountName(data));                  }              }              if (passphrase == null) { @@ -564,6 +565,16 @@ public class OpenPgpService extends RemoteService {          return null;      } +    private String getAccountName(Intent data) { +        String accName = data.getStringExtra(OpenPgpApi.EXTRA_ACCOUNT_NAME); +        // if no account name is given use name "default" +        if (TextUtils.isEmpty(accName)) { +            accName = "default"; +        } +        Log.d(Constants.TAG, "accName: " + accName); +        return accName; +    } +      // TODO: multi-threading      private final IOpenPgpService.Stub mBinder = new IOpenPgpService.Stub() { @@ -574,12 +585,7 @@ public class OpenPgpService extends RemoteService {                  return errorResult;              } -            String accName; -            if (data.getStringExtra(OpenPgpApi.EXTRA_ACCOUNT_NAME) != null) { -                accName = data.getStringExtra(OpenPgpApi.EXTRA_ACCOUNT_NAME); -            } else { -                accName = "default"; -            } +            String accName = getAccountName(data);              final AccountSettings accSettings = getAccSettings(accName);              if (accSettings == null) {                  return getCreateAccountIntent(data, accName); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/RemoteService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/RemoteService.java index f70324e2c..e71b52ccd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/RemoteService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/RemoteService.java @@ -27,6 +27,7 @@ import android.content.pm.PackageManager.NameNotFoundException;  import android.content.pm.Signature;  import android.net.Uri;  import android.os.Binder; +import android.text.TextUtils;  import org.openintents.openpgp.OpenPgpError;  import org.openintents.openpgp.util.OpenPgpApi; @@ -160,7 +161,7 @@ public abstract class RemoteService extends Service {       */      protected AccountSettings getAccSettings(String accountName) {          String currentPkg = getCurrentCallingPackage(); -        Log.d(Constants.TAG, "accountName: " + accountName); +        Log.d(Constants.TAG, "getAccSettings accountName: "+ accountName);          Uri uri = KeychainContract.ApiAccounts.buildByPackageAndAccountUri(currentPkg, accountName); @@ -171,7 +172,7 @@ public abstract class RemoteService extends Service {      protected Intent getCreateAccountIntent(Intent data, String accountName) {          String packageName = getCurrentCallingPackage(); -        Log.d(Constants.TAG, "accountName: " + accountName); +        Log.d(Constants.TAG, "getCreateAccountIntent accountName: " + accountName);          Intent intent = new Intent(getBaseContext(), RemoteServiceActivity.class);          intent.setAction(RemoteServiceActivity.ACTION_CREATE_ACCOUNT); | 
