aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org/sufficientlysecure/keychain
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-01-02 22:36:57 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2014-01-02 22:36:57 +0100
commit7b9b3d07bbb507823ec4621d37e2723460124e0b (patch)
treea78f125a3245accf019de73ef69566a76984c4b0 /OpenPGP-Keychain/src/org/sufficientlysecure/keychain
parentfaabf8eca264d2fa41d467e66e546f724281c47c (diff)
downloadopen-keychain-7b9b3d07bbb507823ec4621d37e2723460124e0b.tar.gz
open-keychain-7b9b3d07bbb507823ec4621d37e2723460124e0b.tar.bz2
open-keychain-7b9b3d07bbb507823ec4621d37e2723460124e0b.zip
final fixes for public key list
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicFragment.java46
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/adapter/KeyListPublicAdapter.java7
2 files changed, 28 insertions, 25 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicFragment.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicFragment.java
index 84adaef99..7bc0bcd96 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicFragment.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicFragment.java
@@ -44,19 +44,28 @@ import com.actionbarsherlock.app.SherlockFragment;
/**
* Public key list with sticky list headers.
*
- * - uses StickyListHeaders library - custom adapter: KeyListPublicAdapter
+ * - uses StickyListHeaders library
*
- * TODO: - fix loader with spinning animation - fix design - fix view holder in adapter
+ * - custom adapter: KeyListPublicAdapter
+ *
+ * TODO: - fix view holder in adapter, fix loader
*
*/
public class KeyListPublicFragment extends SherlockFragment implements
AdapterView.OnItemClickListener, LoaderManager.LoaderCallbacks<Cursor> {
private KeyListPublicActivity mKeyListPublicActivity;
-
private KeyListPublicAdapter mAdapter;
+ private StickyListHeadersListView mStickyList;
- StickyListHeadersListView stickyList;
+ /**
+ * Load custom layout with StickyListView from library
+ */
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.key_list_public_fragment, container, false);
+ return view;
+ }
/**
* Define Adapter and Loader on create of Activity
@@ -67,20 +76,17 @@ public class KeyListPublicFragment extends SherlockFragment implements
super.onActivityCreated(savedInstanceState);
mKeyListPublicActivity = (KeyListPublicActivity) getActivity();
+ mStickyList = (StickyListHeadersListView) getActivity().findViewById(R.id.list);
- stickyList = (StickyListHeadersListView) getActivity().findViewById(R.id.list);
-
- stickyList.setOnItemClickListener(this);
- // stickyList.setOnHeaderClickListener(this);
- // stickyList.setOnStickyHeaderOffsetChangedListener(this);
+ mStickyList.setOnItemClickListener(this);
// mStickyList.addHeaderView(inflater.inflate(R.layout.list_header, null));
// mStickyList.addFooterView(inflater.inflate(R.layout.list_footer, null));
- stickyList.setEmptyView(getActivity().findViewById(R.id.empty));
- stickyList.setAreHeadersSticky(true);
- stickyList.setDrawingListUnderStickyHeader(true);
- stickyList.setFastScrollEnabled(true);
+ mStickyList.setEmptyView(getActivity().findViewById(R.id.empty));
+ mStickyList.setAreHeadersSticky(true);
+ mStickyList.setDrawingListUnderStickyHeader(false);
+ mStickyList.setFastScrollEnabled(true);
try {
- stickyList.setFastScrollAlwaysVisible(true);
+ mStickyList.setFastScrollAlwaysVisible(true);
} catch (ApiLevelTooLowException e) {
}
@@ -101,12 +107,6 @@ public class KeyListPublicFragment extends SherlockFragment implements
getLoaderManager().initLoader(0, null, this);
}
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.key_list_public_fragment, container, false);
- return view;
- }
-
// These are the rows that we will retrieve.
static final String[] PROJECTION = new String[] { KeyRings._ID, KeyRings.MASTER_KEY_ID,
UserIds.USER_ID };
@@ -134,7 +134,7 @@ public class KeyListPublicFragment extends SherlockFragment implements
mAdapter = new KeyListPublicAdapter(mKeyListPublicActivity, data, Id.type.public_key,
userIdIndex);
- stickyList.setAdapter(mAdapter);
+ mStickyList.setAdapter(mAdapter);
// The list should now be shown.
if (isResumed()) {
@@ -152,9 +152,11 @@ public class KeyListPublicFragment extends SherlockFragment implements
mAdapter.swapCursor(null);
}
+ /**
+ * On click on item, start key view activity
+ */
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
- // start key view on click
Intent detailsIntent = new Intent(mKeyListPublicActivity, KeyViewActivity.class);
detailsIntent.setData(KeychainContract.KeyRings.buildPublicKeyRingsUri(Long.toString(id)));
startActivity(detailsIntent);
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/adapter/KeyListPublicAdapter.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/adapter/KeyListPublicAdapter.java
index 108fad917..ef3a0d228 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/adapter/KeyListPublicAdapter.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/adapter/KeyListPublicAdapter.java
@@ -86,7 +86,6 @@ public class KeyListPublicAdapter extends CursorAdapter implements StickyListHea
@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
-
HeaderViewHolder holder;
if (convertView == null) {
holder = new HeaderViewHolder();
@@ -97,6 +96,7 @@ public class KeyListPublicAdapter extends CursorAdapter implements StickyListHea
holder = (HeaderViewHolder) convertView.getTag();
}
+ // similar to getView in CursorAdapter
if (!mDataValid) {
// no data available at this point
Log.d(Constants.TAG, "getHeaderView: No data available at this point!");
@@ -108,17 +108,18 @@ public class KeyListPublicAdapter extends CursorAdapter implements StickyListHea
throw new IllegalStateException("couldn't move cursor to position " + position);
}
- // set header text as first char in name
+ // set header text as first char in user id
String headerText = "" + mCursor.getString(mSectionColumnIndex).subSequence(0, 1).charAt(0);
holder.text.setText(headerText);
return convertView;
}
/**
- * Remember that these have to be static, position=1 should always return the same Id that is.
+ * Header IDs should be static, position=1 should always return the same Id that is.
*/
@Override
public long getHeaderId(int position) {
+ // similar to getView in CursorAdapter
if (!mDataValid) {
// no data available at this point
Log.d(Constants.TAG, "getHeaderView: No data available at this point!");