Taskbar Icon changes

Test: Manual
Bug: 379158656
Flag: com.android.wm.shell.enable_gsf
Change-Id: Ic4ec9a7c634231c2592cfcd6ba6c8f8252c2dd98
This commit is contained in:
Jagrut Desai
2025-03-12 13:57:10 -07:00
parent bf31635e25
commit 4fe0b79fde
5 changed files with 90 additions and 2 deletions

View File

@@ -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 {

View File

@@ -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)