Skip to content

Commit

Permalink
Update changed functions of MenuItem
Browse files Browse the repository at this point in the history
These functions are changed with Android 13.
  • Loading branch information
irfano committed Jan 29, 2023
1 parent b767c46 commit 44dfcad
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,10 @@ class CommentListActionModeCallback(
private fun setItemEnabled(menuItem: MenuItem, actionUiModel: ActionUiModel) {
menuItem.isVisible = actionUiModel.isVisible
menuItem.isEnabled = actionUiModel.isEnabled
if (menuItem.icon != null) {
val currentIcon = menuItem.icon
currentIcon?.let {
// must mutate the drawable to avoid affecting other instances of it
val icon = menuItem.icon.mutate()
val icon = currentIcon.mutate()
icon.alpha = if (actionUiModel.isEnabled) ICON_ALPHA_ENABLED else ICON_ALPHA_DISABLED
menuItem.icon = icon
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import androidx.lifecycle.Lifecycle.Event.ON_START
import androidx.lifecycle.Lifecycle.Event.ON_STOP
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LifecycleRegistry
import androidx.lifecycle.Observer
import org.wordpress.android.R
import org.wordpress.android.ui.mediapicker.MediaPickerViewModel.ActionModeUiModel
import org.wordpress.android.ui.utils.UiString.UiStringRes
Expand All @@ -29,7 +28,7 @@ class MediaPickerActionModeCallback(private val viewModel: MediaPickerViewModel)
lifecycleRegistry.handleLifecycleEvent(ON_START)
val inflater = actionMode.menuInflater
inflater.inflate(R.menu.photo_picker_action_mode, menu)
viewModel.uiState.observe(this, Observer { uiState ->
viewModel.uiState.observe(this) { uiState ->
when (val uiModel = uiState.actionModeUiModel) {
is ActionModeUiModel.Hidden -> {
actionMode.finish()
Expand All @@ -42,19 +41,20 @@ class MediaPickerActionModeCallback(private val viewModel: MediaPickerViewModel)
if (editItemUiModel.isVisible) {
editItem.isVisible = true

editItem.actionView.let { actionView ->
editItem.actionView?.let { actionView ->
actionView.setOnClickListener {
onActionItemClicked(actionMode, editItem)
}
TooltipCompat.setTooltipText(actionView, editItem.title)
}

val editItemBadge = editItem.actionView.findViewById<TextView>(R.id.customize_icon_count)
if (editItemUiModel.isCounterBadgeVisible) {
editItemBadge.visibility = View.VISIBLE
editItemBadge.text = editItemUiModel.counterBadgeValue.toString()
} else {
editItemBadge.visibility = View.GONE
editItem.actionView?.findViewById<TextView>(R.id.customize_icon_count)?.let { editItemBadge ->
if (editItemUiModel.isCounterBadgeVisible) {
editItemBadge.visibility = View.VISIBLE
editItemBadge.text = editItemUiModel.counterBadgeValue.toString()
} else {
editItemBadge.visibility = View.GONE
}
}
} else {
editItem.isVisible = false
Expand All @@ -67,7 +67,7 @@ class MediaPickerActionModeCallback(private val viewModel: MediaPickerViewModel)
}
}
}
})
}
return true
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -419,13 +419,13 @@ class MediaPickerFragment : Fragment(), MenuProvider {
private fun initializeSearchView(actionMenuItem: MenuItem) {
var isExpanding = false
actionMenuItem.setOnActionExpandListener(object : OnActionExpandListener {
override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
viewModel.onSearchExpanded()
isExpanding = true
return true
}

override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
viewModel.onSearchCollapsed()
return true
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ class MySiteFragment : Fragment(R.layout.my_site_fragment),
toolbarMain.let { toolbar ->
toolbar.inflateMenu(R.menu.my_site_menu)
toolbar.menu.findItem(R.id.me_item)?.let { meMenu ->
meMenu.actionView.let { actionView ->
meMenu.actionView?.let { actionView ->
actionView.contentDescription = meMenu.title
actionView.setOnClickListener { viewModel.onAvatarPressed() }
TooltipCompat.setTooltipText(actionView, meMenu.title)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,12 @@ class PageParentFragment : Fragment(R.layout.page_parent_fragment), MenuProvider

private fun PageParentFragmentBinding.initializeSearchView() {
searchAction.setOnActionExpandListener(object : OnActionExpandListener {
override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
viewModel.onSearchExpanded(restorePreviousSearch)
return true
}

override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
viewModel.onSearchCollapsed()
return true
}
Expand All @@ -123,8 +123,8 @@ class PageParentFragment : Fragment(R.layout.page_parent_fragment), MenuProvider
}
})

val searchEditFrame = searchAction.actionView.findViewById<LinearLayout>(R.id.search_edit_frame)
(searchEditFrame.layoutParams as LinearLayout.LayoutParams)
val searchEditFrame = searchAction.actionView?.findViewById<LinearLayout>(R.id.search_edit_frame)
(searchEditFrame?.layoutParams as LinearLayout.LayoutParams)
.apply { this.leftMargin = DisplayUtils.dpToPx(activity, SEARCH_ACTION_LEFT_MARGIN_DP) }

viewModel.isSearchExpanded.observe(this@PageParentFragment) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,12 +264,12 @@ class PagesFragment : Fragment(R.layout.pages_fragment), ScrollableViewInitializ

private fun PagesFragmentBinding.initializeSearchView() {
actionMenuItem.setOnActionExpandListener(object : OnActionExpandListener {
override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
viewModel.onSearchExpanded(restorePreviousSearch)
return true
}

override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
viewModel.onSearchCollapsed()
return true
}
Expand All @@ -294,17 +294,17 @@ class PagesFragment : Fragment(R.layout.pages_fragment), ScrollableViewInitializ
})

// fix the search view margins to match the action bar
val searchEditFrame = actionMenuItem.actionView.findViewById<LinearLayout>(R.id.search_edit_frame)
(searchEditFrame.layoutParams as LinearLayout.LayoutParams)
val searchEditFrame = actionMenuItem.actionView?.findViewById<LinearLayout>(R.id.search_edit_frame)
(searchEditFrame?.layoutParams as LinearLayout.LayoutParams)
.apply { this.leftMargin = DisplayUtils.dpToPx(activity, -8) }

viewModel.isSearchExpanded.observe(this@PagesFragment, Observer {
viewModel.isSearchExpanded.observe(this@PagesFragment) {
if (it == true) {
showSearchList(actionMenuItem)
} else {
hideSearchList(actionMenuItem)
}
})
}
}

private fun PagesFragmentBinding.initializeViewModelObservers(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -575,12 +575,12 @@ class PostsListActivity : LocaleAwareActivity(),

private fun PostListActivityBinding.initSearchView() {
searchActionButton.setOnActionExpandListener(object : OnActionExpandListener {
override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
viewModel.onSearchExpanded(restorePreviousSearch)
return true
}

override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
viewModel.onSearchCollapsed()
return true
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,11 +126,11 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider,
}
menu.findItem(R.id.menu_settings).apply {
settingsMenuItem = this
settingsMenuItemFocusPoint = this.actionView.findViewById(R.id.menu_quick_start_focus_point)
settingsMenuItemFocusPoint = this.actionView?.findViewById(R.id.menu_quick_start_focus_point)
this.isVisible = viewModel.uiState.value?.settingsMenuItemUiState?.isVisible ?: false
settingsMenuItemFocusPoint?.isVisible =
viewModel.uiState.value?.settingsMenuItemUiState?.showQuickStartFocusPoint ?: false
this.actionView.setOnClickListener { viewModel.onSettingsActionClicked() }
this.actionView?.setOnClickListener { viewModel.onSettingsActionClicked() }
}
}

Expand Down

0 comments on commit 44dfcad

Please sign in to comment.