diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/ViewKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/ViewKeyFragment.java index 7aa2303a7..004a7cb0c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/ViewKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/ViewKeyFragment.java @@ -108,7 +108,6 @@ public class ViewKeyFragment extends Fragment implements OnMenuItemClickListener }); identitiesCardView.setIdentitiesAdapter(identitiesAdapter); - identitiesCardView.setVisibility(View.GONE); keyStatusCardView.setVisibility(View.GONE); keyStatusHealth.setOnHealthClickListener((v) -> onKeyHealthClick()); @@ -298,7 +297,6 @@ public class ViewKeyFragment extends Fragment implements OnMenuItemClickListener private void onLoadIdentityInfo(List identityInfos) { identitiesAdapter.setData(identityInfos, unifiedKeyInfo.has_any_secret()); - identitiesCardView.setVisibility(View.VISIBLE); } private void onLoadSystemContact(SystemContactInfo systemContactInfo) { 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 98b7ccdba..9a9e2b5b0 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 @@ -22,6 +22,7 @@ import android.content.Context; import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.RecyclerView.AdapterDataObserver; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; @@ -50,6 +51,12 @@ public class IdentitiesCardView extends CardView { } public void setIdentitiesAdapter(IdentityAdapter identityAdapter) { + identityAdapter.registerAdapterDataObserver(new AdapterDataObserver() { + @Override + public void onChanged() { + setVisibility(identityAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE); + } + }); vIdentities.setAdapter(identityAdapter); }