mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-30 23:03:00 +00:00 
			
		
		
		
	Show hint about how to import subscriptions when there are none
This commit is contained in:
		| @@ -41,7 +41,6 @@ import org.schabi.newpipe.local.subscription.SubscriptionViewModel.SubscriptionS | ||||
| import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog | ||||
| import org.schabi.newpipe.local.subscription.dialog.FeedGroupReorderDialog | ||||
| import org.schabi.newpipe.local.subscription.item.ChannelItem | ||||
| import org.schabi.newpipe.local.subscription.item.EmptyPlaceholderItem | ||||
| import org.schabi.newpipe.local.subscription.item.FeedGroupAddNewGridItem | ||||
| import org.schabi.newpipe.local.subscription.item.FeedGroupAddNewItem | ||||
| import org.schabi.newpipe.local.subscription.item.FeedGroupCardGridItem | ||||
| @@ -49,6 +48,7 @@ import org.schabi.newpipe.local.subscription.item.FeedGroupCardItem | ||||
| import org.schabi.newpipe.local.subscription.item.FeedGroupCarouselItem | ||||
| import org.schabi.newpipe.local.subscription.item.GroupsHeader | ||||
| import org.schabi.newpipe.local.subscription.item.Header | ||||
| import org.schabi.newpipe.local.subscription.item.ImportSubscriptionsHintPlaceholderItem | ||||
| import org.schabi.newpipe.local.subscription.services.SubscriptionsExportService | ||||
| import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService | ||||
| import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_MODE | ||||
| @@ -312,7 +312,7 @@ class SubscriptionFragment : BaseStateFragment<SubscriptionState>() { | ||||
|             groupAdapter.add(this) | ||||
|         } | ||||
|  | ||||
|         subscriptionsSection.setPlaceholder(EmptyPlaceholderItem()) | ||||
|         subscriptionsSection.setPlaceholder(ImportSubscriptionsHintPlaceholderItem()) | ||||
|         subscriptionsSection.setHideWhenEmpty(true) | ||||
|  | ||||
|         groupAdapter.add( | ||||
|   | ||||
| @@ -35,7 +35,7 @@ import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState. | ||||
| import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.SubscriptionsPickerScreen | ||||
| import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialogViewModel.DialogEvent.ProcessingEvent | ||||
| import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialogViewModel.DialogEvent.SuccessEvent | ||||
| import org.schabi.newpipe.local.subscription.item.EmptyPlaceholderItem | ||||
| import org.schabi.newpipe.local.subscription.item.ImportSubscriptionsHintPlaceholderItem | ||||
| import org.schabi.newpipe.local.subscription.item.PickerIconItem | ||||
| import org.schabi.newpipe.local.subscription.item.PickerSubscriptionItem | ||||
| import org.schabi.newpipe.util.DeviceUtils | ||||
| @@ -338,7 +338,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable { | ||||
|  | ||||
|         if (subscriptions.isEmpty()) { | ||||
|             subscriptionEmptyFooter.clear() | ||||
|             subscriptionEmptyFooter.add(EmptyPlaceholderItem()) | ||||
|             subscriptionEmptyFooter.add(ImportSubscriptionsHintPlaceholderItem()) | ||||
|         } else { | ||||
|             subscriptionEmptyFooter.clear() | ||||
|         } | ||||
|   | ||||
| @@ -5,8 +5,11 @@ import com.xwray.groupie.viewbinding.BindableItem | ||||
| import org.schabi.newpipe.R | ||||
| import org.schabi.newpipe.databinding.ListEmptyViewBinding | ||||
| 
 | ||||
| class EmptyPlaceholderItem : BindableItem<ListEmptyViewBinding>() { | ||||
|     override fun getLayout(): Int = R.layout.list_empty_view | ||||
| /** | ||||
|  * When there are no subscriptions, show a hint to the user about how to import subscriptions | ||||
|  */ | ||||
| class ImportSubscriptionsHintPlaceholderItem : BindableItem<ListEmptyViewBinding>() { | ||||
|     override fun getLayout(): Int = R.layout.list_empty_view_subscriptions | ||||
|     override fun bind(viewBinding: ListEmptyViewBinding, position: Int) {} | ||||
|     override fun getSpanSize(spanCount: Int, position: Int): Int = spanCount | ||||
|     override fun initializeViewBinding(view: View) = ListEmptyViewBinding.bind(view) | ||||
							
								
								
									
										23
									
								
								app/src/main/res/layout/list_empty_view_subscriptions.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/src/main/res/layout/list_empty_view_subscriptions.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="wrap_content" | ||||
|     android:gravity="center" | ||||
|     android:minHeight="128dp" | ||||
|     android:orientation="vertical"> | ||||
|  | ||||
|     <org.schabi.newpipe.views.NewPipeTextView | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:text="¯\\_(ツ)_/¯" | ||||
|         android:textAppearance="?android:attr/textAppearanceLarge" | ||||
|         tools:ignore="HardcodedText" /> | ||||
|  | ||||
|     <org.schabi.newpipe.views.NewPipeTextView | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:layout_gravity="center" | ||||
|         android:layout_marginTop="6dp" | ||||
|         android:text="@string/import_subscriptions_hint" /> | ||||
| </LinearLayout> | ||||
| @@ -266,6 +266,7 @@ | ||||
|     <string name="description_tab_description">Description</string> | ||||
|     <string name="search_no_results">No results</string> | ||||
|     <string name="empty_list_subtitle">Nothing here but crickets</string> | ||||
|     <string name="import_subscriptions_hint">Import or export subscriptions from the 3-dot menu</string> | ||||
|     <string name="detail_drag_description">Drag to reorder</string> | ||||
|     <string name="video">Video</string> | ||||
|     <string name="audio">Audio</string> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Stypox
					Stypox