@@ -47,8 +47,8 @@ import android.webkit.WebView
47
47
import android.webkit.WebView.FindListener
48
48
import android.widget.EditText
49
49
import android.widget.TextView
50
+ import androidx.view.isVisible
50
51
import androidx.view.postDelayed
51
- import androidx.view.updatePaddingRelative
52
52
import com.duckduckgo.app.bookmarks.ui.SaveBookmarkDialogFragment
53
53
import com.duckduckgo.app.browser.BrowserTabViewModel.*
54
54
import com.duckduckgo.app.browser.autoComplete.BrowserAutoCompleteSuggestionsAdapter
@@ -64,6 +64,7 @@ import com.duckduckgo.app.privacy.model.PrivacyGrade
64
64
import com.duckduckgo.app.privacy.renderer.icon
65
65
import dagger.android.support.AndroidSupportInjection
66
66
import kotlinx.android.synthetic.main.fragment_browser_tab.*
67
+ import kotlinx.android.synthetic.main.fragment_browser_tab.view.*
67
68
import kotlinx.android.synthetic.main.include_find_in_page.*
68
69
import kotlinx.android.synthetic.main.popup_window_browser_menu.view.*
69
70
import org.jetbrains.anko.longToast
@@ -117,12 +118,16 @@ class BrowserTabFragment : Fragment(), FindListener {
117
118
private val browserActivity
118
119
get() = activity as ? BrowserActivity
119
120
120
- private val privacyGradeMenu : MenuItem ?
121
- get() = toolbar.menu.findItem(R .id.privacyDashboard )
121
+ private val tabsButton : MenuItem ?
122
+ get() = toolbar.menu.findItem(R .id.tabs )
122
123
123
- private val fireMenu : MenuItem ?
124
+ private val fireMenuButton : MenuItem ?
124
125
get() = toolbar.menu.findItem(R .id.fire)
125
126
127
+ private val menuButton: MenuItem ?
128
+ get() = toolbar.menu.findItem(R .id.browserPopup)
129
+
130
+
126
131
private var webView: WebView ? = null
127
132
128
133
private val findInPageTextWatcher = object : TextChangedWatcher () {
@@ -181,7 +186,6 @@ class BrowserTabFragment : Fragment(), FindListener {
181
186
onMenuItemClicked(view.forwardPopupMenuItem) { webView?.goForward() }
182
187
onMenuItemClicked(view.backPopupMenuItem) { webView?.goBack() }
183
188
onMenuItemClicked(view.refreshPopupMenuItem) { webView?.reload() }
184
- onMenuItemClicked(view.tabsMenuItem) { browserActivity?.launchTabSwitcher() }
185
189
onMenuItemClicked(view.newTabPopupMenuItem) { browserActivity?.launchNewTab() }
186
190
onMenuItemClicked(view.bookmarksPopupMenuItem) { browserActivity?.launchBookmarks() }
187
191
onMenuItemClicked(view.addBookmarksPopupMenuItem) { addBookmark() }
@@ -338,15 +342,14 @@ class BrowserTabFragment : Fragment(), FindListener {
338
342
}
339
343
340
344
pageLoadingIndicator.progress = viewState.progress
341
-
342
- when (viewState.showClearButton) {
343
- true -> showClearButton()
344
- false -> hideClearButton()
345
- }
346
-
347
345
renderToolbarButtons(viewState)
348
346
renderPopupMenu(viewState)
349
347
348
+ when (viewState.isEditing) {
349
+ true -> omniBarContainer.setBackgroundResource(R .drawable.omnibar_editing_background)
350
+ false -> omniBarContainer.background = null
351
+ }
352
+
350
353
when (viewState.autoComplete.showSuggestions) {
351
354
false -> autoCompleteSuggestionsList.gone()
352
355
true -> {
@@ -367,8 +370,11 @@ class BrowserTabFragment : Fragment(), FindListener {
367
370
}
368
371
369
372
private fun renderToolbarButtons (viewState : ViewState ) {
370
- fireMenu?.isVisible = viewState.showFireButton
371
- privacyGradeMenu?.isVisible = viewState.showPrivacyGrade
373
+ privacyGradeButton?.isVisible = viewState.showPrivacyGrade
374
+ clearTextButton?.isVisible = viewState.showClearButton
375
+ tabsButton?.isVisible = viewState.showTabsButton
376
+ fireMenuButton?.isVisible = viewState.showFireButton
377
+ menuButton?.isVisible = viewState.showMenuButton
372
378
}
373
379
374
380
private fun renderPopupMenu (viewState : ViewState ) {
@@ -428,20 +434,6 @@ class BrowserTabFragment : Fragment(), FindListener {
428
434
activity?.toggleFullScreen()
429
435
}
430
436
431
- private fun showClearButton () {
432
- omnibarTextInput.post {
433
- clearOmnibarInputButton?.show()
434
- omnibarTextInput?.updatePaddingRelative(end = 40 .toPx())
435
- }
436
- }
437
-
438
- private fun hideClearButton () {
439
- omnibarTextInput.post {
440
- clearOmnibarInputButton?.hide()
441
- omnibarTextInput?.updatePaddingRelative(end = 10 .toPx())
442
- }
443
- }
444
-
445
437
private fun shouldUpdateOmnibarTextInput (viewState : ViewState , omnibarInput : String? ) =
446
438
! viewState.isEditing && omnibarTextInput.isDifferent(omnibarInput)
447
439
@@ -450,8 +442,8 @@ class BrowserTabFragment : Fragment(), FindListener {
450
442
451
443
toolbar.setOnMenuItemClickListener {
452
444
when (it.itemId) {
453
- R .id.privacyDashboard -> {
454
- browserActivity?.launchPrivacyDashboard ()
445
+ R .id.tabs -> {
446
+ browserActivity?.launchTabSwitcher ()
455
447
return @setOnMenuItemClickListener true
456
448
}
457
449
R .id.fire -> {
@@ -467,13 +459,18 @@ class BrowserTabFragment : Fragment(), FindListener {
467
459
}
468
460
}
469
461
462
+ toolbar.privacyGradeButton.setOnClickListener {
463
+ browserActivity?.launchPrivacyDashboard()
464
+ }
465
+
470
466
viewModel.viewState.value?.let {
471
467
renderToolbarButtons(it)
472
468
}
473
469
474
470
viewModel.privacyGrade.observe(this , Observer <PrivacyGrade > {
475
471
it?.let {
476
- privacyGradeMenu?.icon = context?.getDrawable(it.icon())
472
+ val drawable = context?.getDrawable(it.icon()) ? : return @let
473
+ privacyGradeButton?.setImageDrawable(drawable)
477
474
}
478
475
})
479
476
}
@@ -514,7 +511,7 @@ class BrowserTabFragment : Fragment(), FindListener {
514
511
false
515
512
})
516
513
517
- clearOmnibarInputButton .setOnClickListener { omnibarTextInput.setText(" " ) }
514
+ clearTextButton .setOnClickListener { omnibarTextInput.setText(" " ) }
518
515
}
519
516
520
517
private fun configureKeyboardAwareLogoAnimation () {
0 commit comments