mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	Deduplicate isGridLayout calls
This commit is contained in:
		| @@ -5,7 +5,6 @@ import static org.schabi.newpipe.ktx.ViewUtils.animateHideRecyclerViewAllowingSc | ||||
|  | ||||
| import android.content.Context; | ||||
| import android.content.SharedPreferences; | ||||
| import android.content.res.Configuration; | ||||
| import android.content.res.Resources; | ||||
| import android.os.Bundle; | ||||
| import android.util.Log; | ||||
| @@ -31,6 +30,7 @@ import org.schabi.newpipe.info_list.dialog.InfoItemDialog; | ||||
| import org.schabi.newpipe.util.NavigationHelper; | ||||
| import org.schabi.newpipe.util.OnClickGesture; | ||||
| import org.schabi.newpipe.util.StateSaver; | ||||
| import org.schabi.newpipe.util.ThemeHelper; | ||||
| import org.schabi.newpipe.views.SuperScrollLayoutManager; | ||||
|  | ||||
| import java.util.List; | ||||
| @@ -476,15 +476,6 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> | ||||
|     } | ||||
|  | ||||
|     protected boolean isGridLayout() { | ||||
|         final String listMode = PreferenceManager.getDefaultSharedPreferences(activity) | ||||
|                 .getString(getString(R.string.list_view_mode_key), | ||||
|                         getString(R.string.list_view_mode_value)); | ||||
|         if ("auto".equals(listMode)) { | ||||
|             final Configuration configuration = getResources().getConfiguration(); | ||||
|             return configuration.orientation == Configuration.ORIENTATION_LANDSCAPE | ||||
|                     && configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE); | ||||
|         } else { | ||||
|             return "grid".equals(listMode); | ||||
|         } | ||||
|         return ThemeHelper.shouldUseGridLayout(activity); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,21 +1,19 @@ | ||||
| package org.schabi.newpipe.local.subscription | ||||
|  | ||||
| import android.app.Application | ||||
| import android.content.res.Configuration | ||||
| import androidx.lifecycle.AndroidViewModel | ||||
| import androidx.lifecycle.LiveData | ||||
| import androidx.lifecycle.MutableLiveData | ||||
| import androidx.preference.PreferenceManager | ||||
| import com.xwray.groupie.Group | ||||
| import io.reactivex.rxjava3.core.Flowable | ||||
| import io.reactivex.rxjava3.processors.BehaviorProcessor | ||||
| import io.reactivex.rxjava3.schedulers.Schedulers | ||||
| import org.schabi.newpipe.R | ||||
| import org.schabi.newpipe.local.feed.FeedDatabaseManager | ||||
| import org.schabi.newpipe.local.subscription.item.ChannelItem | ||||
| import org.schabi.newpipe.local.subscription.item.FeedGroupCardGridItem | ||||
| import org.schabi.newpipe.local.subscription.item.FeedGroupCardItem | ||||
| import org.schabi.newpipe.util.DEFAULT_THROTTLE_TIMEOUT | ||||
| import org.schabi.newpipe.util.ThemeHelper | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class SubscriptionViewModel(application: Application) : AndroidViewModel(application) { | ||||
| @@ -23,7 +21,9 @@ class SubscriptionViewModel(application: Application) : AndroidViewModel(applica | ||||
|     private var subscriptionManager = SubscriptionManager(application) | ||||
|  | ||||
|     // true -> list view, false -> grid view | ||||
|     private val listViewMode = BehaviorProcessor.createDefault(!isGridLayout(application)) | ||||
|     private val listViewMode = BehaviorProcessor.createDefault( | ||||
|         !ThemeHelper.shouldUseGridLayout(application) | ||||
|     ) | ||||
|     private val listViewModeFlowable = listViewMode.distinctUntilChanged() | ||||
|  | ||||
|     private val mutableStateLiveData = MutableLiveData<SubscriptionState>() | ||||
| @@ -74,24 +74,4 @@ class SubscriptionViewModel(application: Application) : AndroidViewModel(applica | ||||
|         data class LoadedState(val subscriptions: List<Group>) : SubscriptionState() | ||||
|         data class ErrorState(val error: Throwable? = null) : SubscriptionState() | ||||
|     } | ||||
|  | ||||
|     companion object { | ||||
|         private fun isGridLayout(application: Application): Boolean { | ||||
|             val listMode = PreferenceManager.getDefaultSharedPreferences(application) | ||||
|                 .getString( | ||||
|                     application.getString(R.string.list_view_mode_key), | ||||
|                     application.getString(R.string.list_view_mode_value) | ||||
|                 ) | ||||
|  | ||||
|             return if ("auto" == listMode) { | ||||
|                 val configuration: Configuration = application.resources.configuration | ||||
|                 ( | ||||
|                     configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && | ||||
|                         configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE) | ||||
|                     ) | ||||
|             } else { | ||||
|                 "grid" == listMode | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -349,7 +349,7 @@ public final class ThemeHelper { | ||||
|             return false; | ||||
|         } else if (listMode.equals(context.getString(R.string.list_view_mode_grid_key))) { | ||||
|             return true; | ||||
|         } else { | ||||
|         } else /* listMode.equals("auto") */ { | ||||
|             final Configuration configuration = context.getResources().getConfiguration(); | ||||
|             return configuration.orientation == Configuration.ORIENTATION_LANDSCAPE | ||||
|                     && configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Stypox
					Stypox