From 0c7eea225b7c04549e92c8c7729bf0e7a04aa5c7 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Thu, 31 Jul 2014 22:21:46 +0200 Subject: - add multi select for storage api (kitkat) - UI fixes - refactoring --- .../ui/widget/EncryptKeyCompletionView.java | 32 ++++++++++++++++++++-- .../ui/widget/NoSwipeWrapContentViewPager.java | 11 ++++---- 2 files changed, 36 insertions(+), 7 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java index 2ba2e6497..7bdaf27c7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java @@ -4,6 +4,11 @@ import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.graphics.Bitmap; +import android.os.Bundle; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.LoaderManager; +import android.support.v4.content.CursorLoader; +import android.support.v4.content.Loader; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; @@ -48,8 +53,6 @@ public class EncryptKeyCompletionView extends TokenCompleteTextView { allowDuplicates(false); } - private EncryptKeyAdapter mAdapter; - @Override protected View getViewForObject(Object object) { if (object instanceof EncryptionKey) { @@ -81,6 +84,31 @@ public class EncryptKeyCompletionView extends TokenCompleteTextView { return null; } + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + if (getContext() instanceof FragmentActivity) { + ((FragmentActivity) getContext()).getSupportLoaderManager().initLoader(0, null, new LoaderManager.LoaderCallbacks() { + @Override + public Loader onCreateLoader(int id, Bundle args) { + return new CursorLoader(getContext(), KeychainContract.KeyRings.buildUnifiedKeyRingsUri(), + new String[]{KeychainContract.KeyRings.HAS_ENCRYPT, KeychainContract.KeyRings.KEY_ID, KeychainContract.KeyRings.USER_ID, KeychainContract.KeyRings.FINGERPRINT}, + null, null, null); + } + + @Override + public void onLoadFinished(Loader loader, Cursor data) { + swapCursor(data); + } + + @Override + public void onLoaderReset(Loader loader) { + swapCursor(null); + } + }); + } + } + public void swapCursor(Cursor cursor) { if (cursor == null) { setAdapter(new EncryptKeyAdapter(Collections.emptyList())); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NoSwipeWrapContentViewPager.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NoSwipeWrapContentViewPager.java index 08f071fb2..516e5ec39 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NoSwipeWrapContentViewPager.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NoSwipeWrapContentViewPager.java @@ -17,12 +17,13 @@ public class NoSwipeWrapContentViewPager extends android.support.v4.view.ViewPag @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - int height = 0; - for(int i = 0; i < getChildCount(); i++) { - View child = getChildAt(i); + int height; + View child = getChildAt(getCurrentItem()); + if (child != null) { child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); - int h = child.getMeasuredHeight(); - if(h > height) height = h; + height = child.getMeasuredHeight(); + } else { + height = 0; } heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); -- cgit v1.2.3