Repository: wordpress-mobile/WordPress-Android (language: kotlin)

Issue:
UI Modernization Posts: Remove compact layout filter

```[tasklist]
### Tasks
- [x] Remove layouts files
- [x] Remove string resources
- [x] Remove from toolbar menu
- [x] Remove logic associated with changing the layout filter
```



Discussion hints:
nan

Pull request: UI Modernization Post: Remove post list compact layout
Fixes #19340

This PR is the first in a series which will implement a new look/feel for the Post lists. This focus of this PR was to remove the "compact" layout and any associated logic. No visual changes in this PR.

**Changes Include**
-- Remove compact layout and drawable resources
        - post_list_item_compact
        - post_list_item_skeleton
        - ic_view_post_compact_white_24dp
        - ic_view_post_full_white_24dp
-- Remove `PostListViewLayoutType`
-- Remove tracking layout type changes
-- Remove saving layout type preference
-- Remove `Compact` class
-- Remove compact logic from `PostListMainViewModel`
-- Remove unused dimen resources
-- Update unit tests
-- Search view now uses the base layout
 
**To test:**
- Install and launch the app
- Login
- Navigate from My Site > Posts
- ✅ Verify that the post list works as expected
- Tap the search icon and enter a search query
- ✅ Verify that the search works as expected 

## Regression Notes
1. Potential unintended areas of impact
The app crashes when navigating to posts

2. What I did to test those areas of impact (or what existing automated tests I relied on)
Update unit tests

3. What automated tests I added (or what prevented me from doing so) N/A

PR submission checklist:
- [X] I have completed the Regression Notes.
- [X] I have considered adding accessibility improvements for my changes.
- [X] I have considered if this change warrants user-facing release notes and have added them to `RELEASE-NOTES.txt` if necessary.

UI Changes testing checklist: N/A


Test command: ./gradlew :WordPress:testWordpressVanillaDebugUnitTest --tests "org.wordpress.android.ui.posts.PostListMainViewModelTest"

Fix patch:
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListFragment.kt
index 2bed7dde2923..a467fb5ea7d3 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListFragment.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListFragment.kt
@@ -8,7 +8,6 @@ import android.view.ViewGroup
 import android.widget.Button
 import android.widget.ProgressBar
 import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
@@ -18,8 +17,6 @@ import org.wordpress.android.fluxc.model.SiteModel
 import org.wordpress.android.ui.ActionableEmptyView
 import org.wordpress.android.ui.ViewPagerFragment
 import org.wordpress.android.ui.posts.PostListType.SEARCH
-import org.wordpress.android.ui.posts.PostListViewLayoutType.COMPACT
-import org.wordpress.android.ui.posts.PostListViewLayoutType.STANDARD
 import org.wordpress.android.ui.posts.adapters.PostListAdapter
 import org.wordpress.android.ui.utils.UiHelpers
 import org.wordpress.android.ui.utils.UiString
