Skip to content

Commit 8045d91

Browse files
committed
[Highlights] Added text when no items are shown
1 parent 52fd720 commit 8045d91

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

app/src/main/java/de/davis/passwordmanager/ui/highlights/HighlightsFragment.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
4444
requireContext().getResources().getDisplayMetrics());
4545

4646
viewModel.getElements().observe(getViewLifecycleOwner(), elements -> {
47-
binding.lastUsed.removeViews(1, binding.lastUsed.getChildCount()-1);
47+
binding.viewToShow.setVisibility(elements.size() > 0 ? View.GONE : View.VISIBLE);
48+
binding.lastUsed.removeViews(2, binding.lastUsed.getChildCount()-2);
4849
elements.forEach(element -> {
4950
SecureElementViewHolder viewHolder = new SecureElementViewHolder(getLayoutInflater().inflate(R.layout.item_element, null, false));
5051
viewHolder.bind(element, null, this::launchElement);
@@ -55,15 +56,19 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
5556

5657
binding.materialButtonToggleGroup.addOnButtonCheckedListener((group, checkedId, isChecked) -> viewModel.setState(group.getCheckedButtonId() == binding.lastAdded.getId()));
5758

58-
viewModel.getFavorites().observe(getViewLifecycleOwner(), secureElements -> secureElements.forEach(secureElement -> {
59-
View fav_view = getLayoutInflater().inflate(R.layout.fav_layout, null, false);
60-
((TextView)fav_view.findViewById(R.id.title)).setText(secureElement.getTitle());
61-
((ImageView)fav_view.findViewById(R.id.image)).setImageDrawable(secureElement.getIcon(requireContext()));
59+
viewModel.getFavorites().observe(getViewLifecycleOwner(), secureElements -> {
60+
binding.noFavorites.setVisibility(secureElements.size() > 0 ? View.GONE : View.VISIBLE);
61+
binding.favoriteContainer.removeViews(1, binding.favoriteContainer.getChildCount()-1);
62+
secureElements.forEach(secureElement -> {
63+
View fav_view = getLayoutInflater().inflate(R.layout.fav_layout, null, false);
64+
((TextView)fav_view.findViewById(R.id.title)).setText(secureElement.getTitle());
65+
((ImageView)fav_view.findViewById(R.id.image)).setImageDrawable(secureElement.getIcon(requireContext()));
6266

63-
fav_view.setOnClickListener(v -> launchElement(secureElement));
67+
fav_view.setOnClickListener(v -> launchElement(secureElement));
6468

65-
((ViewGroup)view.findViewById(R.id.favorite_container)).addView(fav_view);
66-
}));
69+
((ViewGroup)view.findViewById(R.id.favorite_container)).addView(fav_view);
70+
});
71+
});
6772
}
6873

6974
private void launchElement(SecureElement element){

app/src/main/res/layout/fragment_highlights.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@
2121
android:layout_height="match_parent"
2222
android:orientation="horizontal">
2323

24+
<TextView
25+
android:id="@+id/noFavorites"
26+
android:layout_width="match_parent"
27+
android:layout_height="wrap_content"
28+
android:text="@string/no_elements_to_show"
29+
android:gravity="center"
30+
android:layout_marginVertical="8dp"/>
2431
</LinearLayout>
2532
</HorizontalScrollView>
2633
</de.davis.passwordmanager.ui.views.InformationView>
@@ -56,6 +63,14 @@
5663
android:layout_height="wrap_content"
5764
android:text="@string/last_viewed"/>
5865
</com.google.android.material.button.MaterialButtonToggleGroup>
66+
67+
<TextView
68+
android:id="@+id/viewToShow"
69+
android:layout_width="match_parent"
70+
android:layout_height="wrap_content"
71+
android:text="@string/no_elements_to_show"
72+
android:gravity="center"
73+
android:layout_marginVertical="8dp"/>
5974
</LinearLayout>
6075

6176
</com.google.android.material.card.MaterialCardView>

0 commit comments

Comments
 (0)