reworking some parts of import activity code

This commit is contained in:
Dominik Schürmann 2014-02-04 20:18:14 +01:00
parent a56219a027
commit e2bd3ae831
2 changed files with 46 additions and 32 deletions

View File

@ -57,6 +57,8 @@ public class ImportKeysActivity extends DrawerActivity implements ActionBar.OnNa
+ "IMPORT_KEY_FROM_QR_CODE"; + "IMPORT_KEY_FROM_QR_CODE";
public static final String ACTION_IMPORT_KEY_FROM_KEY_SERVER = Constants.INTENT_PREFIX public static final String ACTION_IMPORT_KEY_FROM_KEY_SERVER = Constants.INTENT_PREFIX
+ "IMPORT_KEY_FROM_KEY_SERVER"; + "IMPORT_KEY_FROM_KEY_SERVER";
public static final String ACTION_IMPORT_KEY_FROM_KEY_SERVER_AND_RETURN = Constants.INTENT_PREFIX
+ "IMPORT_KEY_FROM_KEY_SERVER_AND_RETURN";
// Actions for internal use only: // Actions for internal use only:
public static final String ACTION_IMPORT_KEY_FROM_FILE = Constants.INTENT_PREFIX public static final String ACTION_IMPORT_KEY_FROM_FILE = Constants.INTENT_PREFIX
@ -125,21 +127,21 @@ public class ImportKeysActivity extends DrawerActivity implements ActionBar.OnNa
if (scheme != null && scheme.toLowerCase(Locale.ENGLISH).equals(Constants.FINGERPRINT_SCHEME)) { if (scheme != null && scheme.toLowerCase(Locale.ENGLISH).equals(Constants.FINGERPRINT_SCHEME)) {
/* Scanning a fingerprint directly with Barcode Scanner */ /* Scanning a fingerprint directly with Barcode Scanner */
getSupportActionBar().setSelectedNavigationItem(0);
loadFragment(ImportKeysQrCodeFragment.class, null, mNavigationStrings[0]);
loadFromFingerprintUri(savedInstanceState, dataUri); loadFromFingerprintUri(savedInstanceState, dataUri);
} else if (ACTION_IMPORT_KEY.equals(action)) { } else if (ACTION_IMPORT_KEY.equals(action)) {
/* Keychain's own Actions */ /* Keychain's own Actions */
// display file fragment
getSupportActionBar().setSelectedNavigationItem(1); getSupportActionBar().setSelectedNavigationItem(1);
loadFragment(ImportKeysFileFragment.class, null, mNavigationStrings[1]); loadFragment(ImportKeysFileFragment.class, null, mNavigationStrings[1]);
if (dataUri != null) { if (dataUri != null) {
// directly load data // action: directly load data
startListFragment(savedInstanceState, null, dataUri, null); startListFragment(savedInstanceState, null, dataUri, null);
} else if (extras.containsKey(EXTRA_KEY_BYTES)) { } else if (extras.containsKey(EXTRA_KEY_BYTES)) {
byte[] importData = intent.getByteArrayExtra(EXTRA_KEY_BYTES); byte[] importData = intent.getByteArrayExtra(EXTRA_KEY_BYTES);
// directly load data // action: directly load data
startListFragment(savedInstanceState, importData, null, null); startListFragment(savedInstanceState, importData, null, null);
} }
} else if (ACTION_IMPORT_KEY_FROM_KEY_SERVER.equals(action)) { } else if (ACTION_IMPORT_KEY_FROM_KEY_SERVER.equals(action)) {
@ -161,28 +163,39 @@ public class ImportKeysActivity extends DrawerActivity implements ActionBar.OnNa
return; return;
} }
// search directly // display key server fragment with query
getSupportActionBar().setSelectedNavigationItem(0); getSupportActionBar().setSelectedNavigationItem(0);
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString(ImportKeysServerFragment.ARG_QUERY, query); args.putString(ImportKeysServerFragment.ARG_QUERY, query);
loadFragment(ImportKeysServerFragment.class, args, mNavigationStrings[0]); loadFragment(ImportKeysServerFragment.class, args, mNavigationStrings[0]);
// action: search immediately
startListFragment(savedInstanceState, null, null, query); startListFragment(savedInstanceState, null, null, query);
} else { } else if (ACTION_IMPORT_KEY_FROM_FILE.equals(action)) {
// Other actions
startListFragment(savedInstanceState, null, null, null);
if (ACTION_IMPORT_KEY_FROM_FILE.equals(action)) { // NOTE: this only displays the appropriate fragment, no actions are taken
getSupportActionBar().setSelectedNavigationItem(1); getSupportActionBar().setSelectedNavigationItem(1);
loadFragment(ImportKeysFileFragment.class, null, mNavigationStrings[1]); loadFragment(ImportKeysFileFragment.class, null, mNavigationStrings[1]);
} else if (ACTION_IMPORT_KEY_FROM_QR_CODE.equals(action)) {
// also exposed in AndroidManifest // no immediate actions!
getSupportActionBar().setSelectedNavigationItem(2); startListFragment(savedInstanceState, null, null, null);
loadFragment(ImportKeysQrCodeFragment.class, null, mNavigationStrings[2]); } else if (ACTION_IMPORT_KEY_FROM_QR_CODE.equals(action)) {
} else if (ACTION_IMPORT_KEY_FROM_NFC.equals(action)) { // also exposed in AndroidManifest
getSupportActionBar().setSelectedNavigationItem(3);
loadFragment(ImportKeysNFCFragment.class, null, mNavigationStrings[3]); // NOTE: this only displays the appropriate fragment, no actions are taken
} getSupportActionBar().setSelectedNavigationItem(2);
loadFragment(ImportKeysQrCodeFragment.class, null, mNavigationStrings[2]);
// no immediate actions!
startListFragment(savedInstanceState, null, null, null);
} else if (ACTION_IMPORT_KEY_FROM_NFC.equals(action)) {
// NOTE: this only displays the appropriate fragment, no actions are taken
getSupportActionBar().setSelectedNavigationItem(3);
loadFragment(ImportKeysNFCFragment.class, null, mNavigationStrings[3]);
// no immediate actions!
startListFragment(savedInstanceState, null, null, null);
} }
} }
@ -261,12 +274,13 @@ public class ImportKeysActivity extends DrawerActivity implements ActionBar.OnNa
String query = "0x" + fingerprint; String query = "0x" + fingerprint;
// search directly // display key server fragment with query
getSupportActionBar().setSelectedNavigationItem(0); getSupportActionBar().setSelectedNavigationItem(0);
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString(ImportKeysServerFragment.ARG_QUERY, query); args.putString(ImportKeysServerFragment.ARG_QUERY, query);
loadFragment(ImportKeysServerFragment.class, args, mNavigationStrings[0]); loadFragment(ImportKeysServerFragment.class, args, mNavigationStrings[0]);
// action: search directly
startListFragment(savedInstanceState, null, null, query); startListFragment(savedInstanceState, null, null, query);
} }

