From 4536645170cfd50e2d1e40338ab4fb42cbda2fb5 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Sat, 30 Sep 2017 21:19:20 +0200 Subject: [PATCH] don't show "link account" button if feature is disabled --- .../ui/keyview/presenter/IdentitiesPresenter.java | 6 +++++- .../ui/keyview/view/IdentitiesCardView.java | 14 ++++++++++---- .../src/main/res/layout/identities_card.xml | 5 ++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java index 0680e09fe..158ff331d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java @@ -60,6 +60,7 @@ public class IdentitiesPresenter implements LoaderCallbacks> private final long masterKeyId; private final boolean isSecret; + private final boolean showLinkedIds; public IdentitiesPresenter(Context context, IdentitiesMvpView view, ViewKeyMvpView viewKeyMvpView, int loaderId, long masterKeyId, boolean isSecret) { @@ -71,6 +72,8 @@ public class IdentitiesPresenter implements LoaderCallbacks> this.masterKeyId = masterKeyId; this.isSecret = isSecret; + showLinkedIds = Preferences.getPreferences(context).getExperimentalEnableLinkedIdentities(); + identitiesAdapter = new IdentityAdapter(context, isSecret, new IdentityClickListener() { @Override public void onClickIdentity(int position) { @@ -86,6 +89,7 @@ public class IdentitiesPresenter implements LoaderCallbacks> view.setIdentitiesAdapter(identitiesAdapter); view.setEditIdentitiesButtonVisible(isSecret); + view.setAddLinkedIdButtonVisible(showLinkedIds); view.setIdentitiesCardListener(new IdentitiesCardListener() { @Override @@ -106,7 +110,6 @@ public class IdentitiesPresenter implements LoaderCallbacks> @Override public Loader> onCreateLoader(int id, Bundle args) { - boolean showLinkedIds = Preferences.getPreferences(context).getExperimentalEnableLinkedIdentities(); return new IdentityLoader(context, context.getContentResolver(), masterKeyId, showLinkedIds); } @@ -189,6 +192,7 @@ public class IdentitiesPresenter implements LoaderCallbacks> void setIdentitiesAdapter(IdentityAdapter userIdsAdapter); void setIdentitiesCardListener(IdentitiesCardListener identitiesCardListener); void setEditIdentitiesButtonVisible(boolean show); + void setAddLinkedIdButtonVisible(boolean showLinkedIds); } public interface IdentitiesCardListener { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java index b587eb9d3..27c469ee7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java @@ -38,6 +38,8 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView { private final RecyclerView vIdentities; private IdentitiesCardListener identitiesCardListener; + private final Button linkedIdsAddButton; + private final Button userIdsEditButton; public IdentitiesCardView(Context context, AttributeSet attrs) { super(context, attrs); @@ -48,7 +50,7 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView { vIdentities.setLayoutManager(new LinearLayoutManager(context)); vIdentities.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL_LIST, false)); - Button userIdsEditButton = (Button) view.findViewById(R.id.view_key_card_user_ids_edit); + userIdsEditButton = (Button) view.findViewById(R.id.view_key_card_user_ids_edit); userIdsEditButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -58,8 +60,7 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView { } }); - Button linkedIdsAddButton = (Button) view.findViewById(R.id.view_key_card_linked_ids_add); - + linkedIdsAddButton = (Button) view.findViewById(R.id.view_key_card_linked_ids_add); linkedIdsAddButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -82,6 +83,11 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView { @Override public void setEditIdentitiesButtonVisible(boolean show) { - findViewById(R.id.view_key_card_user_ids_buttons).setVisibility(show ? View.VISIBLE : View.GONE); + userIdsEditButton.setVisibility(show ? View.VISIBLE : View.GONE); + } + + @Override + public void setAddLinkedIdButtonVisible(boolean show) { + linkedIdsAddButton.setVisibility(show ? View.VISIBLE : View.GONE); } } diff --git a/OpenKeychain/src/main/res/layout/identities_card.xml b/OpenKeychain/src/main/res/layout/identities_card.xml index d2bcc4bd1..abd33fa1c 100644 --- a/OpenKeychain/src/main/res/layout/identities_card.xml +++ b/OpenKeychain/src/main/res/layout/identities_card.xml @@ -37,7 +37,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_linked_add_identity" - android:textColor="@color/card_view_button" /> + android:textColor="@color/card_view_button" + android:visibility="gone" + tools:visibility="visible" + />