Skip to content

Commit

Permalink
refactor: click on album behavior.
Browse files Browse the repository at this point in the history
  • Loading branch information
plateaukao committed Mar 13, 2023
1 parent 3ea1351 commit 9a2e362
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ open class BrowserActivity : FragmentActivity(), BrowserController {
binding.composeIconBar,
{ toolbarActionHandler.handleClick(it) },
{ toolbarActionHandler.handleLongClick(it) },
onTabClick = { it.show() },
onTabClick = { it.showOrJumpToTop() },
onTabLongClick = { it.remove() },
)
}
Expand Down Expand Up @@ -247,6 +247,7 @@ open class BrowserActivity : FragmentActivity(), BrowserController {

}

override fun isAtTop(): Boolean = ninjaWebView.isAtTop()
override fun jumpToTop() = ninjaWebView.jumpToTop()
override fun jumpToBottom() = ninjaWebView.jumpToBottom()
override fun pageDown() = ninjaWebView.pageDownWithNoAnimation()
Expand Down Expand Up @@ -486,6 +487,9 @@ open class BrowserActivity : FragmentActivity(), BrowserController {
}
}

override fun isCurrentAlbum(albumController: AlbumController): Boolean =
currentAlbumController == albumController

override fun showAlbum(controller: AlbumController) {
if (currentAlbumController != null) {
if (currentAlbumController == controller) {
Expand Down Expand Up @@ -1581,7 +1585,7 @@ open class BrowserActivity : FragmentActivity(), BrowserController {
else IntentUnit.share(this, title, url)
}

ContextMenuItemType.CopyLink -> ShareUtil.copyToClipboard(this, url)
ContextMenuItemType.CopyLink -> ShareUtil.copyToClipboard(this, BrowserUnit.stripUrlQuery(url))
ContextMenuItemType.CopyText -> ShareUtil.copyToClipboard(this, title)
ContextMenuItemType.OpenWith -> HelperUnit.showBrowserChooser(
this,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ interface BrowserController {
fun updateProgress(progress: Int)
fun updateTitle(title: String?)
fun addNewTab(url: String)
fun isAtTop(): Boolean
fun isCurrentAlbum(albumController: AlbumController): Boolean
fun showAlbum(albumController: AlbumController)
fun removeAlbum(albumController: AlbumController)
fun removeAlbum()
Expand Down
13 changes: 11 additions & 2 deletions app/src/main/java/info/plateaukao/einkbro/view/Album.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,17 @@ data class Album(

var isActivated = false

fun show() {
browserController?.showAlbum(albumController)
fun showOrJumpToTop() {
val controller = browserController ?: return
if (controller.isCurrentAlbum(albumController)) {
if (controller.isAtTop()) {
controller.refreshAction()
} else {
controller.jumpToTop()
}
} else {
controller.showAlbum(albumController)
}
}

fun remove() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class MenuActionHandler(
activity.getString(R.string.menu_open_with)
)

MenuItemType.CopyLink -> ShareUtil.copyToClipboard(activity, ninjaWebView.url ?: "")
MenuItemType.CopyLink -> ShareUtil.copyToClipboard(activity, BrowserUnit.stripUrlQuery(ninjaWebView.url ?: ""))
MenuItemType.Shortcut -> HelperUnit.createShortcut(
activity,
ninjaWebView.title,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ class OverviewDialogController(
shouldShowTwoColumns = isWideLayout()
albumList = albumsState
onTabIconClick = { openHomePage() }
onTabClick = { hide(); it.show() }
onTabClick = { hide(); it.showOrJumpToTop() }
onTabLongClick = { it.remove() }

recordList = currentRecordList
Expand Down

0 comments on commit 9a2e362

Please sign in to comment.