View File

@ -127,21 +127,21 @@ public class ImportKeysServerFragment extends Fragment {
mImportActivity = (ImportKeysActivity) getActivity(); mImportActivity = (ImportKeysActivity) getActivity();
// set displayed values // set displayed values
if (getArguments() != null && getArguments().containsKey(ARG_QUERY)) { if (getArguments() != null) {
String query = getArguments().getString(ARG_QUERY); if (getArguments().containsKey(ARG_QUERY)) {
mQueryEditText.setText(query, TextView.BufferType.EDITABLE); String query = getArguments().getString(ARG_QUERY);
mQueryEditText.setText(query, TextView.BufferType.EDITABLE);
String keyServer = null; Log.d(Constants.TAG, "query: " + query);
if (getArguments().containsKey(ARG_KEY_SERVER)) {
keyServer = getArguments().getString(ARG_KEY_SERVER);
int keyServerPos = mServerAdapter.getPosition(keyServer);
mServerSpinner.setSelection(keyServerPos);
} else {
keyServer = (String) mServerSpinner.getSelectedItem();
} }
Log.d(Constants.TAG, "query: " + query); if (getArguments().containsKey(ARG_KEY_SERVER)) {
Log.d(Constants.TAG, "keyServer: " + keyServer); String keyServer = getArguments().getString(ARG_KEY_SERVER);
int keyServerPos = mServerAdapter.getPosition(keyServer);
mServerSpinner.setSelection(keyServerPos);
Log.d(Constants.TAG, "keyServer: " + keyServer);
}
} }
} }