diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt b/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt index 915bc3ec0..e4d10fb61 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt @@ -29,6 +29,8 @@ import android.view.MenuItem import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AlertDialog +import androidx.core.os.bundleOf +import androidx.core.view.isVisible import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import androidx.preference.PreferenceManager @@ -253,11 +255,9 @@ class FeedFragment : BaseListFragment() { oldestSubscriptionUpdate = loadedState.oldestUpdate + refresh_subtitle_text.isVisible = loadedState.notLoadedCount > 0 if (loadedState.notLoadedCount > 0) { - refresh_subtitle_text.visibility = View.VISIBLE refresh_subtitle_text.text = getString(R.string.feed_subscription_not_loaded_count, loadedState.notLoadedCount) - } else { - refresh_subtitle_text.visibility = View.GONE } if (loadedState.itemsErrors.isNotEmpty()) { @@ -330,12 +330,7 @@ class FeedFragment : BaseListFragment() { @JvmStatic fun newInstance(groupId: Long = FeedGroupEntity.GROUP_ALL_ID, groupName: String? = null): FeedFragment { val feedFragment = FeedFragment() - - feedFragment.arguments = Bundle().apply { - putLong(KEY_GROUP_ID, groupId) - putString(KEY_GROUP_NAME, groupName) - } - + feedFragment.arguments = bundleOf(KEY_GROUP_ID to groupId, KEY_GROUP_NAME to groupName) return feedFragment } } diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt index 486f77483..28ffa6265 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt @@ -3,15 +3,17 @@ package org.schabi.newpipe.local.subscription.dialog import android.app.Dialog import android.os.Bundle import android.os.Parcelable -import android.text.Editable import android.text.TextUtils -import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import android.widget.Toast import androidx.core.content.getSystemService +import androidx.core.os.bundleOf +import androidx.core.view.isGone +import androidx.core.view.isVisible +import androidx.core.widget.doOnTextChanged import androidx.fragment.app.DialogFragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider @@ -191,16 +193,11 @@ class FeedGroupDialog : DialogFragment(), BackPressable { } group_name_input_container.error = null - group_name_input.addTextChangedListener(object : TextWatcher { - override fun afterTextChanged(s: Editable?) {} - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { - if (group_name_input_container.isErrorEnabled && !s.isNullOrBlank()) { - group_name_input_container.error = null - } + group_name_input.doOnTextChanged { text, _, _, _ -> + if (group_name_input_container.isErrorEnabled && !text.isNullOrBlank()) { + group_name_input_container.error = null } - }) + } confirm_button.setOnClickListener { handlePositiveButton() } @@ -242,15 +239,11 @@ class FeedGroupDialog : DialogFragment(), BackPressable { } } - toolbar_search_edit_text.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) = Unit - override fun afterTextChanged(s: Editable) = Unit - override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { - val newQuery: String = toolbar_search_edit_text.text.toString() - subscriptionsCurrentSearchQuery = newQuery - viewModel.filterSubscriptionsBy(newQuery) - } - }) + toolbar_search_edit_text.doOnTextChanged { _, _, _, _ -> + val newQuery: String = toolbar_search_edit_text.text.toString() + subscriptionsCurrentSearchQuery = newQuery + viewModel.filterSubscriptionsBy(newQuery) + } subscriptionGroupAdapter.setOnItemClickListener(subscriptionPickerItemListener) } @@ -414,21 +407,14 @@ class FeedGroupDialog : DialogFragment(), BackPressable { else -> android.R.string.ok }) - delete_button.visibility = when { - currentScreen != InitialScreen -> View.GONE - groupId == NO_GROUP_SELECTED -> View.GONE - else -> View.VISIBLE - } + delete_button.isGone = currentScreen != InitialScreen || groupId == NO_GROUP_SELECTED hideKeyboard() hideSearch() } private fun View.onlyVisibleIn(vararg screens: ScreenState) { - visibility = when (currentScreen) { - in screens -> View.VISIBLE - else -> View.GONE - } + isVisible = currentScreen in screens } /*/​////////////////////////////////////////////////////////////////////////// @@ -501,11 +487,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable { fun newInstance(groupId: Long = NO_GROUP_SELECTED): FeedGroupDialog { val dialog = FeedGroupDialog() - - dialog.arguments = Bundle().apply { - putLong(KEY_GROUP_ID, groupId) - } - + dialog.arguments = bundleOf(KEY_GROUP_ID to groupId) return dialog } } diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt index 324932256..142bba433 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt @@ -1,9 +1,8 @@ package org.schabi.newpipe.local.subscription.item -import android.view.View.GONE import android.view.View.OnClickListener -import android.view.View.VISIBLE import androidx.annotation.DrawableRes +import androidx.core.view.isVisible import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item import kotlinx.android.synthetic.main.header_with_menu_item.header_menu_item @@ -47,6 +46,6 @@ class HeaderWithMenuItem( } private fun updateMenuItemVisibility(viewHolder: GroupieViewHolder) { - viewHolder.header_menu_item.visibility = if (showMenuItem) VISIBLE else GONE + viewHolder.header_menu_item.isVisible = showMenuItem } } diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt index 7d33da71f..df84c115a 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt @@ -1,6 +1,7 @@ package org.schabi.newpipe.local.subscription.item import android.view.View +import androidx.core.view.isVisible import com.nostra13.universalimageloader.core.ImageLoader import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item @@ -25,7 +26,7 @@ data class PickerSubscriptionItem( viewHolder.thumbnail_view, ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS) viewHolder.title_view.text = subscriptionEntity.name - viewHolder.selected_highlight.visibility = if (isSelected) View.VISIBLE else View.GONE + viewHolder.selected_highlight.isVisible = isSelected } override fun unbind(viewHolder: GroupieViewHolder) {