1515import androidx .recyclerview .widget .LinearLayoutManager ;
1616import androidx .recyclerview .widget .RecyclerView ;
1717
18+ import org .schabi .newpipe .NewPipeDatabase ;
1819import org .schabi .newpipe .R ;
19- import org .schabi .newpipe .database .subscription .SubscriptionEntity ;
20+ import org .schabi .newpipe .database .AppDatabase ;
21+ import org .schabi .newpipe .database .feed .model .FeedGroupEntity ;
2022import org .schabi .newpipe .error .ErrorUtil ;
21- import org .schabi .newpipe .local .subscription .SubscriptionManager ;
2223import org .schabi .newpipe .util .ThemeHelper ;
23- import org .schabi .newpipe .util .image .PicassoHelper ;
2424
2525import java .util .List ;
2626import java .util .Vector ;
@@ -60,7 +60,7 @@ public class SelectFeedGroupFragment extends DialogFragment {
6060 private TextView emptyView ;
6161 private RecyclerView recyclerView ;
6262
63- private List <SubscriptionEntity > subscriptions = new Vector <>();
63+ private List <FeedGroupEntity > feedGroups = new Vector <>();
6464
6565 public void setOnSelectedListener (final OnSelectedListener listener ) {
6666 onSelectedListener = listener ;
@@ -86,8 +86,8 @@ public View onCreateView(@NonNull final LayoutInflater inflater, final ViewGroup
8686 final View v = inflater .inflate (R .layout .select_feed_group_fragment , container , false );
8787 recyclerView = v .findViewById (R .id .items_list );
8888 recyclerView .setLayoutManager (new LinearLayoutManager (getContext ()));
89- final SelectChannelAdapter channelAdapter = new SelectChannelAdapter ();
90- recyclerView .setAdapter (channelAdapter );
89+ final SelectFeedGroupAdapter feedGroupAdapter = new SelectFeedGroupAdapter ();
90+ recyclerView .setAdapter (feedGroupAdapter );
9191
9292 progressBar = v .findViewById (R .id .progressBar );
9393 emptyView = v .findViewById (R .id .empty_state_view );
@@ -96,11 +96,11 @@ public View onCreateView(@NonNull final LayoutInflater inflater, final ViewGroup
9696 emptyView .setVisibility (View .GONE );
9797
9898
99- final SubscriptionManager subscriptionManager = new SubscriptionManager (requireContext ());
100- subscriptionManager . subscriptions ().toObservable ()
99+ final AppDatabase database = NewPipeDatabase . getInstance (requireContext ());
100+ database . feedGroupDAO (). getAll ().toObservable ()
101101 .subscribeOn (Schedulers .io ())
102102 .observeOn (AndroidSchedulers .mainThread ())
103- .subscribe (getSubscriptionObserver ());
103+ .subscribe (getFeedGroupObserver ());
104104
105105 return v ;
106106 }
@@ -119,9 +119,10 @@ public void onCancel(@NonNull final DialogInterface dialogInterface) {
119119
120120 private void clickedItem (final int position ) {
121121 if (onSelectedListener != null ) {
122- final SubscriptionEntity entry = subscriptions .get (position );
122+ final FeedGroupEntity entry = feedGroups .get (position );
123123 onSelectedListener
124- .onChannelSelected (entry .getServiceId (), entry .getUrl (), entry .getName ());
124+ .onFeedGroupSelected (entry .getUid (), entry .getName (),
125+ entry .getIcon ().getDrawableResource ());
125126 }
126127 dismiss ();
127128 }
@@ -130,31 +131,31 @@ private void clickedItem(final int position) {
130131 // Item handling
131132 //////////////////////////////////////////////////////////////////////////*/
132133
133- private void displayChannels (final List <SubscriptionEntity > newSubscriptions ) {
134- this .subscriptions = newSubscriptions ;
134+ private void displayFeedGroups (final List <FeedGroupEntity > newFeedGroups ) {
135+ this .feedGroups = newFeedGroups ;
135136 progressBar .setVisibility (View .GONE );
136- if (newSubscriptions .isEmpty ()) {
137+ if (newFeedGroups .isEmpty ()) {
137138 emptyView .setVisibility (View .VISIBLE );
138139 return ;
139140 }
140141 recyclerView .setVisibility (View .VISIBLE );
141142
142143 }
143144
144- private Observer <List <SubscriptionEntity >> getSubscriptionObserver () {
145- return new Observer <List <SubscriptionEntity >>() {
145+ private Observer <List <FeedGroupEntity >> getFeedGroupObserver () {
146+ return new Observer <List <FeedGroupEntity >>() {
146147 @ Override
147148 public void onSubscribe (@ NonNull final Disposable disposable ) { }
148149
149150 @ Override
150- public void onNext (@ NonNull final List <SubscriptionEntity > newSubscriptions ) {
151- displayChannels ( newSubscriptions );
151+ public void onNext (@ NonNull final List <FeedGroupEntity > newGroups ) {
152+ displayFeedGroups ( newGroups );
152153 }
153154
154155 @ Override
155156 public void onError (@ NonNull final Throwable exception ) {
156157 ErrorUtil .showUiErrorSnackbar (SelectFeedGroupFragment .this ,
157- "Loading subscription " , exception );
158+ "Loading Feed Groups " , exception );
158159 }
159160
160161 @ Override
@@ -167,42 +168,42 @@ public void onComplete() { }
167168 //////////////////////////////////////////////////////////////////////////*/
168169
169170 public interface OnSelectedListener {
170- void onChannelSelected ( int serviceId , String url , String name );
171+ void onFeedGroupSelected ( Long groupId , String name , int icon );
171172 }
172173
173174 public interface OnCancelListener {
174175 void onCancel ();
175176 }
176177
177- private class SelectChannelAdapter
178- extends RecyclerView .Adapter <SelectChannelAdapter . SelectChannelItemHolder > {
178+ private class SelectFeedGroupAdapter
179+ extends RecyclerView .Adapter <SelectFeedGroupAdapter . SelectFeedGroupItemHolder > {
179180 @ NonNull
180181 @ Override
181- public SelectChannelItemHolder onCreateViewHolder (final ViewGroup parent ,
182+ public SelectFeedGroupItemHolder onCreateViewHolder (final ViewGroup parent ,
182183 final int viewType ) {
183184 final View item = LayoutInflater .from (parent .getContext ())
184185 .inflate (R .layout .select_feed_group_item , parent , false );
185- return new SelectChannelItemHolder (item );
186+ return new SelectFeedGroupItemHolder (item );
186187 }
187188
188189 @ Override
189- public void onBindViewHolder (final SelectChannelItemHolder holder , final int position ) {
190- final SubscriptionEntity entry = subscriptions .get (position );
190+ public void onBindViewHolder (final SelectFeedGroupItemHolder holder , final int position ) {
191+ final FeedGroupEntity entry = feedGroups .get (position );
191192 holder .titleView .setText (entry .getName ());
192193 holder .view .setOnClickListener (view -> clickedItem (position ));
193- PicassoHelper . loadAvatar (entry .getAvatarUrl ()). into ( holder . thumbnailView );
194+ holder . thumbnailView . setImageResource (entry .getIcon (). getDrawableResource () );
194195 }
195196
196197 @ Override
197198 public int getItemCount () {
198- return subscriptions .size ();
199+ return feedGroups .size ();
199200 }
200201
201- public class SelectChannelItemHolder extends RecyclerView .ViewHolder {
202+ public class SelectFeedGroupItemHolder extends RecyclerView .ViewHolder {
202203 public final View view ;
203204 final ImageView thumbnailView ;
204205 final TextView titleView ;
205- SelectChannelItemHolder (final View v ) {
206+ SelectFeedGroupItemHolder (final View v ) {
206207 super (v );
207208 this .view = v ;
208209 thumbnailView = v .findViewById (R .id .itemThumbnailView );
0 commit comments