diff --git a/quickstep/res/drawable/taskbar_divider_button_expressive_theme.xml b/quickstep/res/drawable/taskbar_divider_button_expressive_theme.xml
new file mode 100644
index 0000000000..7fc61fc4a7
--- /dev/null
+++ b/quickstep/res/drawable/taskbar_divider_button_expressive_theme.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml
index c74390ed58..a89a649087 100644
--- a/quickstep/res/values/dimens.xml
+++ b/quickstep/res/values/dimens.xml
@@ -363,6 +363,7 @@
48dp
32dp
6dp
+ 5.5dp
64dp
64dp
48dp
@@ -381,6 +382,7 @@
10dp
32dp
8dp
+ 8dp
400dp
8dp
16dp
diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarAllAppsButtonContainer.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarAllAppsButtonContainer.kt
index bb2acd6362..a1df21fa04 100644
--- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarAllAppsButtonContainer.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarAllAppsButtonContainer.kt
@@ -37,6 +37,7 @@ import com.android.launcher3.views.ActivityContext
import com.android.launcher3.views.IconButtonView
import com.android.quickstep.DeviceConfigWrapper
import com.android.quickstep.util.ContextualSearchStateManager
+import com.android.wm.shell.Flags
/** Taskbar all apps button container for customizable taskbar. */
class TaskbarAllAppsButtonContainer
@@ -97,14 +98,34 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
@DrawableRes
private fun getAllAppsButton(isTransientTaskbar: Boolean): Int {
+ if (Flags.enableGsf()) {
+ return getAllAppsButtonForExpressiveTheme()
+ }
val shouldSelectTransientIcon =
isTransientTaskbar || (enableTaskbarPinning() && !activityContext.isThreeButtonNav)
return if (shouldSelectTransientIcon) R.drawable.ic_transient_taskbar_all_apps_search_button
else R.drawable.ic_taskbar_all_apps_search_button
}
+ @DrawableRes
+ private fun getAllAppsButtonForExpressiveTheme(): Int {
+ return R.drawable.ic_taskbar_all_apps_search_button_expressive_theme
+ }
+
+ @DimenRes
+ fun getAllAppsButtonTranslationXOffsetForExpressiveTheme(isTransientTaskbar: Boolean): Int {
+ return if (isTransientTaskbar) {
+ R.dimen.transient_taskbar_all_apps_button_translation_x_offset_for_expressive_theme
+ } else {
+ R.dimen.taskbar_all_apps_search_button_translation_x_offset_for_expressive_theme
+ }
+ }
+
@DimenRes
fun getAllAppsButtonTranslationXOffset(isTransientTaskbar: Boolean): Int {
+ if (Flags.enableGsf()) {
+ return getAllAppsButtonTranslationXOffsetForExpressiveTheme(isTransientTaskbar)
+ }
return if (isTransientTaskbar) {
R.dimen.transient_taskbar_all_apps_button_translation_x_offset
} else {
diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarDividerContainer.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarDividerContainer.kt
index 060ce46619..08a1b48acf 100644
--- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarDividerContainer.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarDividerContainer.kt
@@ -20,6 +20,7 @@ import android.annotation.SuppressLint
import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Color.TRANSPARENT
+import android.graphics.drawable.Drawable
import android.util.AttributeSet
import androidx.core.view.setPadding
import com.android.launcher3.R
@@ -28,6 +29,7 @@ import com.android.launcher3.taskbar.TaskbarActivityContext
import com.android.launcher3.taskbar.TaskbarViewCallbacks
import com.android.launcher3.views.ActivityContext
import com.android.launcher3.views.IconButtonView
+import com.android.wm.shell.Flags
/** Taskbar divider view container for customizable taskbar. */
class TaskbarDividerContainer
@@ -46,16 +48,24 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
setUpIcon()
}
- @SuppressLint("UseCompatLoadingForDrawables")
fun setUpIcon() {
backgroundTintList = ColorStateList.valueOf(TRANSPARENT)
- val drawable = resources.getDrawable(R.drawable.taskbar_divider_button)
+ val drawable = getTaskbarDividerIcon()
setIconDrawable(drawable)
if (!activityContext.isTransientTaskbar) {
setPadding(dpToPx(activityContext.taskbarSpecsEvaluator.taskbarIconPadding.toFloat()))
}
}
+ @SuppressLint("UseCompatLoadingForDrawables")
+ fun getTaskbarDividerIcon(): Drawable {
+ return if (Flags.enableGsf()) {
+ resources.getDrawable(R.drawable.taskbar_divider_button_expressive_theme)
+ } else {
+ resources.getDrawable(R.drawable.taskbar_divider_button)
+ }
+ }
+
@SuppressLint("ClickableViewAccessibility")
fun setUpCallbacks(callbacks: TaskbarViewCallbacks) {
setOnLongClickListener(callbacks.taskbarDividerLongClickListener)
diff --git a/res/drawable/ic_taskbar_all_apps_search_button_expressive_theme.xml b/res/drawable/ic_taskbar_all_apps_search_button_expressive_theme.xml
new file mode 100644
index 0000000000..ed4a821c79
--- /dev/null
+++ b/res/drawable/ic_taskbar_all_apps_search_button_expressive_theme.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
\ No newline at end of file