From dc0d153580d8f9fc20d4ad1939401a37533cb418 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Tue, 4 Jun 2019 08:37:57 -0700 Subject: [PATCH] For #3008, For #2162 Add Simple Logic for Menu Orientation (#3114) * For #3008 - Adjust orientation of collections menu based on view location * For #2162 - Add simple menu orientation logic to bookmark menu --- .../sessioncontrol/viewholders/CollectionViewHolder.kt | 9 ++++++++- .../mozilla/fenix/library/bookmarks/BookmarkAdapter.kt | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/CollectionViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/CollectionViewHolder.kt index b7fa8abde..376433a61 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/CollectionViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/CollectionViewHolder.kt @@ -57,9 +57,16 @@ class CollectionViewHolder( collection_overflow_button.run { increaseTapArea(buttonIncreaseDps) setOnClickListener { + val location = IntArray(2) + it.getLocationInWindow(location) collectionMenu.menuBuilder .build(view.context) - .show(anchor = it, orientation = BrowserMenu.Orientation.DOWN) + .show( + anchor = it, + orientation = if (location[1] > (rootView.measuredHeight / 2)) + BrowserMenu.Orientation.UP else + BrowserMenu.Orientation.DOWN + ) } } diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt index 3628319f3..efb44b8b8 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt @@ -176,9 +176,13 @@ class BookmarkAdapter(val emptyView: View, val actionEmitter: Observer (it.rootView.measuredHeight / 2)) + BrowserMenu.Orientation.UP else + BrowserMenu.Orientation.DOWN ) } bookmark_title.text = if (item.title.isNullOrBlank()) item.url else item.title