@@ -61,7 +58,6 @@ class PostListFragment : ViewPagerFragment() {
     private var actionableEmptyView: ActionableEmptyView? = null
     private var progressLoadMore: ProgressBar? = null
 
-    private lateinit var itemDecorationCompactLayout: RecyclerItemDecoration
     private lateinit var itemDecorationStandardLayout: RecyclerItemDecoration
 
     private lateinit var postListType: PostListType
@@ -107,26 +103,6 @@ class PostListFragment : ViewPagerFragment() {
 
         mainViewModel = ViewModelProvider(nonNullActivity, viewModelFactory)[PostListMainViewModel::class.java]
 
-        mainViewModel.viewLayoutType.observe(viewLifecycleOwner, Observer { optionaLayoutType ->
-            optionaLayoutType?.let { layoutType ->
-                recyclerView?.removeItemDecoration(itemDecorationCompactLayout)
-                recyclerView?.removeItemDecoration(itemDecorationStandardLayout)
-
-                when (layoutType) {
-                    STANDARD -> {
-                        recyclerView?.addItemDecoration(itemDecorationStandardLayout)
-                    }
-                    COMPACT -> {
-                        recyclerView?.addItemDecoration(itemDecorationCompactLayout)
-                    }
-                }
-
-                if (postListAdapter.updateItemLayoutType(layoutType)) {
-                    recyclerView?.scrollToPosition(0)
-                }
-            }
-        })
-
         mainViewModel.authorSelectionUpdated.observe(viewLifecycleOwner) {
             if (it != null) {
                 if (viewModel.updateAuthorFilterIfNotSearch(it)) {
@@ -157,34 +133,34 @@ class PostListFragment : ViewPagerFragment() {
 
     private fun initObservers() {
         if (postListType == SEARCH) {
-            mainViewModel.searchQuery.observe(viewLifecycleOwner, Observer {
+            mainViewModel.searchQuery.observe(viewLifecycleOwner) {
                 if (TextUtils.isEmpty(it)) {
                     postListAdapter.submitList(null)
                 }
                 viewModel.search(it)
-            })
+            }
         }
 
-        viewModel.emptyViewState.observe(viewLifecycleOwner, Observer {
+        viewModel.emptyViewState.observe(viewLifecycleOwner) {
             it?.let { emptyViewState -> updateEmptyViewForState(emptyViewState) }
-        })
+        }
 
-        viewModel.isFetchingFirstPage.observe(viewLifecycleOwner, Observer {
+        viewModel.isFetchingFirstPage.observe(viewLifecycleOwner) {
             swipeRefreshLayout?.isRefreshing = it == true
-        })
+        }
 
-        viewModel.pagedListData.observe(viewLifecycleOwner, Observer {
+        viewModel.pagedListData.observe(viewLifecycleOwner) {
             it?.let { pagedListData -> updatePagedListData(pagedListData) }
-        })
+        }
 
-        viewModel.isLoadingMore.observe(viewLifecycleOwner, Observer {
+        viewModel.isLoadingMore.observe(viewLifecycleOwner) {
             progressLoadMore?.visibility = if (it == true) View.VISIBLE else View.GONE
-        })
-        viewModel.scrollToPosition.observe(viewLifecycleOwner, Observer {
+        }
+        viewModel.scrollToPosition.observe(viewLifecycleOwner) {
             it?.let { index ->
                 recyclerView?.scrollToPosition(index)
             }
-        })
+        }
     }
 
     override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
@@ -200,12 +176,9 @@ class PostListFragment : ViewPagerFragment() {
             0,
             context.resources.getDimensionPixelSize(R.dimen.margin_medium)
         )
-        itemDecorationCompactLayout = RecyclerItemDecoration(
-            0,
-            context.resources.getDimensionPixelSize(R.dimen.list_divider_height)
-        )
         recyclerView?.layoutManager = LinearLayoutManager(context)
         recyclerView?.adapter = postListAdapter
+        recyclerView?.addItemDecoration(itemDecorationStandardLayout)
 
         swipeRefreshLayout?.let {
             swipeToRefreshHelper = buildSwipeToRefreshHelper(it) {
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListItemViewHolder.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListItemViewHolder.kt
index ebf15f435320..7a737eb77871 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListItemViewHolder.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListItemViewHolder.kt
@@ -11,7 +11,6 @@ import android.view.Menu
 import android.view.View
 import android.view.ViewGroup
 import android.widget.FrameLayout
-import android.widget.ImageButton
 import android.widget.ImageView
 import android.widget.ImageView.ScaleType
 import android.widget.PopupMenu
@@ -26,7 +25,6 @@ import androidx.recyclerview.widget.RecyclerView
 import org.wordpress.android.R
 import org.wordpress.android.ui.utils.UiHelpers
 import org.wordpress.android.ui.utils.UiString
-import org.wordpress.android.util.extensions.expandTouchTargetArea
 import org.wordpress.android.util.extensions.getColorFromAttribute
 import org.wordpress.android.util.extensions.getDrawableFromAttribute
 import org.wordpress.android.util.image.ImageManager
@@ -135,23 +133,6 @@ sealed class PostListItemViewHolder(
         }
     }
 
-    class Compact(
-        parent: ViewGroup,
-        imageManager: ImageManager,
-        private val uiHelpers: UiHelpers
-    ) : PostListItemViewHolder(R.layout.post_list_item_compact, parent, imageManager, uiHelpers) {
-        private val moreButton: ImageButton = itemView.findViewById(R.id.more_button)
-
-        override fun onBind(item: PostListItemUiState) {
-            setBasicValues(item.data)
-
-            itemView.setOnClickListener { item.onSelected.invoke() }
-            uiHelpers.updateVisibility(moreButton, item.compactActions.actions.isNotEmpty())
-            moreButton.expandTouchTargetArea(R.dimen.post_list_more_button_extra_padding)
-            moreButton.setOnClickListener { onMoreClicked(item.compactActions.actions, moreButton) }
-        }
-    }
-
     protected fun setBasicValues(data: PostListItemUiStateData) {
         uiHelpers.setTextOrHide(titleTextView, data.title)
         updatePostInfoLabel(postInfoTextView, data.postInfo)
@@ -249,7 +230,7 @@ sealed class PostListItemViewHolder(
     private fun getMenuItemTitleWithIcon(context: Context, item: PostListItemAction): SpannableStringBuilder {
         var icon: Drawable? = setTint(
             context,
-            context.getDrawable(item.buttonType.iconResId)!!, item.buttonType.colorAttrId
+            ContextCompat.getDrawable(context, item.buttonType.iconResId)!!, item.buttonType.colorAttrId
         )
         // If there's no icon, we insert a transparent one to keep the title aligned with the items which have icons.
         if (icon == null) icon = ColorDrawable(Color.TRANSPARENT)
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt
index 57449b607220..3f483486cba5 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt
@@ -38,10 +38,6 @@ import org.wordpress.android.ui.posts.PostListType.DRAFTS
 import org.wordpress.android.ui.posts.PostListType.PUBLISHED
 import org.wordpress.android.ui.posts.PostListType.SCHEDULED
 import org.wordpress.android.ui.posts.PostListType.TRASHED
-import org.wordpress.android.ui.posts.PostListViewLayoutType.COMPACT
-import org.wordpress.android.ui.posts.PostListViewLayoutType.STANDARD
-import org.wordpress.android.ui.posts.PostListViewLayoutTypeMenuUiState.CompactViewLayoutTypeMenuUiState
-import org.wordpress.android.ui.posts.PostListViewLayoutTypeMenuUiState.StandardViewLayoutTypeMenuUiState
 import org.wordpress.android.ui.prefs.AppPrefsWrapper
 import org.wordpress.android.ui.uploads.UploadActionUseCase
 import org.wordpress.android.ui.uploads.UploadStarter
@@ -134,12 +130,6 @@ class PostListMainViewModel @Inject constructor(
     private val _postUploadAction = SingleLiveEvent<PostUploadAction>()
     val postUploadAction: LiveData<PostUploadAction> = _postUploadAction
 
-    private val _viewLayoutType = MutableLiveData<PostListViewLayoutType>()
-    val viewLayoutType: LiveData<PostListViewLayoutType> = _viewLayoutType
-
-    private val _viewLayoutTypeMenuUiState = MutableLiveData<PostListViewLayoutTypeMenuUiState>()
-    val viewLayoutTypeMenuUiState: LiveData<PostListViewLayoutTypeMenuUiState> = _viewLayoutTypeMenuUiState
-
     private val _isSearchExpanded = MutableLiveData<Boolean>()
     val isSearchExpanded: LiveData<Boolean> = _isSearchExpanded
 
@@ -243,12 +233,6 @@ class PostListMainViewModel @Inject constructor(
         this.site = site
         this.editPostRepository = editPostRepository
 
-        if (isSearchExpanded.value == true) {
-            setViewLayoutAndIcon(COMPACT, false)
-        } else {
-            setUserPreferredViewLayoutType()
-        }
-
         val authorFilterSelection: AuthorFilterSelection = if (isFilteringByAuthorSupported) {
             prefs.postListAuthorSelection
         } else {
@@ -334,7 +318,6 @@ class PostListMainViewModel @Inject constructor(
 
     fun onSearchExpanded(restorePreviousSearch: Boolean) {
         if (isSearchExpanded.value != true) {
-            setViewLayoutAndIcon(COMPACT, false)
             AnalyticsUtils.trackWithSiteDetails(POST_LIST_SEARCH_ACCESSED, site)
 
             if (!restorePreviousSearch) {
@@ -347,7 +330,6 @@ class PostListMainViewModel @Inject constructor(
     }
 
     fun onSearchCollapsed(delay: Long = SEARCH_COLLAPSE_DELAY) {
-        setUserPreferredViewLayoutType()
         _isSearchExpanded.value = false
         clearSearch()
 
@@ -569,32 +551,6 @@ class PostListMainViewModel @Inject constructor(
         )
     }
 
-    fun toggleViewLayout() {
-        val currentLayoutType = viewLayoutType.value ?: PostListViewLayoutType.defaultValue
-        val toggledValue = when (currentLayoutType) {
-            STANDARD -> COMPACT
-            COMPACT -> STANDARD
-        }
-        AnalyticsUtils.trackAnalyticsPostListToggleLayout(toggledValue)
-        setViewLayoutAndIcon(toggledValue, true)
-    }
-
-    private fun setViewLayoutAndIcon(layout: PostListViewLayoutType, storeIntoPreferences: Boolean = true) {
-        _viewLayoutType.value = layout
-        _viewLayoutTypeMenuUiState.value = when (layout) {
-            STANDARD -> StandardViewLayoutTypeMenuUiState
-            COMPACT -> CompactViewLayoutTypeMenuUiState
-        }
-        if (storeIntoPreferences) {
-            prefs.postListViewLayoutType = layout
-        }
-    }
-
-    private fun setUserPreferredViewLayoutType() {
-        val savedLayoutType = prefs.postListViewLayoutType
-        setViewLayoutAndIcon(savedLayoutType, false)
-    }
-
     fun onBottomSheetPublishButtonClicked() {
         editPostRepository.getEditablePost()?.let {
             postActionHandler.publishPost(it)
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewState.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewState.kt
index 4b4e389d5c66..9379ad939be0 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewState.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewState.kt
@@ -14,18 +14,6 @@ data class PostListMainViewState(
     val authorFilterItems: List<AuthorFilterListItemUIState>
 )
 
-sealed class PostListViewLayoutTypeMenuUiState(@DrawableRes val iconRes: Int, val title: UiString) {
-    object StandardViewLayoutTypeMenuUiState : PostListViewLayoutTypeMenuUiState(
-        iconRes = R.drawable.ic_view_post_compact_white_24dp,
-        title = UiStringRes(R.string.post_list_toggle_item_layout_list_view)
-    )
-
-    object CompactViewLayoutTypeMenuUiState : PostListViewLayoutTypeMenuUiState(
-        iconRes = R.drawable.ic_view_post_full_white_24dp,
-        title = UiStringRes(R.string.post_list_toggle_item_layout_cards_view)
-    )
-}
-
 sealed class AuthorFilterListItemUIState(
     val id: Long,
     val text: UiString,
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListViewLayoutType.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListViewLayoutType.kt
deleted file mode 100644
index a0dca37c3b34..000000000000
--- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListViewLayoutType.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.wordpress.android.ui.posts
-
-enum class PostListViewLayoutType(val id: Long) {
-    STANDARD(id = 0),
-    COMPACT(id = 1);
-
-    companion object {
-        @JvmStatic
-        val defaultValue = STANDARD
-
-        @JvmStatic
-        fun fromId(id: Long): PostListViewLayoutType {
-            return values().firstOrNull { it.id == id } ?: defaultValue
-        }
-    }
-}
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/adapters/PostListAdapter.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/adapters/PostListAdapter.kt
index 87d557146e4b..9a5b180b1804 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/posts/adapters/PostListAdapter.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/adapters/PostListAdapter.kt
@@ -11,9 +11,6 @@ import org.wordpress.android.R
 import org.wordpress.android.fluxc.model.LocalOrRemoteId.LocalId
 import org.wordpress.android.fluxc.model.LocalOrRemoteId.RemoteId
 import org.wordpress.android.ui.posts.PostListItemViewHolder
-import org.wordpress.android.ui.posts.PostListViewLayoutType
-import org.wordpress.android.ui.posts.PostListViewLayoutType.COMPACT
-import org.wordpress.android.ui.posts.PostListViewLayoutType.STANDARD
 import org.wordpress.android.ui.utils.UiHelpers
 import org.wordpress.android.util.extensions.setVisible
 import org.wordpress.android.util.image.ImageManager
@@ -24,10 +21,8 @@ import org.wordpress.android.viewmodel.posts.PostListItemType.PostListItemUiStat
 import org.wordpress.android.viewmodel.uistate.ProgressBarUiState
 
 private const val VIEW_TYPE_POST = 0
-private const val VIEW_TYPE_POST_COMPACT = 1
 private const val VIEW_TYPE_ENDLIST_INDICATOR = 2
 private const val VIEW_TYPE_LOADING = 3
-private const val VIEW_TYPE_LOADING_COMPACT = 4
 
 class PostListAdapter(
     context: Context,
@@ -35,23 +30,12 @@ class PostListAdapter(
     private val uiHelpers: UiHelpers
 ) : PagedListAdapter<PostListItemType, ViewHolder>(PostListDiffItemCallback) {
     private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-    private var itemLayoutType: PostListViewLayoutType = PostListViewLayoutType.defaultValue
 
     override fun getItemViewType(position: Int): Int {
         return when (getItem(position)) {
             is EndListIndicatorItem -> VIEW_TYPE_ENDLIST_INDICATOR
-            is PostListItemUiState -> {
-                when (itemLayoutType) {
-                    STANDARD -> VIEW_TYPE_POST
-                    COMPACT -> VIEW_TYPE_POST_COMPACT
-                }
-            }
-            is LoadingItem, null -> {
-                when (itemLayoutType) {
-                    STANDARD -> VIEW_TYPE_LOADING
-                    COMPACT -> VIEW_TYPE_LOADING_COMPACT
-                }
-            }
+            is PostListItemUiState ->  VIEW_TYPE_POST
+            is LoadingItem, null -> VIEW_TYPE_LOADING
         }
     }
 
@@ -66,16 +50,9 @@ class PostListAdapter(
                 val view = layoutInflater.inflate(R.layout.post_list_item_skeleton, parent, false)
                 LoadingViewHolder(view)
             }
-            VIEW_TYPE_LOADING_COMPACT -> {
-                val view = layoutInflater.inflate(R.layout.post_list_item_skeleton_compact, parent, false)
-                LoadingViewHolder(view)
-            }
             VIEW_TYPE_POST -> {
                 PostListItemViewHolder.Standard(parent, imageManager, uiHelpers)
             }
-            VIEW_TYPE_POST_COMPACT -> {
-                PostListItemViewHolder.Compact(parent, imageManager, uiHelpers)
-            }
             else -> {
                 // Fail fast if a new view type is added so the we can handle it
                 throw IllegalStateException("The view type '$viewType' needs to be handled")
@@ -104,15 +81,6 @@ class PostListAdapter(
         }
     }
 
-    fun updateItemLayoutType(updatedItemLayoutType: PostListViewLayoutType): Boolean {
-        if (updatedItemLayoutType == itemLayoutType) {
-            return false
-        }
-        itemLayoutType = updatedItemLayoutType
-        notifyDataSetChanged()
-        return true
-    }
-
     private class LoadingViewHolder(view: View) : ViewHolder(view) {
         val editButton: View? = view.findViewById(R.id.skeleton_button_edit)
         val viewButton: View? = view.findViewById(R.id.skeleton_button_view)
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java
index c79843ddad58..9d213b42725e 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java
+++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java
@@ -24,7 +24,6 @@
 import org.wordpress.android.ui.mysite.SelectedSiteRepository;
 import org.wordpress.android.ui.mysite.tabs.MySiteTabType;
 import org.wordpress.android.ui.posts.AuthorFilterSelection;
-import org.wordpress.android.ui.posts.PostListViewLayoutType;
 import org.wordpress.android.ui.quickstart.QuickStartType;
 import org.wordpress.android.ui.quickstart.QuickStartType.NewSiteQuickStartType;
 import org.wordpress.android.ui.reader.tracker.ReaderTab;
@@ -1131,16 +1130,6 @@ public static void setAuthorFilterSelection(@NonNull AuthorFilterSelection selec
         setLong(DeletablePrefKey.POST_LIST_AUTHOR_FILTER, selection.getId());
     }
 
-    @NonNull public static PostListViewLayoutType getPostsListViewLayoutType() {
-        long id = getLong(DeletablePrefKey.POST_LIST_VIEW_LAYOUT_TYPE,
-                PostListViewLayoutType.getDefaultValue().getId());
-        return PostListViewLayoutType.fromId(id);
-    }
-
-    public static void setPostsListViewLayoutType(@NonNull PostListViewLayoutType type) {
-        setLong(DeletablePrefKey.POST_LIST_VIEW_LAYOUT_TYPE, type.getId());
-    }
-
     public static void setStatsWidgetSelectedSiteId(long siteId, int appWidgetId) {
         prefs().edit().putLong(getSiteIdWidgetKey(appWidgetId), siteId).apply();
     }
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt
index 60c17a1f20df..50c21033b4cd 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt
@@ -5,7 +5,6 @@ import org.wordpress.android.fluxc.store.QuickStartStore.QuickStartTask
 import org.wordpress.android.models.ReaderTag
 import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalPhase
 import org.wordpress.android.ui.posts.AuthorFilterSelection
-import org.wordpress.android.ui.posts.PostListViewLayoutType
 import org.wordpress.android.ui.prefs.AppPrefs.PrefKey
 import org.wordpress.android.ui.prefs.AppPrefs.getBoolean
 import org.wordpress.android.ui.quickstart.QuickStartType
@@ -52,10 +51,6 @@ class AppPrefsWrapper @Inject constructor() {
         get() = AppPrefs.getAuthorFilterSelection()
         set(value) = AppPrefs.setAuthorFilterSelection(value)
 
-    var postListViewLayoutType: PostListViewLayoutType
-        get() = AppPrefs.getPostsListViewLayoutType()
-        set(value) = AppPrefs.setPostsListViewLayoutType(value)
-
     var systemNotificationsEnabled: Boolean
         get() = AppPrefs.getSystemNotificationsEnabled()
         set(value) = AppPrefs.setSystemNotificationsEnabled(value)
diff --git a/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java b/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java
index 01434123b88f..a0257c4686ad 100644
--- a/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java
+++ b/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java
@@ -32,7 +32,6 @@
 import org.wordpress.android.models.ReaderPost;
 import org.wordpress.android.ui.PagePostCreationSourcesDetail;
 import org.wordpress.android.ui.posts.EditPostActivity;
-import org.wordpress.android.ui.posts.PostListViewLayoutType;
 import org.wordpress.android.ui.posts.PostUtils;
 import org.wordpress.android.util.AppLog;
 import org.wordpress.android.util.FluxCUtils;
@@ -642,12 +641,6 @@ public static void trackAnalyticsAccountCreated(String username, String email, M
         AnalyticsTracker.track(AnalyticsTracker.Stat.CREATED_ACCOUNT, properties);
     }
 
-    public static void trackAnalyticsPostListToggleLayout(PostListViewLayoutType viewLayoutType) {
-        Map<String, String> properties = new HashMap<>();
-        properties.put("post_list_view_layout_type", viewLayoutType.toString());
-        AnalyticsTracker.track(AnalyticsTracker.Stat.POST_LIST_VIEW_LAYOUT_TOGGLED, properties);
-    }
-
     private static Map<String, String> createNewsCardProperties(String origin, int version) {
         Map<String, String> properties = new HashMap<>();
         properties.put(NEWS_CARD_ORIGIN, origin);
diff --git a/WordPress/src/main/res/drawable/ic_view_post_compact_white_24dp.xml b/WordPress/src/main/res/drawable/ic_view_post_compact_white_24dp.xml
deleted file mode 100644
index b0a5371c3d49..000000000000
--- a/WordPress/src/main/res/drawable/ic_view_post_compact_white_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-  <path
-      android:fillColor="@android:color/white"
-      android:pathData="M9,19h12v-2L9,17v2zM9,13h12v-2L9,11v2zM9,5v2h12L21,5L9,5zM5,4.5c-0.828,0 -1.5,0.672 -1.5,1.5S4.172,7.5 5,7.5 6.5,6.828 6.5,6 5.828,4.5 5,4.5zM5,10.5c-0.828,0 -1.5,0.672 -1.5,1.5s0.672,1.5 1.5,1.5 1.5,-0.672 1.5,-1.5 -0.672,-1.5 -1.5,-1.5zM5,16.5c-0.828,0 -1.5,0.672 -1.5,1.5s0.672,1.5 1.5,1.5 1.5,-0.672 1.5,-1.5 -0.672,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/WordPress/src/main/res/drawable/ic_view_post_full_white_24dp.xml b/WordPress/src/main/res/drawable/ic_view_post_full_white_24dp.xml
deleted file mode 100644
index 91317955ffb9..000000000000
--- a/WordPress/src/main/res/drawable/ic_view_post_full_white_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-  <path
-      android:fillColor="@android:color/white"
-      android:pathData="M2,21h19v-3H2v3zM20,8H3c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h17c0.55,0 1,-0.45 1,-1V9c0,-0.55 -0.45,-1 -1,-1zM2,3v3h19V3H2z"/>
-</vector>
diff --git a/WordPress/src/main/res/layout/post_list_item_compact.xml b/WordPress/src/main/res/layout/post_list_item_compact.xml
deleted file mode 100644
index c44c59566aab..000000000000
--- a/WordPress/src/main/res/layout/post_list_item_compact.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/background"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginStart="@dimen/post_list_content_margin_compact"
-    android:layout_marginEnd="@dimen/post_list_content_margin_compact">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="?attr/selectableItemBackground"
-        android:minHeight="@dimen/posts_list_compact_row_height">
-
-        <org.wordpress.android.widgets.WPTextView
-            android:id="@+id/title"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_alignParentStart="true"
-            android:layout_marginStart="@dimen/page_item_horizontal_padding"
-            android:layout_marginTop="@dimen/margin_large"
-            android:layout_marginEnd="@dimen/margin_medium"
-            android:ellipsize="end"
-            android:fontFamily="serif"
-            android:maxLines="1"
-            android:textAlignment="textStart"
-            android:textAppearance="?attr/textAppearanceSubtitle1"
-            android:textStyle="bold"
-            app:layout_constraintBottom_toTopOf="@+id/post_info"
-            app:layout_constraintEnd_toStartOf="@+id/image_featured"
-            app:layout_constraintHorizontal_bias="0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/disabled_overlay"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_chainStyle="packed"
-            tools:text="Porro totam quia architecto ducimus laudantium minus autem" />
-
-        <org.wordpress.android.widgets.WPTextView
-            android:id="@+id/post_info"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/page_item_horizontal_padding"
-            android:layout_marginTop="@dimen/margin_extra_small"
-            android:ellipsize="end"
-            android:maxLines="1"
-            android:textAppearance="?attr/textAppearanceBody2"
-            android:textColor="?attr/wpColorOnSurfaceMedium"
-            app:layout_constraintBottom_toTopOf="@+id/statuses_label"
-            app:layout_constraintEnd_toStartOf="@+id/image_featured"
-            app:layout_constraintHorizontal_bias="0.0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/title"
-            app:layout_goneMarginBottom="@dimen/margin_large"
-            tools:text="99 days ago • Eulah Kuvalis" />
-
-        <ImageView
-            android:id="@+id/image_featured"
-            android:layout_width="@dimen/posts_list_compact_image_size"
-            android:layout_height="@dimen/posts_list_compact_image_size"
-            android:layout_marginEnd="@dimen/page_item_horizontal_padding"
-            android:background="@color/transparent"
-            android:contentDescription="@string/featured_image_desc"
-            app:layout_constraintBottom_toBottomOf="@+id/post_info"
-            app:layout_constraintEnd_toStartOf="@+id/more_button"
-            app:layout_constraintHorizontal_bias="1.0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@+id/title"
-            tools:srcCompat="@tools:sample/avatars" />
-
-        <ImageButton
-            android:id="@+id/more_button"
-            android:layout_width="@dimen/posts_list_compact_menu_button_size"
-            android:layout_height="@dimen/posts_list_compact_menu_button_size"
-            android:layout_marginEnd="@dimen/page_item_horizontal_padding"
-            android:background="?attr/selectableItemBackgroundBorderless"
-            android:contentDescription="@string/more"
-            android:src="@drawable/ic_ellipsis_vertical_white_24dp"
-            app:layout_constraintBottom_toBottomOf="@+id/image_featured"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="1.0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@+id/image_featured"
-            app:tint="?attr/wpColorOnSurfaceMedium" />
-
-        <FrameLayout
-            android:id="@+id/disabled_overlay"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:background="@color/white_translucent_65"
-            android:clickable="true"
-            android:focusable="true"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <org.wordpress.android.widgets.WPTextView
-            android:id="@+id/statuses_label"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/margin_extra_small"
-            android:layout_marginBottom="@dimen/margin_large"
-            android:ellipsize="end"
-            android:maxLines="3"
-            android:textAlignment="textStart"
-            android:textColor="?attr/wpColorWarningDark"
-            app:layout_constraintBottom_toTopOf="@+id/upload_progress"
-            app:layout_constraintEnd_toEndOf="@+id/title"
-            app:layout_constraintHorizontal_bias="0"
-            app:layout_constraintStart_toStartOf="@+id/title"
-            app:layout_constraintTop_toBottomOf="@+id/post_info"
-            tools:text="Facere molestiae est maxime. Laborum nihil voluptatem qui est aut ut. Nisi eveniet id sit voluptatem. Id doloribus itaque sequi eum molestias id repellendus." />
-
-        <ProgressBar
-            android:id="@+id/upload_progress"
-            style="?android:attr/progressBarStyleHorizontal"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:indeterminate="true"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="1.0" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?android:attr/listDivider" />
-</FrameLayout>
diff --git a/WordPress/src/main/res/layout/post_list_item_skeleton_compact.xml b/WordPress/src/main/res/layout/post_list_item_skeleton_compact.xml
deleted file mode 100644
index 27319a99a982..000000000000
--- a/WordPress/src/main/res/layout/post_list_item_skeleton_compact.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginStart="@dimen/post_list_content_margin_compact"
-    android:layout_marginEnd="@dimen/post_list_content_margin_compact">
-
-    <com.facebook.shimmer.ShimmerFrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        app:shimmer_base_alpha="@dimen/skeleton_shimmer_base_alpha"
-        app:shimmer_highlight_alpha="@dimen/skeleton_shimmer_highlight_alpha">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/skeleton_container"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-
-            <View
-                android:id="@+id/skeleton_title"
-                android:layout_width="0dp"
-                android:layout_height="@dimen/post_list_row_skeleton_view_title_height"
-                android:layout_marginStart="@dimen/margin_extra_large"
-                android:layout_marginTop="@dimen/margin_extra_large"
-                android:background="@color/gray_30"
-                app:layout_constraintBottom_toTopOf="@+id/skeleton_excerpt"
-                app:layout_constraintEnd_toStartOf="@+id/more_button"
-                app:layout_constraintHorizontal_bias="0.0"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintWidth_percent="0.50" />
-
-            <View
-                android:id="@+id/skeleton_excerpt"
-                android:layout_width="0dp"
-                android:layout_height="@dimen/post_list_row_skeleton_view_excerpt_height"
-                android:layout_marginStart="@dimen/margin_extra_large"
-                android:layout_marginTop="@dimen/margin_medium"
-                android:layout_marginBottom="@dimen/margin_extra_large"
-                android:background="@color/gray_30"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toStartOf="@+id/more_button"
-                app:layout_constraintHorizontal_bias="0.0"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/skeleton_title"
-                app:layout_constraintWidth_percent="0.75" />
-
-            <ImageView
-                android:id="@+id/more_button"
-                android:layout_width="@dimen/posts_list_compact_menu_button_size"
-                android:layout_height="@dimen/posts_list_compact_menu_button_size"
-                android:layout_marginStart="8dp"
-                android:layout_marginEnd="@dimen/margin_large"
-                android:importantForAccessibility="no"
-                android:src="@drawable/ic_ellipsis_vertical_white_24dp"
-                app:tint="@color/neutral_60"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintHorizontal_bias="1.0"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </com.facebook.shimmer.ShimmerFrameLayout>
-</FrameLayout>
diff --git a/WordPress/src/main/res/values/dimens.xml b/WordPress/src/main/res/values/dimens.xml
index 9e6cd3021bbc..0fc787e76dcd 100644
--- a/WordPress/src/main/res/values/dimens.xml
+++ b/WordPress/src/main/res/values/dimens.xml
@@ -93,7 +93,6 @@
     <dimen name="content_margin_none">0dp</dimen>
     <dimen name="site_creation_content_margin">@dimen/content_margin_none</dimen>
     <dimen name="post_list_content_margin_standard">@dimen/content_margin_none</dimen>
-    <dimen name="post_list_content_margin_compact">@dimen/content_margin_none</dimen>
     <dimen name="page_list_content_margin">@dimen/content_margin_none</dimen>
 
     <!--
@@ -254,8 +253,6 @@
     <dimen name="reader_expandable_tags_view_chip_new_border">1dp</dimen>
     <dimen name="reader_expandable_tags_view_chip_new_height">36dp</dimen>
 
-    <dimen name="post_list_more_button_extra_padding">24dp</dimen>
-
     <dimen name="empty_list_title_side_margin">32dp</dimen>
     <dimen name="empty_list_title_bottom_margin">8dp</dimen>
 
@@ -524,12 +521,6 @@
     <dimen name="author_spinner_avatar_padding">1dp</dimen>
     <dimen name="author_spinner_dropdown_avatar_horizontal_margin">13dp</dimen>
 
-    <!--posts list-->
-    <dimen name="posts_list_compact_row_height">80dp</dimen>
-    <dimen name="posts_list_compact_image_size">40dp</dimen>
-    <dimen name="posts_list_compact_menu_button_size">24dp</dimen>
-
-
     <!--site creation-->
     <dimen name="site_creation_segments_content_padding_vertical">16dp</dimen>
     <dimen name="site_creation_segments_content_padding_horizontal">16dp</dimen>


Test patch:
diff --git a/WordPress/src/test/java/org/wordpress/android/ui/posts/PostListMainViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/posts/PostListMainViewModelTest.kt
index 1aac211ab4fb..57bbb125e1b5 100644
--- a/WordPress/src/test/java/org/wordpress/android/ui/posts/PostListMainViewModelTest.kt
+++ b/WordPress/src/test/java/org/wordpress/android/ui/posts/PostListMainViewModelTest.kt
@@ -7,7 +7,6 @@ import org.junit.Before
 import org.junit.Test
 import org.mockito.Mock
 import org.mockito.kotlin.any
-import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.eq
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.times
@@ -19,8 +18,6 @@ import org.wordpress.android.fluxc.model.LocalOrRemoteId.LocalId
 import org.wordpress.android.fluxc.model.PostModel
 import org.wordpress.android.fluxc.model.SiteModel
 import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalPhaseHelper
-import org.wordpress.android.ui.posts.PostListViewLayoutType.COMPACT
-import org.wordpress.android.ui.posts.PostListViewLayoutType.STANDARD
 import org.wordpress.android.ui.prefs.AppPrefsWrapper
 import org.wordpress.android.ui.uploads.UploadStarter
 import org.wordpress.android.viewmodel.Event
@@ -48,12 +45,10 @@ class PostListMainViewModelTest : BaseUnitTest() {
 
     private lateinit var viewModel: PostListMainViewModel
 
+    @Mock
+    lateinit var prefs: AppPrefsWrapper
     @Before
     fun setUp() {
-        val prefs = mock<AppPrefsWrapper> {
-            on { postListViewLayoutType } doReturn STANDARD
-        }
-
         whenever(editPostRepository.postChanged).thenReturn(MutableLiveData(Event(PostModel())))
 
         viewModel = PostListMainViewModel(
@@ -138,25 +133,6 @@ class PostListMainViewModelTest : BaseUnitTest() {
         assertThat(searchQuery).isNull()
     }
 
-    @Test
-    fun `search is using compact view mode independently from normal post list`() {
-        viewModel.start(site, PostListRemotePreviewState.NONE, currentBottomSheetPostId, editPostRepository)
-        assertThat(viewModel.viewLayoutType.value).isEqualTo(STANDARD) // default value
-
-        var viewLayoutType: PostListViewLayoutType? = null
-        viewModel.viewLayoutType.observeForever {
-            viewLayoutType = it
-        }
-
-        viewModel.onSearchExpanded(false)
-
-        assertThat(viewLayoutType).isEqualTo(COMPACT)
-
-        viewModel.onSearchCollapsed()
-
-        assertThat(viewLayoutType).isEqualTo(STANDARD)
-    }
-
     @Test
     fun `if currentBottomSheetPostId isn't 0 then set the post in editPostRepository from the postStore`() {
         // arrange