From 5e7eed239ffc26f2d78b29c0f6dd3772f49dc4e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Sun, 31 Aug 2014 20:26:06 +0200 Subject: Better leyout for account settings --- .../remote/ui/AccountSettingsFragment.java | 46 ++++++++-------------- .../keychain/remote/ui/RemoteServiceActivity.java | 5 ++- 2 files changed, 20 insertions(+), 31 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java index 2cab23e51..dd803834a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java @@ -29,6 +29,7 @@ import android.widget.AdapterView.OnItemSelectedListener; import android.widget.Button; import android.widget.Spinner; import android.widget.TextView; +import android.widget.Toast; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; @@ -41,11 +42,12 @@ import org.sufficientlysecure.keychain.service.OperationResults; import org.sufficientlysecure.keychain.ui.CreateKeyActivity; import org.sufficientlysecure.keychain.ui.SelectSecretKeyLayoutFragment; import org.sufficientlysecure.keychain.ui.adapter.KeyValueSpinnerAdapter; +import org.sufficientlysecure.keychain.ui.widget.KeySpinner; +import org.sufficientlysecure.keychain.ui.widget.SignKeySpinner; import org.sufficientlysecure.keychain.util.AlgorithmNames; import org.sufficientlysecure.keychain.util.Log; -public class AccountSettingsFragment extends Fragment implements - SelectSecretKeyLayoutFragment.SelectSecretKeyCallback { +public class AccountSettingsFragment extends Fragment { private static final int REQUEST_CODE_CREATE_KEY = 0x00008884; @@ -58,8 +60,8 @@ public class AccountSettingsFragment extends Fragment implements private Spinner mHashAlgorithm; private Spinner mCompression; - private SelectSecretKeyLayoutFragment mSelectKeyFragment; - private Button mCreateKeyButton; + private SignKeySpinner mSelectKeySpinner; + private View mCreateKeyButton; KeyValueSpinnerAdapter mEncryptionAdapter; KeyValueSpinnerAdapter mHashAdapter; @@ -73,7 +75,7 @@ public class AccountSettingsFragment extends Fragment implements this.mAccSettings = accountSettings; mAccNameView.setText(accountSettings.getAccountName()); - mSelectKeyFragment.selectKey(accountSettings.getKeyId()); + mSelectKeySpinner.setSelectedKeyId(accountSettings.getKeyId()); mEncryptionAlgorithm.setSelection(mEncryptionAdapter.getPosition(accountSettings .getEncryptionAlgorithm())); mHashAlgorithm.setSelection(mHashAdapter.getPosition(accountSettings.getHashAlgorithm())); @@ -90,26 +92,21 @@ public class AccountSettingsFragment extends Fragment implements return view; } - /** - * Set error String on key selection - * - * @param error - */ - public void setErrorOnSelectKeyFragment(String error) { - mSelectKeyFragment.setError(error); - } - private void initView(View view) { - mSelectKeyFragment = (SelectSecretKeyLayoutFragment) getFragmentManager().findFragmentById( - R.id.api_account_settings_select_key_fragment); - mSelectKeyFragment.setCallback(this); - + mSelectKeySpinner = (SignKeySpinner) view.findViewById(R.id.api_account_settings_key_spinner); mAccNameView = (TextView) view.findViewById(R.id.api_account_settings_acc_name); mEncryptionAlgorithm = (Spinner) view .findViewById(R.id.api_account_settings_encryption_algorithm); mHashAlgorithm = (Spinner) view.findViewById(R.id.api_account_settings_hash_algorithm); mCompression = (Spinner) view.findViewById(R.id.api_account_settings_compression); - mCreateKeyButton = (Button) view.findViewById(R.id.api_account_settings_create_key); + mCreateKeyButton = view.findViewById(R.id.api_account_settings_create_key); + + mSelectKeySpinner.setOnKeyChangedListener(new KeySpinner.OnKeyChangedListener() { + @Override + public void onKeyChanged(long masterKeyId) { + mAccSettings.setKeyId(masterKeyId); + } + }); mCreateKeyButton.setOnClickListener(new View.OnClickListener() { @Override @@ -181,7 +178,7 @@ public class AccountSettingsFragment extends Fragment implements if (resultCode == Activity.RESULT_OK) { if (data != null && data.hasExtra(OperationResultParcel.EXTRA_RESULT)) { OperationResults.SaveKeyringResult result = data.getParcelableExtra(OperationResultParcel.EXTRA_RESULT); - mSelectKeyFragment.selectKey(result.mRingMasterKeyId); + mSelectKeySpinner.setSelectedKeyId(result.mRingMasterKeyId); } else { Log.e(Constants.TAG, "missing result!"); } @@ -193,13 +190,4 @@ public class AccountSettingsFragment extends Fragment implements // execute activity's onActivityResult to show log notify super.onActivityResult(requestCode, resultCode, data); } - - /** - * callback from select secret key fragment - */ - @Override - public void onKeySelected(long secretKeyId) { - mAccSettings.setKeyId(secretKeyId); - } - } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java index 4b27e115b..7e8de7f01 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java @@ -34,6 +34,7 @@ import android.text.style.BulletSpan; import android.text.style.StyleSpan; import android.view.View; import android.widget.TextView; +import android.widget.Toast; import org.openintents.openpgp.util.OpenPgpApi; import org.sufficientlysecure.htmltextview.HtmlTextView; @@ -184,8 +185,8 @@ public class RemoteServiceActivity extends ActionBarActivity { // user needs to select a key! if (mAccSettingsFragment.getAccSettings().getKeyId() == Constants.key.none) { - mAccSettingsFragment.setErrorOnSelectKeyFragment( - getString(R.string.api_register_error_select_key)); + // TODO + Toast.makeText(RemoteServiceActivity.this, getString(R.string.api_register_error_select_key), Toast.LENGTH_LONG).show(); } else { if (mUpdateExistingAccount) { Uri baseUri = KeychainContract.ApiAccounts.buildBaseUri(packageName); -- cgit v1.2.3