Add taskbarIconSize to GridOption/DisplayOptions
- Renamed variables to make it more clear what they represent
- DeviceProfile will be source of truth for taskbar
sizes
Bug: 265144213
Test: phone, multi-display, tablet
Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34
Flag: ENABLE_TRANSIENT_TASKBAR=true
diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java
index a498323..47396a5 100644
--- a/src/com/android/launcher3/InvariantDeviceProfile.java
+++ b/src/com/android/launcher3/InvariantDeviceProfile.java
@@ -149,6 +149,8 @@
public float[] allAppsIconTextSize;
public PointF[] allAppsBorderSpaces;
+ public float[] transientTaskbarIconSize;
+
private SparseArray<TypedValue> mExtraAttrs;
/**
@@ -396,6 +398,8 @@
inlineQsb = closestProfile.inlineQsb;
+ transientTaskbarIconSize = displayOption.transientTaskbarIconSize;
+
// If the partner customization apk contains any grid overrides, apply them
// Supported overrides: numRows, numColumns, iconSize
applyPartnerDeviceProfileOverrides(context, metrics);
@@ -908,9 +912,13 @@
private final float[] allAppsIconTextSizes = new float[COUNT_SIZES];
private final PointF[] allAppsBorderSpaces = new PointF[COUNT_SIZES];
+ private final float[] transientTaskbarIconSize = new float[COUNT_SIZES];
+
DisplayOption(GridOption grid, Context context, AttributeSet attrs) {
this.grid = grid;
+ Resources res = context.getResources();
+
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ProfileDisplayOption);
minWidthDps = a.getFloat(R.styleable.ProfileDisplayOption_minWidthDps, 0);
@@ -1101,8 +1109,7 @@
hotseatBarBottomSpace[INDEX_DEFAULT] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatBarBottomSpace,
- ResourcesCompat.getFloat(context.getResources(),
- R.dimen.hotseat_bar_bottom_space_default));
+ ResourcesCompat.getFloat(res, R.dimen.hotseat_bar_bottom_space_default));
hotseatBarBottomSpace[INDEX_LANDSCAPE] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatBarBottomSpaceLandscape,
hotseatBarBottomSpace[INDEX_DEFAULT]);
@@ -1115,8 +1122,7 @@
hotseatQsbSpace[INDEX_DEFAULT] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatQsbSpace,
- ResourcesCompat.getFloat(context.getResources(),
- R.dimen.hotseat_qsb_space_default));
+ ResourcesCompat.getFloat(res, R.dimen.hotseat_qsb_space_default));
hotseatQsbSpace[INDEX_LANDSCAPE] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatQsbSpaceLandscape,
hotseatQsbSpace[INDEX_DEFAULT]);
@@ -1127,6 +1133,19 @@
R.styleable.ProfileDisplayOption_hotseatQsbSpaceTwoPanelPortrait,
hotseatQsbSpace[INDEX_DEFAULT]);
+ transientTaskbarIconSize[INDEX_DEFAULT] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSize,
+ ResourcesCompat.getFloat(res, R.dimen.taskbar_icon_size));
+ transientTaskbarIconSize[INDEX_LANDSCAPE] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSizeLandscape,
+ transientTaskbarIconSize[INDEX_DEFAULT]);
+ transientTaskbarIconSize[INDEX_TWO_PANEL_LANDSCAPE] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSizeTwoPanelLandscape,
+ transientTaskbarIconSize[INDEX_DEFAULT]);
+ transientTaskbarIconSize[INDEX_TWO_PANEL_PORTRAIT] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSizeTwoPanelPortrait,
+ hotseatQsbSpace[INDEX_DEFAULT]);
+
a.recycle();
}
@@ -1148,6 +1167,7 @@
allAppsIconSizes[i] = 0;
allAppsIconTextSizes[i] = 0;
allAppsBorderSpaces[i] = new PointF();
+ transientTaskbarIconSize[i] = 0;
}
}
@@ -1168,6 +1188,7 @@
allAppsIconTextSizes[i] *= w;
allAppsBorderSpaces[i].x *= w;
allAppsBorderSpaces[i].y *= w;
+ transientTaskbarIconSize[i] *= w;
}
return this;
@@ -1190,6 +1211,7 @@
allAppsIconTextSizes[i] += p.allAppsIconTextSizes[i];
allAppsBorderSpaces[i].x += p.allAppsBorderSpaces[i].x;
allAppsBorderSpaces[i].y += p.allAppsBorderSpaces[i].y;
+ transientTaskbarIconSize[i] += p.transientTaskbarIconSize[i];
}
return this;