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