@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.key_server_query_layout); mQuery = (EditText) findViewById(R.id.query); mSearch = (Button) findViewById(R.id.btn_search); mList = (ListView) findViewById(R.id.list); mAdapter = new KeyInfoListAdapter(this); mList.setAdapter(mAdapter); mKeyServer = (Spinner) findViewById(R.id.keyServer); ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.simple_spinner_item, mPreferences.getKeyServers()); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mKeyServer.setAdapter(adapter); if (adapter.getCount() > 0) { mKeyServer.setSelection(0); } else { mSearch.setEnabled(false); } mList.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapter, View view, int position, long keyId) { get(keyId); } }); mSearch.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { String query = mQuery.getText().toString(); search(query); } }); Intent intent = getIntent(); if (Apg.Intent.LOOK_UP_KEY_ID.equals(intent.getAction()) || Apg.Intent.LOOK_UP_KEY_ID_AND_RETURN.equals(intent.getAction())) { long keyId = intent.getLongExtra(Apg.EXTRA_KEY_ID, 0); if (keyId != 0) { String query = "0x" + Apg.keyToHex(keyId); mQuery.setText(query); search(query); } } }
@Override public void doneCallback(Message msg) { super.doneCallback(msg); removeDialog(Id.dialog.querying); Bundle data = msg.getData(); String error = data.getString(Apg.EXTRA_ERROR); if (error != null) { Toast.makeText(this, getString(R.string.errorMessage, error), Toast.LENGTH_SHORT).show(); return; } if (mQueryType == Id.query.search) { if (mSearchResult != null) { Toast.makeText( this, getString(R.string.keysFound, mSearchResult.size()), Toast.LENGTH_SHORT) .show(); mAdapter.setKeys(mSearchResult); } } else if (mQueryType == Id.query.get) { Intent orgIntent = getIntent(); if (Apg.Intent.LOOK_UP_KEY_ID_AND_RETURN.equals(orgIntent.getAction())) { if (mKeyData != null) { Intent intent = new Intent(); intent.putExtra(Apg.EXTRA_TEXT, mKeyData); setResult(RESULT_OK, intent); } else { setResult(RESULT_CANCELED); } finish(); } else { if (mKeyData != null) { Intent intent = new Intent(this, PublicKeyListActivity.class); intent.setAction(Apg.Intent.IMPORT); intent.putExtra(Apg.EXTRA_TEXT, mKeyData); startActivity(intent); } } } }