diff options
Diffstat (limited to 'org_apg/src/org/thialfihar/android/apg/deprecated')
-rw-r--r-- | org_apg/src/org/thialfihar/android/apg/deprecated/BaseActivity.java | 4 | ||||
-rw-r--r-- | org_apg/src/org/thialfihar/android/apg/deprecated/KeyListActivity.java | 767 |
2 files changed, 769 insertions, 2 deletions
diff --git a/org_apg/src/org/thialfihar/android/apg/deprecated/BaseActivity.java b/org_apg/src/org/thialfihar/android/apg/deprecated/BaseActivity.java index 1763384fd..507647897 100644 --- a/org_apg/src/org/thialfihar/android/apg/deprecated/BaseActivity.java +++ b/org_apg/src/org/thialfihar/android/apg/deprecated/BaseActivity.java @@ -24,7 +24,7 @@ import org.thialfihar.android.apg.Id; import org.thialfihar.android.apg.helper.PGPMain; import org.thialfihar.android.apg.helper.Preferences; import org.thialfihar.android.apg.ui.MainActivity; -import org.thialfihar.android.apg.ui.SelectSecretKeyListActivity; +import org.thialfihar.android.apg.ui.SelectSecretKeyListActivityOld; import org.thialfihar.android.apg.util.ProgressDialogUpdater; import com.actionbarsherlock.app.ActionBar; @@ -263,7 +263,7 @@ public class BaseActivity extends SherlockFragmentActivity implements Runnable, case Id.request.secret_keys: { if (resultCode == RESULT_OK) { Bundle bundle = data.getExtras(); - setSecretKeyId(bundle.getLong(SelectSecretKeyListActivity.RESULT_EXTRA_KEY_ID)); + setSecretKeyId(bundle.getLong(SelectSecretKeyListActivityOld.RESULT_EXTRA_KEY_ID)); } else { setSecretKeyId(Id.key.none); } diff --git a/org_apg/src/org/thialfihar/android/apg/deprecated/KeyListActivity.java b/org_apg/src/org/thialfihar/android/apg/deprecated/KeyListActivity.java new file mode 100644 index 000000000..755382bf2 --- /dev/null +++ b/org_apg/src/org/thialfihar/android/apg/deprecated/KeyListActivity.java @@ -0,0 +1,767 @@ +///* +// * Copyright (C) 2012 Dominik Schürmann <dominik@dominikschuermann.de> +// * Copyright (C) 2010 Thialfihar <thi@thialfihar.org> +// * +// * Licensed under the Apache License, Version 2.0 (the "License"); +// * you may not use this file except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// */ +// +//package org.thialfihar.android.apg.deprecated; +// +//import org.thialfihar.android.apg.Constants; +//import org.thialfihar.android.apg.Id; +//import org.thialfihar.android.apg.helper.OtherHelper; +//import org.thialfihar.android.apg.helper.PGPHelper; +//import org.thialfihar.android.apg.helper.PGPMain; +//import org.thialfihar.android.apg.provider.KeyRings; +//import org.thialfihar.android.apg.provider.Keys; +//import org.thialfihar.android.apg.provider.UserIds; +//import org.thialfihar.android.apg.service.ApgServiceHandler; +//import org.thialfihar.android.apg.service.ApgService; +//import org.thialfihar.android.apg.ui.dialog.DeleteFileDialogFragment; +//import org.thialfihar.android.apg.ui.dialog.DeleteKeyDialogFragment; +//import org.thialfihar.android.apg.ui.dialog.FileDialogFragment; +//import org.thialfihar.android.apg.R; +// +//import com.actionbarsherlock.app.SherlockFragmentActivity; +//import com.actionbarsherlock.view.MenuItem; +// +//import android.app.AlertDialog; +//import android.app.ProgressDialog; +//import android.app.SearchManager; +//import android.content.Context; +//import android.content.DialogInterface; +//import android.content.Intent; +//import android.database.Cursor; +//import android.database.sqlite.SQLiteDatabase; +//import android.database.sqlite.SQLiteQueryBuilder; +//import android.os.Bundle; +//import android.os.Handler; +//import android.os.Message; +//import android.os.Messenger; +//import org.thialfihar.android.apg.util.Log; +//import android.view.LayoutInflater; +//import android.view.View; +//import android.view.View.OnClickListener; +//import android.view.ViewGroup; +//import android.widget.BaseExpandableListAdapter; +//import android.widget.Button; +//import android.widget.ExpandableListView; +//import android.widget.ExpandableListView.ExpandableListContextMenuInfo; +//import android.widget.ImageView; +//import android.widget.TextView; +//import android.widget.Toast; +// +//import java.util.Vector; +// +//public class KeyListActivity extends SherlockFragmentActivity { +// +// public static final String ACTION_IMPORT = Constants.INTENT_PREFIX + "IMPORT"; +// +// public static final String EXTRA_TEXT = "text"; +// +// protected ExpandableListView mList; +// protected KeyListAdapter mListAdapter; +// protected View mFilterLayout; +// protected Button mClearFilterButton; +// protected TextView mFilterInfo; +// +// protected int mSelectedItem = -1; +// protected int mTask = 0; +// +// protected String mImportFilename = Constants.path.APP_DIR + "/"; +// protected String mExportFilename = Constants.path.APP_DIR + "/"; +// +// protected String mImportData; +// protected boolean mDeleteAfterImport = false; +// +// protected int mKeyType = Id.type.public_key; +// +// FileDialogFragment mFileDialog; +// +// @Override +// public void onCreate(Bundle savedInstanceState) { +// super.onCreate(savedInstanceState); +// setContentView(R.layout.key_list); +// +// // set actionbar without home button if called from another app +// OtherHelper.setActionBarBackButton(this); +// +// setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL); +// +// mList = (ExpandableListView) findViewById(R.id.list); +// registerForContextMenu(mList); +// +// mFilterLayout = findViewById(R.id.layout_filter); +// mFilterInfo = (TextView) mFilterLayout.findViewById(R.id.filterInfo); +// mClearFilterButton = (Button) mFilterLayout.findViewById(R.id.btn_clear); +// +// mClearFilterButton.setOnClickListener(new OnClickListener() { +// public void onClick(View v) { +// handleIntent(new Intent()); +// } +// }); +// +// handleIntent(getIntent()); +// } +// +// @Override +// protected void onNewIntent(Intent intent) { +// super.onNewIntent(intent); +// handleIntent(intent); +// } +// +// protected void handleIntent(Intent intent) { +// String searchString = null; +// if (Intent.ACTION_SEARCH.equals(intent.getAction())) { +// searchString = intent.getStringExtra(SearchManager.QUERY); +// if (searchString != null && searchString.trim().length() == 0) { +// searchString = null; +// } +// } +// +// if (searchString == null) { +// mFilterLayout.setVisibility(View.GONE); +// } else { +// mFilterLayout.setVisibility(View.VISIBLE); +// mFilterInfo.setText(getString(R.string.filterInfo, searchString)); +// } +// +// if (mListAdapter != null) { +// mListAdapter.cleanup(); +// } +// mListAdapter = new KeyListAdapter(this, searchString); +// mList.setAdapter(mListAdapter); +// +// // Get intent, action +// // Intent intent = getIntent(); +// String action = intent.getAction(); +// +// if (Intent.ACTION_VIEW.equals(action)) { +// // Android's Action when opening file associated to APG (see AndroidManifest.xml) +// +// handleActionImport(intent); +// } else if (ACTION_IMPORT.equals(action)) { +// // APG's own Actions +// +// handleActionImport(intent); +// } +// } +// +// /** +// * Handles import action +// * +// * @param intent +// */ +// private void handleActionImport(Intent intent) { +// if ("file".equals(intent.getScheme()) && intent.getDataString() != null) { +// mImportFilename = intent.getData().getPath(); +// } else { +// mImportData = intent.getStringExtra(EXTRA_TEXT); +// } +// importKeys(); +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// switch (item.getItemId()) { +// +// case android.R.id.home: +// // app icon in Action Bar clicked; go home +// Intent intent = new Intent(this, MainActivity.class); +// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); +// startActivity(intent); +// return true; +// +// case Id.menu.option.import_keys: { +// showImportKeysDialog(); +// return true; +// } +// +// case Id.menu.option.export_keys: { +// showExportKeysDialog(false); +// return true; +// } +// +// case Id.menu.option.search: +// startSearch("", false, null, false); +// return true; +// +// default: { +// return super.onOptionsItemSelected(item); +// } +// } +// } +// +// private void showImportKeysDialog() { +// // Message is received after file is selected +// Handler returnHandler = new Handler() { +// @Override +// public void handleMessage(Message message) { +// if (message.what == FileDialogFragment.MESSAGE_OKAY) { +// Bundle data = message.getData(); +// mImportFilename = data.getString(FileDialogFragment.MESSAGE_DATA_FILENAME); +// +// mDeleteAfterImport = data.getBoolean(FileDialogFragment.MESSAGE_DATA_CHECKED); +// importKeys(); +// } +// } +// }; +// +// // Create a new Messenger for the communication back +// Messenger messenger = new Messenger(returnHandler); +// +// mFileDialog = FileDialogFragment.newInstance(messenger, +// getString(R.string.title_importKeys), getString(R.string.specifyFileToImportFrom), +// mImportFilename, null, Id.request.filename); +// +// mFileDialog.show(getSupportFragmentManager(), "fileDialog"); +// } +// +// private void showExportKeysDialog(boolean singleKeyExport) { +// String title = (singleKeyExport ? getString(R.string.title_exportKey) +// : getString(R.string.title_exportKeys)); +// String message = getString(mKeyType == Id.type.public_key ? R.string.specifyFileToExportTo +// : R.string.specifyFileToExportSecretKeysTo); +// +// // Message is received after file is selected +// Handler returnHandler = new Handler() { +// @Override +// public void handleMessage(Message message) { +// if (message.what == FileDialogFragment.MESSAGE_OKAY) { +// Bundle data = message.getData(); +// mExportFilename = data.getString(FileDialogFragment.MESSAGE_DATA_FILENAME); +// +// exportKeys(); +// } +// } +// }; +// +// // Create a new Messenger for the communication back +// Messenger messenger = new Messenger(returnHandler); +// +// mFileDialog = FileDialogFragment.newInstance(messenger, title, message, mExportFilename, +// null, Id.request.filename); +// +// mFileDialog.show(getSupportFragmentManager(), "fileDialog"); +// } +// +// @Override +// public boolean onContextItemSelected(android.view.MenuItem menuItem) { +// ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) menuItem.getMenuInfo(); +// int type = ExpandableListView.getPackedPositionType(info.packedPosition); +// int groupPosition = ExpandableListView.getPackedPositionGroup(info.packedPosition); +// +// if (type != ExpandableListView.PACKED_POSITION_TYPE_GROUP) { +// return super.onContextItemSelected(menuItem); +// } +// +// switch (menuItem.getItemId()) { +// case Id.menu.export: { +// mSelectedItem = groupPosition; +// showExportKeysDialog(true); +// return true; +// } +// +// case Id.menu.delete: { +// mSelectedItem = groupPosition; +// showDeleteKeyDialog(); +// return true; +// } +// +// default: { +// return super.onContextItemSelected(menuItem); +// } +// } +// } +// +// private void showDeleteKeyDialog() { +// final int keyRingId = mListAdapter.getKeyRingId(mSelectedItem); +// mSelectedItem = -1; +// +// // Message is received after key is deleted +// Handler returnHandler = new Handler() { +// @Override +// public void handleMessage(Message message) { +// if (message.what == DeleteKeyDialogFragment.MESSAGE_OKAY) { +// refreshList(); +// } +// } +// }; +// +// // Create a new Messenger for the communication back +// Messenger messenger = new Messenger(returnHandler); +// +// DeleteKeyDialogFragment deleteKeyDialog = DeleteKeyDialogFragment.newInstance(messenger, +// keyRingId, mKeyType); +// +// deleteKeyDialog.show(getSupportFragmentManager(), "deleteKeyDialog"); +// } +// +// public void importKeys() { +// Log.d(Constants.TAG, "importKeys started"); +// +// // Send all information needed to service to import key in other thread +// Intent intent = new Intent(this, ApgService.class); +// +// intent.putExtra(ApgService.EXTRA_ACTION, ApgService.ACTION_IMPORT_KEY); +// +// // fill values for this action +// Bundle data = new Bundle(); +// +// data.putInt(ApgService.IMPORT_KEY_TYPE, mKeyType); +// +// if (mImportData != null) { +// data.putInt(ApgService.TARGET, ApgService.TARGET_BYTES); +// data.putByteArray(ApgService.IMPORT_BYTES, mImportData.getBytes()); +// } else { +// data.putInt(ApgService.TARGET, ApgService.TARGET_FILE); +// data.putString(ApgService.IMPORT_FILENAME, mImportFilename); +// } +// +// intent.putExtra(ApgService.EXTRA_DATA, data); +// +// // Message is received after importing is done in ApgService +// ApgServiceHandler saveHandler = new ApgServiceHandler(this, R.string.progress_importing, +// ProgressDialog.STYLE_HORIZONTAL) { +// public void handleMessage(Message message) { +// // handle messages by standard ApgHandler first +// super.handleMessage(message); +// +// if (message.arg1 == ApgServiceHandler.MESSAGE_OKAY) { +// // get returned data bundle +// Bundle returnData = message.getData(); +// +// int added = returnData.getInt(ApgService.RESULT_IMPORT_ADDED); +// int updated = returnData.getInt(ApgService.RESULT_IMPORT_UPDATED); +// int bad = returnData.getInt(ApgService.RESULT_IMPORT_BAD); +// String toastMessage; +// if (added > 0 && updated > 0) { +// toastMessage = getString(R.string.keysAddedAndUpdated, added, updated); +// } else if (added > 0) { +// toastMessage = getString(R.string.keysAdded, added); +// } else if (updated > 0) { +// toastMessage = getString(R.string.keysUpdated, updated); +// } else { +// toastMessage = getString(R.string.noKeysAddedOrUpdated); +// } +// Toast.makeText(KeyListActivity.this, toastMessage, Toast.LENGTH_SHORT).show(); +// if (bad > 0) { +// AlertDialog.Builder alert = new AlertDialog.Builder(KeyListActivity.this); +// +// alert.setIcon(android.R.drawable.ic_dialog_alert); +// alert.setTitle(R.string.warning); +// alert.setMessage(KeyListActivity.this.getString( +// R.string.badKeysEncountered, bad)); +// +// alert.setPositiveButton(android.R.string.ok, +// new DialogInterface.OnClickListener() { +// public void onClick(DialogInterface dialog, int id) { +// dialog.cancel(); +// } +// }); +// alert.setCancelable(true); +// alert.create().show(); +// } else if (mDeleteAfterImport) { +// // everything went well, so now delete, if that was turned on +// DeleteFileDialogFragment deleteFileDialog = DeleteFileDialogFragment +// .newInstance(mImportFilename); +// deleteFileDialog.show(getSupportFragmentManager(), "deleteDialog"); +// } +// refreshList(); +// +// } +// }; +// }; +// +// // Create a new Messenger for the communication back +// Messenger messenger = new Messenger(saveHandler); +// intent.putExtra(ApgService.EXTRA_MESSENGER, messenger); +// +// // show progress dialog +// saveHandler.showProgressDialog(this); +// +// // start service with intent +// startService(intent); +// } +// +// public void exportKeys() { +// Log.d(Constants.TAG, "exportKeys started"); +// +// // Send all information needed to service to export key in other thread +// Intent intent = new Intent(this, ApgService.class); +// +// intent.putExtra(ApgService.EXTRA_ACTION, ApgService.ACTION_EXPORT_KEY); +// +// // fill values for this action +// Bundle data = new Bundle(); +// +// data.putString(ApgService.EXPORT_FILENAME, mExportFilename); +// data.putInt(ApgService.EXPORT_KEY_TYPE, mKeyType); +// +// if (mSelectedItem == -1) { +// data.putBoolean(ApgService.EXPORT_ALL, true); +// } else { +// int keyRingId = mListAdapter.getKeyRingId(mSelectedItem); +// data.putInt(ApgService.EXPORT_KEY_RING_ID, keyRingId); +// mSelectedItem = -1; +// } +// +// intent.putExtra(ApgService.EXTRA_DATA, data); +// +// // Message is received after exporting is done in ApgService +// ApgServiceHandler exportHandler = new ApgServiceHandler(this, R.string.progress_exporting, +// ProgressDialog.STYLE_HORIZONTAL) { +// public void handleMessage(Message message) { +// // handle messages by standard ApgHandler first +// super.handleMessage(message); +// +// if (message.arg1 == ApgServiceHandler.MESSAGE_OKAY) { +// // get returned data bundle +// Bundle returnData = message.getData(); +// +// int exported = returnData.getInt(ApgService.RESULT_EXPORT); +// String toastMessage; +// if (exported == 1) { +// toastMessage = getString(R.string.keyExported); +// } else if (exported > 0) { +// toastMessage = getString(R.string.keysExported, exported); +// } else { +// toastMessage = getString(R.string.noKeysExported); +// } +// Toast.makeText(KeyListActivity.this, toastMessage, Toast.LENGTH_SHORT).show(); +// +// } +// }; +// }; +// +// // Create a new Messenger for the communication back +// Messenger messenger = new Messenger(exportHandler); +// intent.putExtra(ApgService.EXTRA_MESSENGER, messenger); +// +// // show progress dialog +// exportHandler.showProgressDialog(this); +// +// // start service with intent +// startService(intent); +// } +// +// protected void refreshList() { +// mListAdapter.rebuild(true); +// mListAdapter.notifyDataSetChanged(); +// } +// +// protected class KeyListAdapter extends BaseExpandableListAdapter { +// private LayoutInflater mInflater; +// private Vector<Vector<KeyChild>> mChildren; +// private SQLiteDatabase mDatabase; +// private Cursor mCursor; +// private String mSearchString; +// +// private class KeyChild { +// public static final int KEY = 0; +// public static final int USER_ID = 1; +// public static final int FINGER_PRINT = 2; +// +// public int type; +// public String userId; +// public long keyId; +// public boolean isMasterKey; +// public int algorithm; +// public int keySize; +// public boolean canSign; +// public boolean canEncrypt; +// public String fingerPrint; +// +// public KeyChild(long keyId, boolean isMasterKey, int algorithm, int keySize, +// boolean canSign, boolean canEncrypt) { +// this.type = KEY; +// this.keyId = keyId; +// this.isMasterKey = isMasterKey; +// this.algorithm = algorithm; +// this.keySize = keySize; +// this.canSign = canSign; +// this.canEncrypt = canEncrypt; +// } +// +// public KeyChild(String userId) { +// type = USER_ID; +// this.userId = userId; +// } +// +// public KeyChild(String fingerPrint, boolean isFingerPrint) { +// type = FINGER_PRINT; +// this.fingerPrint = fingerPrint; +// } +// } +// +// public KeyListAdapter(Context context, String searchString) { +// mSearchString = searchString; +// +// mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); +// mDatabase = PGPMain.getDatabase().db(); +// SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); +// qb.setTables(KeyRings.TABLE_NAME + " INNER JOIN " + Keys.TABLE_NAME + " ON " + "(" +// + KeyRings.TABLE_NAME + "." + KeyRings._ID + " = " + Keys.TABLE_NAME + "." +// + Keys.KEY_RING_ID + " AND " + Keys.TABLE_NAME + "." + Keys.IS_MASTER_KEY +// + " = '1'" + ") " + " INNER JOIN " + UserIds.TABLE_NAME + " ON " + "(" +// + Keys.TABLE_NAME + "." + Keys._ID + " = " + UserIds.TABLE_NAME + "." +// + UserIds.KEY_ID + " AND " + UserIds.TABLE_NAME + "." + UserIds.RANK +// + " = '0')"); +// +// if (searchString != null && searchString.trim().length() > 0) { +// String[] chunks = searchString.trim().split(" +"); +// qb.appendWhere("EXISTS (SELECT tmp." + UserIds._ID + " FROM " + UserIds.TABLE_NAME +// + " AS tmp WHERE " + "tmp." + UserIds.KEY_ID + " = " + Keys.TABLE_NAME +// + "." + Keys._ID); +// for (int i = 0; i < chunks.length; ++i) { +// qb.appendWhere(" AND tmp." + UserIds.USER_ID + " LIKE "); +// qb.appendWhereEscapeString("%" + chunks[i] + "%"); +// } +// qb.appendWhere(")"); +// } +// +// mCursor = qb.query(mDatabase, new String[] { KeyRings.TABLE_NAME + "." + KeyRings._ID, // 0 +// KeyRings.TABLE_NAME + "." + KeyRings.MASTER_KEY_ID, // 1 +// UserIds.TABLE_NAME + "." + UserIds.USER_ID, // 2 +// }, KeyRings.TABLE_NAME + "." + KeyRings.TYPE + " = ?", new String[] { "" +// + (mKeyType == Id.type.public_key ? Id.database.type_public +// : Id.database.type_secret) }, null, null, UserIds.TABLE_NAME + "." +// + UserIds.USER_ID + " ASC"); +// +// // content provider way for reference, might have to go back to it sometime: +// /* +// * Uri contentUri = null; if (mKeyType == Id.type.secret_key) { contentUri = +// * Apg.CONTENT_URI_SECRET_KEY_RINGS; } else { contentUri = +// * Apg.CONTENT_URI_PUBLIC_KEY_RINGS; } mCursor = getContentResolver().query( contentUri, +// * new String[] { DataProvider._ID, // 0 DataProvider.MASTER_KEY_ID, // 1 +// * DataProvider.USER_ID, // 2 }, null, null, null); +// */ +// +// startManagingCursor(mCursor); +// rebuild(false); +// } +// +// public void cleanup() { +// if (mCursor != null) { +// stopManagingCursor(mCursor); +// mCursor.close(); +// } +// } +// +// public void rebuild(boolean requery) { +// if (requery) { +// mCursor.requery(); +// } +// mChildren = new Vector<Vector<KeyChild>>(); +// for (int i = 0; i < mCursor.getCount(); ++i) { +// mChildren.add(null); +// } +// } +// +// protected Vector<KeyChild> getChildrenOfGroup(int groupPosition) { +// Vector<KeyChild> children = mChildren.get(groupPosition); +// if (children != null) { +// return children; +// } +// +// mCursor.moveToPosition(groupPosition); +// children = new Vector<KeyChild>(); +// Cursor c = mDatabase.query(Keys.TABLE_NAME, new String[] { Keys._ID, // 0 +// Keys.KEY_ID, // 1 +// Keys.IS_MASTER_KEY, // 2 +// Keys.ALGORITHM, // 3 +// Keys.KEY_SIZE, // 4 +// Keys.CAN_SIGN, // 5 +// Keys.CAN_ENCRYPT, // 6 +// }, Keys.KEY_RING_ID + " = ?", new String[] { mCursor.getString(0) }, null, null, +// Keys.RANK + " ASC"); +// +// int masterKeyId = -1; +// long fingerPrintId = -1; +// for (int i = 0; i < c.getCount(); ++i) { +// c.moveToPosition(i); +// children.add(new KeyChild(c.getLong(1), c.getInt(2) == 1, c.getInt(3), c.getInt(4), +// c.getInt(5) == 1, c.getInt(6) == 1)); +// if (i == 0) { +// masterKeyId = c.getInt(0); +// fingerPrintId = c.getLong(1); +// } +// } +// c.close(); +// +// if (masterKeyId != -1) { +// children.insertElementAt( +// new KeyChild(PGPHelper.getFingerPrint(KeyListActivity.this, fingerPrintId), true), 0); +// c = mDatabase.query(UserIds.TABLE_NAME, new String[] { UserIds.USER_ID, // 0 +// }, UserIds.KEY_ID + " = ? AND " + UserIds.RANK + " > 0", new String[] { "" +// + masterKeyId }, null, null, UserIds.RANK + " ASC"); +// +// for (int i = 0; i < c.getCount(); ++i) { +// c.moveToPosition(i); +// children.add(new KeyChild(c.getString(0))); +// } +// c.close(); +// } +// +// mChildren.set(groupPosition, children); +// return children; +// } +// +// public boolean hasStableIds() { +// return true; +// } +// +// public boolean isChildSelectable(int groupPosition, int childPosition) { +// return true; +// } +// +// public int getGroupCount() { +// return mCursor.getCount(); +// } +// +// public Object getChild(int groupPosition, int childPosition) { +// return null; +// } +// +// public long getChildId(int groupPosition, int childPosition) { +// return childPosition; +// } +// +// public int getChildrenCount(int groupPosition) { +// return getChildrenOfGroup(groupPosition).size(); +// } +// +// public Object getGroup(int position) { +// return position; +// } +// +// public long getGroupId(int position) { +// mCursor.moveToPosition(position); +// return mCursor.getLong(1); // MASTER_KEY_ID +// } +// +// public int getKeyRingId(int position) { +// mCursor.moveToPosition(position); +// return mCursor.getInt(0); // _ID +// } +// +// public View getGroupView(int groupPosition, boolean isExpanded, View convertView, +// ViewGroup parent) { +// mCursor.moveToPosition(groupPosition); +// +// View view = mInflater.inflate(R.layout.key_list_group_item, null); +// view.setBackgroundResource(android.R.drawable.list_selector_background); +// +// TextView mainUserId = (TextView) view.findViewById(R.id.mainUserId); +// mainUserId.setText(""); +// TextView mainUserIdRest = (TextView) view.findViewById(R.id.mainUserIdRest); +// mainUserIdRest.setText(""); +// +// String userId = mCursor.getString(2); // USER_ID +// if (userId != null) { +// String chunks[] = userId.split(" <", 2); +// userId = chunks[0]; +// if (chunks.length > 1) { +// mainUserIdRest.setText("<" + chunks[1]); +// } +// mainUserId.setText(userId); +// } +// +// if (mainUserId.getText().length() == 0) { +// mainUserId.setText(R.string.unknownUserId); +// } +// +// if (mainUserIdRest.getText().length() == 0) { +// mainUserIdRest.setVisibility(View.GONE); +// } +// return view; +// } +// +// public View getChildView(int groupPosition, int childPosition, boolean isLastChild, +// View convertView, ViewGroup parent) { +// mCursor.moveToPosition(groupPosition); +// +// Vector<KeyChild> children = getChildrenOfGroup(groupPosition); +// +// KeyChild child = children.get(childPosition); +// View view = null; +// switch (child.type) { +// case KeyChild.KEY: { +// if (child.isMasterKey) { +// view = mInflater.inflate(R.layout.key_list_child_item_master_key, null); +// } else { +// view = mInflater.inflate(R.layout.key_list_child_item_sub_key, null); +// } +// +// TextView keyId = (TextView) view.findViewById(R.id.keyId); +// String keyIdStr = PGPHelper.getSmallFingerPrint(child.keyId); +// keyId.setText(keyIdStr); +// TextView keyDetails = (TextView) view.findViewById(R.id.keyDetails); +// String algorithmStr = PGPHelper.getAlgorithmInfo(child.algorithm, child.keySize); +// keyDetails.setText("(" + algorithmStr + ")"); +// +// ImageView encryptIcon = (ImageView) view.findViewById(R.id.ic_encryptKey); +// if (!child.canEncrypt) { +// encryptIcon.setVisibility(View.GONE); +// } +// +// ImageView signIcon = (ImageView) view.findViewById(R.id.ic_signKey); +// if (!child.canSign) { +// signIcon.setVisibility(View.GONE); +// } +// break; +// } +// +// case KeyChild.USER_ID: { +// view = mInflater.inflate(R.layout.key_list_child_item_user_id, null); +// TextView userId = (TextView) view.findViewById(R.id.userId); +// userId.setText(child.userId); +// break; +// } +// +// case KeyChild.FINGER_PRINT: { +// view = mInflater.inflate(R.layout.key_list_child_item_user_id, null); +// TextView userId = (TextView) view.findViewById(R.id.userId); +// userId.setText(getString(R.string.fingerprint) + ":\n" +// + child.fingerPrint.replace(" ", "\n")); +// break; +// } +// } +// return view; +// } +// } +// +// @Override +// protected void onActivityResult(int requestCode, int resultCode, Intent data) { +// switch (requestCode) { +// case Id.request.filename: { +// if (resultCode == RESULT_OK && data != null) { +// try { +// String path = data.getData().getPath(); +// Log.d(Constants.TAG, "path=" + path); +// +// mFileDialog.setFilename(path); +// } catch (NullPointerException e) { +// Log.e(Constants.TAG, "Nullpointer while retrieving path!", e); +// } +// } +// return; +// } +// +// default: { +// break; +// } +// } +// super.onActivityResult(requestCode, resultCode, data); +// } +//} |