don't show "link account" button if feature is disabled

This commit is contained in:
Vincent Breitmoser
2017-09-30 21:19:20 +02:00
parent 95e6562386
commit 4536645170
3 changed files with 19 additions and 6 deletions

View File

@@ -60,6 +60,7 @@ public class IdentitiesPresenter implements LoaderCallbacks<List<IdentityInfo>>
private final long masterKeyId; private final long masterKeyId;
private final boolean isSecret; private final boolean isSecret;
private final boolean showLinkedIds;
public IdentitiesPresenter(Context context, IdentitiesMvpView view, ViewKeyMvpView viewKeyMvpView, public IdentitiesPresenter(Context context, IdentitiesMvpView view, ViewKeyMvpView viewKeyMvpView,
int loaderId, long masterKeyId, boolean isSecret) { int loaderId, long masterKeyId, boolean isSecret) {
@@ -71,6 +72,8 @@ public class IdentitiesPresenter implements LoaderCallbacks<List<IdentityInfo>>
this.masterKeyId = masterKeyId; this.masterKeyId = masterKeyId;
this.isSecret = isSecret; this.isSecret = isSecret;
showLinkedIds = Preferences.getPreferences(context).getExperimentalEnableLinkedIdentities();
identitiesAdapter = new IdentityAdapter(context, isSecret, new IdentityClickListener() { identitiesAdapter = new IdentityAdapter(context, isSecret, new IdentityClickListener() {
@Override @Override
public void onClickIdentity(int position) { public void onClickIdentity(int position) {
@@ -86,6 +89,7 @@ public class IdentitiesPresenter implements LoaderCallbacks<List<IdentityInfo>>
view.setIdentitiesAdapter(identitiesAdapter); view.setIdentitiesAdapter(identitiesAdapter);
view.setEditIdentitiesButtonVisible(isSecret); view.setEditIdentitiesButtonVisible(isSecret);
view.setAddLinkedIdButtonVisible(showLinkedIds);
view.setIdentitiesCardListener(new IdentitiesCardListener() { view.setIdentitiesCardListener(new IdentitiesCardListener() {
@Override @Override
@@ -106,7 +110,6 @@ public class IdentitiesPresenter implements LoaderCallbacks<List<IdentityInfo>>
@Override @Override
public Loader<List<IdentityInfo>> onCreateLoader(int id, Bundle args) { public Loader<List<IdentityInfo>> onCreateLoader(int id, Bundle args) {
boolean showLinkedIds = Preferences.getPreferences(context).getExperimentalEnableLinkedIdentities();
return new IdentityLoader(context, context.getContentResolver(), masterKeyId, showLinkedIds); return new IdentityLoader(context, context.getContentResolver(), masterKeyId, showLinkedIds);
} }
@@ -189,6 +192,7 @@ public class IdentitiesPresenter implements LoaderCallbacks<List<IdentityInfo>>
void setIdentitiesAdapter(IdentityAdapter userIdsAdapter); void setIdentitiesAdapter(IdentityAdapter userIdsAdapter);
void setIdentitiesCardListener(IdentitiesCardListener identitiesCardListener); void setIdentitiesCardListener(IdentitiesCardListener identitiesCardListener);
void setEditIdentitiesButtonVisible(boolean show); void setEditIdentitiesButtonVisible(boolean show);
void setAddLinkedIdButtonVisible(boolean showLinkedIds);
} }
public interface IdentitiesCardListener { public interface IdentitiesCardListener {

View File

@@ -38,6 +38,8 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView {
private final RecyclerView vIdentities; private final RecyclerView vIdentities;
private IdentitiesCardListener identitiesCardListener; private IdentitiesCardListener identitiesCardListener;
private final Button linkedIdsAddButton;
private final Button userIdsEditButton;
public IdentitiesCardView(Context context, AttributeSet attrs) { public IdentitiesCardView(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
@@ -48,7 +50,7 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView {
vIdentities.setLayoutManager(new LinearLayoutManager(context)); vIdentities.setLayoutManager(new LinearLayoutManager(context));
vIdentities.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL_LIST, false)); 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() { userIdsEditButton.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { 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() { linkedIdsAddButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -82,6 +83,11 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView {
@Override @Override
public void setEditIdentitiesButtonVisible(boolean show) { 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);
} }
} }

View File

@@ -37,7 +37,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/menu_linked_add_identity" 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"
/>
<Button <Button
android:id="@+id/view_key_card_user_ids_edit" android:id="@+id/view_key_card_user_ids_edit"