Skip to content

Commit

Permalink
Hide image variants "unknown/unknown" in tag details
Browse files Browse the repository at this point in the history
Closes: #345
  • Loading branch information
ghusta committed May 16, 2023
1 parent 3a0bab6 commit fba46bf
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,16 @@

import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;

import androidx.appcompat.app.AppCompatActivity;
import fr.husta.android.dockersearch.databinding.ActivityTagDetailsBinding;
import fr.husta.android.dockersearch.docker.model.ImageVariantByTagV2;
import fr.husta.android.dockersearch.listadapter.DockerTagDetailsListAdapter;

import static java.util.function.Predicate.not;

public class TagDetailsActivity extends AppCompatActivity
{

Expand All @@ -39,6 +43,8 @@ protected void onCreate(Bundle savedInstanceState)
Log.d("TAG_DETAILS", "Tag : " + tagName);
List<ImageVariantByTagV2> imageVariants = intent.getParcelableArrayListExtra(DATA_IMG_VARIANT_ARRAY);
Log.d("TAG_DETAILS", "List<ImageVariantByTagV2> # = " + imageVariants.size());
// filter ImageVariantByTagV2 list to hide "unknown" value
List<ImageVariantByTagV2> imageVariantsFiltered = filterShownVariants(imageVariants);

// setSupportActionBar(binding.toolbar);
if (getSupportActionBar() != null)
Expand All @@ -54,7 +60,22 @@ protected void onCreate(Bundle savedInstanceState)

dockerTagDetailsListAdapter = new DockerTagDetailsListAdapter(TagDetailsActivity.this, new ArrayList<>());
listView.setAdapter(dockerTagDetailsListAdapter);
dockerTagDetailsListAdapter.addAll(imageVariants);
dockerTagDetailsListAdapter.addAll(imageVariantsFiltered);
}

public static List<ImageVariantByTagV2> filterShownVariants(List<ImageVariantByTagV2> imageVariants)
{
return imageVariants.stream()
.filter(not(isUnknownOrEmptyValue()))
.collect(Collectors.toList());
}

private static Predicate<ImageVariantByTagV2> isUnknownOrEmptyValue()
{
return variant -> variant.getArchitecture().equals("unknown")
|| variant.getArchitecture().equals("")
|| variant.getArchitecture().isEmpty()
|| variant.getOs().equals("unknown");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ protected void onCreate(Bundle savedInstanceState)

listView.setOnItemClickListener((adapterView, view, i, l) -> {
RepositoryTagV2 item = (RepositoryTagV2) listView.getItemAtPosition(i);
int count = item.getImageVariants().size();
int count = TagDetailsActivity.filterShownVariants(item.getImageVariants()).size();
Snackbar.make(listView, getResources().getQuantityString(R.plurals.msg_count_tag_images, count, count), LENGTH_SHORT)
.setAnchorView(fabNextPage.isOrWillBeShown() ? fabNextPage : null)
.setAnimationMode(BaseTransientBottomBar.ANIMATION_MODE_FADE)
Expand Down

0 comments on commit fba46bf

Please # to comment.