Skip to content

Commit 10977ea

Browse files
committed
Show hint about how to import subscriptions when there are none
1 parent 3103fd7 commit 10977ea

5 files changed

Lines changed: 33 additions & 6 deletions

File tree

app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ import org.schabi.newpipe.local.subscription.SubscriptionViewModel.SubscriptionS
4141
import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog
4242
import org.schabi.newpipe.local.subscription.dialog.FeedGroupReorderDialog
4343
import org.schabi.newpipe.local.subscription.item.ChannelItem
44-
import org.schabi.newpipe.local.subscription.item.EmptyPlaceholderItem
4544
import org.schabi.newpipe.local.subscription.item.FeedGroupAddNewGridItem
4645
import org.schabi.newpipe.local.subscription.item.FeedGroupAddNewItem
4746
import org.schabi.newpipe.local.subscription.item.FeedGroupCardGridItem
4847
import org.schabi.newpipe.local.subscription.item.FeedGroupCardItem
4948
import org.schabi.newpipe.local.subscription.item.FeedGroupCarouselItem
5049
import org.schabi.newpipe.local.subscription.item.GroupsHeader
5150
import org.schabi.newpipe.local.subscription.item.Header
51+
import org.schabi.newpipe.local.subscription.item.ImportSubscriptionsHintPlaceholderItem
5252
import org.schabi.newpipe.local.subscription.services.SubscriptionsExportService
5353
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService
5454
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_MODE
@@ -312,7 +312,7 @@ class SubscriptionFragment : BaseStateFragment<SubscriptionState>() {
312312
groupAdapter.add(this)
313313
}
314314

315-
subscriptionsSection.setPlaceholder(EmptyPlaceholderItem())
315+
subscriptionsSection.setPlaceholder(ImportSubscriptionsHintPlaceholderItem())
316316
subscriptionsSection.setHideWhenEmpty(true)
317317

318318
groupAdapter.add(

app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.
3535
import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.SubscriptionsPickerScreen
3636
import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialogViewModel.DialogEvent.ProcessingEvent
3737
import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialogViewModel.DialogEvent.SuccessEvent
38-
import org.schabi.newpipe.local.subscription.item.EmptyPlaceholderItem
38+
import org.schabi.newpipe.local.subscription.item.ImportSubscriptionsHintPlaceholderItem
3939
import org.schabi.newpipe.local.subscription.item.PickerIconItem
4040
import org.schabi.newpipe.local.subscription.item.PickerSubscriptionItem
4141
import org.schabi.newpipe.util.DeviceUtils
@@ -338,7 +338,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
338338

339339
if (subscriptions.isEmpty()) {
340340
subscriptionEmptyFooter.clear()
341-
subscriptionEmptyFooter.add(EmptyPlaceholderItem())
341+
subscriptionEmptyFooter.add(ImportSubscriptionsHintPlaceholderItem())
342342
} else {
343343
subscriptionEmptyFooter.clear()
344344
}

app/src/main/java/org/schabi/newpipe/local/subscription/item/EmptyPlaceholderItem.kt renamed to app/src/main/java/org/schabi/newpipe/local/subscription/item/ImportSubscriptionsHintPlaceholderItem.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ import com.xwray.groupie.viewbinding.BindableItem
55
import org.schabi.newpipe.R
66
import org.schabi.newpipe.databinding.ListEmptyViewBinding
77

8-
class EmptyPlaceholderItem : BindableItem<ListEmptyViewBinding>() {
9-
override fun getLayout(): Int = R.layout.list_empty_view
8+
/**
9+
* When there are no subscriptions, show a hint to the user about how to import subscriptions
10+
*/
11+
class ImportSubscriptionsHintPlaceholderItem : BindableItem<ListEmptyViewBinding>() {
12+
override fun getLayout(): Int = R.layout.list_empty_view_subscriptions
1013
override fun bind(viewBinding: ListEmptyViewBinding, position: Int) {}
1114
override fun getSpanSize(spanCount: Int, position: Int): Int = spanCount
1215
override fun initializeViewBinding(view: View) = ListEmptyViewBinding.bind(view)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:layout_width="match_parent"
5+
android:layout_height="wrap_content"
6+
android:gravity="center"
7+
android:minHeight="128dp"
8+
android:orientation="vertical">
9+
10+
<org.schabi.newpipe.views.NewPipeTextView
11+
android:layout_width="wrap_content"
12+
android:layout_height="wrap_content"
13+
android:text="¯\\_(ツ)_/¯"
14+
android:textAppearance="?android:attr/textAppearanceLarge"
15+
tools:ignore="HardcodedText" />
16+
17+
<org.schabi.newpipe.views.NewPipeTextView
18+
android:layout_width="wrap_content"
19+
android:layout_height="wrap_content"
20+
android:layout_gravity="center"
21+
android:layout_marginTop="6dp"
22+
android:text="@string/import_subscriptions_hint" />
23+
</LinearLayout>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@
266266
<string name="description_tab_description">Description</string>
267267
<string name="search_no_results">No results</string>
268268
<string name="empty_list_subtitle">Nothing here but crickets</string>
269+
<string name="import_subscriptions_hint">Import or export subscriptions from the 3-dot menu</string>
269270
<string name="detail_drag_description">Drag to reorder</string>
270271
<string name="video">Video</string>
271272
<string name="audio">Audio</string>

0 commit comments

Comments
 (0)