diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt index a05ab9c9fec3..b3cf2abff21d 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt @@ -17,8 +17,6 @@ package com.duckduckgo.app.browser import android.Manifest -import android.animation.Animator -import android.animation.AnimatorListenerAdapter import android.animation.LayoutTransition.CHANGING import android.animation.LayoutTransition.DISAPPEARING import android.annotation.SuppressLint @@ -44,7 +42,6 @@ import android.support.v4.content.pm.ShortcutManagerCompat import android.support.v7.app.AlertDialog import android.support.v7.widget.LinearLayoutManager import android.text.Editable -import android.text.Layout import android.view.* import android.view.View.VISIBLE import android.view.inputmethod.EditorInfo @@ -54,7 +51,6 @@ import android.webkit.WebSettings import android.webkit.WebView import android.webkit.WebView.FindListener import android.widget.EditText -import android.widget.FrameLayout import android.widget.TextView import androidx.core.view.isVisible import androidx.core.view.postDelayed @@ -385,6 +381,7 @@ class BrowserTabFragment : Fragment(), FindListener { } private fun openInNewBackgroundTab() { + appBarLayout.setExpanded(true, true) viewModel.tabs.removeObservers(this) val view = tabsButton?.actionView as TabSwitcherButton view.increment { diff --git a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt index 91ed254d0d3c..088902d31c17 100644 --- a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt +++ b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt @@ -25,7 +25,6 @@ import android.support.v7.widget.LinearLayoutManager import android.view.Menu import android.view.MenuItem import com.duckduckgo.app.browser.R -import com.duckduckgo.app.browser.WebDataManager import com.duckduckgo.app.global.DuckDuckGoActivity import com.duckduckgo.app.global.ViewModelFactory import com.duckduckgo.app.global.view.ClearPersonalDataAction @@ -106,6 +105,7 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherAdapter.TabSwitched when (item.itemId) { R.id.fire -> onFire() R.id.newTab -> onNewTabRequested() + R.id.closeAllTabs -> closeAllTabs() } return super.onOptionsItemSelected(item) } @@ -129,6 +129,12 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherAdapter.TabSwitched viewModel.onTabDeleted(tab) } + private fun closeAllTabs() { + viewModel.tabs.value?.forEach { + viewModel.onTabDeleted(it) + } + } + override fun finish() { clearObserversEarlyToStopViewUpdates() super.finish() diff --git a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherAdapter.kt b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherAdapter.kt index 0f2a8c23512e..05e4d37a1f17 100644 --- a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherAdapter.kt +++ b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherAdapter.kt @@ -76,7 +76,6 @@ class TabSwitcherAdapter(private val context: Context, private val itemClickList fun updateData(data: List?, selectedTab: TabEntity?) { data ?: return - selectedTab ?: return this.data = data this.selectedTab = selectedTab diff --git a/app/src/main/res/menu/menu_tab_switcher_activity.xml b/app/src/main/res/menu/menu_tab_switcher_activity.xml index c0e33701208b..a2108cbb2f39 100644 --- a/app/src/main/res/menu/menu_tab_switcher_activity.xml +++ b/app/src/main/res/menu/menu_tab_switcher_activity.xml @@ -15,18 +15,25 @@ --> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + tools:ignore="AlwaysShowAction"> + app:showAsAction="always" /> + app:showAsAction="always" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d4ab5c9ba071..fa85b0cbb62d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -83,6 +83,7 @@ Tap fire to forget everything + Close All Tabs Privacy Dashboard diff --git a/build.gradle b/build.gradle index d4953fb5438d..3a4e42858e14 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.0-rc01' + classpath 'com.android.tools.build:gradle:3.2.0-rc02' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong