From 68b015122b22b9c20e302e0aae240a072480d0b3 Mon Sep 17 00:00:00 2001 From: Andrea Torlaschi Date: Mon, 18 Jul 2016 23:17:53 +0200 Subject: [PATCH] ImportKeys: Add expanding card for list's item (WIP) --- .../keychain/ui/ImportKeysActivity.java | 8 +- .../ui/adapter/ImportKeysAdapter.java | 157 +++++-------- .../keychain/ui/util/Highlighter.java | 3 + .../main/res/layout/import_keys_list_item.xml | 212 ++++++++++-------- 4 files changed, 178 insertions(+), 202 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java index 03668113c..49f10509c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -31,7 +31,6 @@ import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.intents.OpenKeychainIntents; import org.sufficientlysecure.keychain.keyimport.FacebookKeyserver; -import org.sufficientlysecure.keychain.keyimport.ImportKeysListEntry; import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; import org.sufficientlysecure.keychain.keyimport.processing.BytesLoaderState; import org.sufficientlysecure.keychain.keyimport.processing.CloudLoaderState; @@ -51,7 +50,6 @@ import org.sufficientlysecure.keychain.util.Preferences; import java.io.IOException; import java.util.ArrayList; -import java.util.List; public class ImportKeysActivity extends BaseActivity implements ImportKeysListener { @@ -83,7 +81,6 @@ public class ImportKeysActivity extends BaseActivity implements ImportKeysListen public static final String TAG_FRAG_TOP = "frag_top"; private boolean mFreshIntent; - private CryptoOperationHelper mOperationHelper; @Override @@ -370,8 +367,9 @@ public class ImportKeysActivity extends BaseActivity implements ImportKeysListen keyserver = ((CloudLoaderState) loaderState).mCloudPrefs.keyserver; } - ImportKeysOperationCallback callback = new ImportKeysOperationCallback(this, keyserver, keyList); - new CryptoOperationHelper(1, this, callback, R.string.progress_importing).cryptoOperation(); + ImportKeysOperationCallback cb = new ImportKeysOperationCallback(this, keyserver, keyList); + mOperationHelper = new CryptoOperationHelper(1, this, cb, R.string.progress_importing); + mOperationHelper.cryptoOperation(); } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java index 9373a5a7c..ebc82e09e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java @@ -18,18 +18,18 @@ package org.sufficientlysecure.keychain.ui.adapter; import android.content.Context; +import android.content.res.Resources; +import android.databinding.DataBindingUtil; import android.graphics.Color; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.LinearLayout; import android.widget.TextView; import org.openintents.openpgp.util.OpenPgpUtils; import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.databinding.ImportKeysListItemBinding; import org.sufficientlysecure.keychain.keyimport.ImportKeysListEntry; import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; import org.sufficientlysecure.keychain.keyimport.processing.BytesLoaderState; @@ -60,28 +60,17 @@ public class ImportKeysAdapter extends RecyclerView.Adapter mData; public ImportKeysAdapter(Context mContext, ImportKeysListener listener, boolean mNonInteractive) { - this.mContext = mContext; this.mListener = listener; this.mNonInteractive = mNonInteractive; } public static class ViewHolder extends RecyclerView.ViewHolder { - public View container; + public ImportKeysListItemBinding binding; - public TextView mainUserId; - public TextView mainUserIdRest; - public TextView keyId; - public TextView fingerprint; - public TextView algorithm; - public ImageView status; - public View userIdsDivider; - public LinearLayout userIdsList; - public Button importButton; - - public ViewHolder(View container) { - super(container); - this.container = container; + public ViewHolder(View view) { + super(view); + binding = DataBindingUtil.bind(view); } } @@ -122,99 +111,69 @@ public class ImportKeysAdapter extends RecyclerView.Adapter