1 /* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.android.launcher3.nonquickstep 17 18 import androidx.test.ext.junit.runners.AndroidJUnit4 19 import androidx.test.filters.SmallTest 20 import com.android.launcher3.AbstractDeviceProfileTest 21 import com.android.launcher3.DeviceProfile 22 import com.android.launcher3.InvariantDeviceProfile 23 import com.google.common.truth.Truth.assertThat 24 import java.io.PrintWriter 25 import java.io.StringWriter 26 import org.junit.Test 27 import org.junit.runner.RunWith 28 29 /** Tests for DeviceProfile. */ 30 @SmallTest 31 @RunWith(AndroidJUnit4::class) 32 class DeviceProfileDumpTest : AbstractDeviceProfileTest() { 33 34 @Test phonePortrait3Buttonnull35 fun phonePortrait3Button() { 36 initializeVarsForPhone(deviceSpecs["phone"]!!, isGestureMode = false) 37 val dp = getDeviceProfileForGrid("5_by_5") 38 39 assertThat(dump(dp)) 40 .isEqualTo( 41 "DeviceProfile:\n" + 42 "\t1 dp = 2.625 px\n" + 43 "\tisTablet:false\n" + 44 "\tisPhone:true\n" + 45 "\ttransposeLayoutWithOrientation:true\n" + 46 "\tisGestureMode:false\n" + 47 "\tisLandscape:false\n" + 48 "\tisMultiWindowMode:false\n" + 49 "\tisTwoPanels:false\n" + 50 "\twindowX: 0.0px (0.0dp)\n" + 51 "\twindowY: 0.0px (0.0dp)\n" + 52 "\twidthPx: 1080.0px (411.42856dp)\n" + 53 "\theightPx: 2400.0px (914.2857dp)\n" + 54 "\tavailableWidthPx: 1080.0px (411.42856dp)\n" + 55 "\tavailableHeightPx: 2156.0px (821.3333dp)\n" + 56 "\tmInsets.left: 0.0px (0.0dp)\n" + 57 "\tmInsets.top: 118.0px (44.95238dp)\n" + 58 "\tmInsets.right: 0.0px (0.0dp)\n" + 59 "\tmInsets.bottom: 126.0px (48.0dp)\n" + 60 "\taspectRatio:2.2222223\n" + 61 "\tisScalableGrid:false\n" + 62 "\tinv.numRows: 5\n" + 63 "\tinv.numColumns: 5\n" + 64 "\tinv.numSearchContainerColumns: 5\n" + 65 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 66 "\tcellWidthPx: 165.0px (62.857143dp)\n" + 67 "\tcellHeightPx: 235.0px (89.52381dp)\n" + 68 "\tgetCellSize().x: 207.0px (78.85714dp)\n" + 69 "\tgetCellSize().y: 379.0px (144.38095dp)\n" + 70 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 71 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 72 "\tcellLayoutPaddingPx.left: 21.0px (8.0dp)\n" + 73 "\tcellLayoutPaddingPx.top: 28.0px (10.666667dp)\n" + 74 "\tcellLayoutPaddingPx.right: 21.0px (8.0dp)\n" + 75 "\tcellLayoutPaddingPx.bottom: 28.0px (10.666667dp)\n" + 76 "\ticonSizePx: 147.0px (56.0dp)\n" + 77 "\ticonTextSizePx: 38.0px (14.476191dp)\n" + 78 "\ticonDrawablePaddingPx: 18.0px (6.857143dp)\n" + 79 "\tinv.numFolderRows: 4\n" + 80 "\tinv.numFolderColumns: 4\n" + 81 "\tfolderCellWidthPx: 195.0px (74.28571dp)\n" + 82 "\tfolderCellHeightPx: 230.0px (87.61905dp)\n" + 83 "\tfolderChildIconSizePx: 147.0px (56.0dp)\n" + 84 "\tfolderChildTextSizePx: 38.0px (14.476191dp)\n" + 85 "\tfolderChildDrawablePaddingPx: 10.0px (3.8095238dp)\n" + 86 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 87 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 88 "\tfolderTopPadding: 63.0px (24.0dp)\n" + 89 "\tfolderFooterHeight: 147.0px (56.0dp)\n" + 90 "\tbottomSheetTopPadding: 146.0px (55.61905dp)\n" + 91 "\tbottomSheetOpenDuration: 267\n" + 92 "\tbottomSheetCloseDuration: 267\n" + 93 "\tbottomSheetWorkspaceScale: 1.0\n" + 94 "\tbottomSheetDepth: 0.0\n" + 95 "\tallAppsShiftRange: 788.0px (300.1905dp)\n" + 96 "\tallAppsTopPadding: 0.0px (0.0dp)\n" + 97 "\tallAppsOpenDuration: 600\n" + 98 "\tallAppsCloseDuration: 300\n" + 99 "\tallAppsIconSizePx: 147.0px (56.0dp)\n" + 100 "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" + 101 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 102 "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" + 103 "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" + 104 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 105 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 106 "\tnumShownAllAppsColumns: 5\n" + 107 "\tallAppsLeftRightPadding: 21.0px (8.0dp)\n" + 108 "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" + 109 "\thotseatBarSizePx: 294.0px (112.0dp)\n" + 110 "\tinv.hotseatColumnSpan: 5\n" + 111 "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" + 112 "\thotseatBarBottomSpacePx: 147.0px (56.0dp)\n" + 113 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 114 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 115 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 116 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 117 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 118 "\tspringLoadedHotseatBarTopMarginPx: 200.0px (76.190475dp)\n" + 119 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 120 "\tgetHotseatLayoutPadding(context).bottom: 128.0px (48.761906dp)\n" + 121 "\tgetHotseatLayoutPadding(context).left: 21.0px (8.0dp)\n" + 122 "\tgetHotseatLayoutPadding(context).right: 21.0px (8.0dp)\n" + 123 "\tnumShownHotseatIcons: 5\n" + 124 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 125 "\tisQsbInline: false\n" + 126 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 127 "\tisTaskbarPresent:false\n" + 128 "\tisTaskbarPresentInApps:false\n" + 129 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 130 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 131 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 132 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 133 "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" + 134 "\tworkspacePadding.left: 0.0px (0.0dp)\n" + 135 "\tworkspacePadding.top: 0.0px (0.0dp)\n" + 136 "\tworkspacePadding.right: 0.0px (0.0dp)\n" + 137 "\tworkspacePadding.bottom: 203.0px (77.333336dp)\n" + 138 "\ticonScale: 1.0px (0.3809524dp)\n" + 139 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 140 "\textraSpace: 722.0px (275.0476dp)\n" + 141 "\tunscaled extraSpace: 722.0px (275.0476dp)\n" + 142 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 143 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 144 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 145 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 146 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 147 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 148 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 149 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 150 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 151 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 152 "\toverviewActionsClaimedSpaceBelow: 126.0px (48.0dp)\n" + 153 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 154 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 155 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 156 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 157 "\tdropTargetBarTopMarginPx: 84.0px (32.0dp)\n" + 158 "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" + 159 "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" + 160 "\tgetCellLayoutSpringLoadShrunkTop(): 391.0px (148.95238dp)\n" + 161 "\tgetCellLayoutSpringLoadShrunkBottom(): 1906.0px (726.0952dp)\n" + 162 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 163 "\tgetWorkspaceSpringLoadScale(): 0.77572966px (0.29551607dp)\n" + 164 "\tgetCellLayoutHeight(): 1953.0px (744.0dp)\n" + 165 "\tgetCellLayoutWidth(): 1080.0px (411.42856dp)\n" 166 ) 167 } 168 169 @Test phonePortraitnull170 fun phonePortrait() { 171 initializeVarsForPhone(deviceSpecs["phone"]!!) 172 val dp = getDeviceProfileForGrid("5_by_5") 173 174 assertThat(dump(dp)) 175 .isEqualTo( 176 "DeviceProfile:\n" + 177 "\t1 dp = 2.625 px\n" + 178 "\tisTablet:false\n" + 179 "\tisPhone:true\n" + 180 "\ttransposeLayoutWithOrientation:true\n" + 181 "\tisGestureMode:true\n" + 182 "\tisLandscape:false\n" + 183 "\tisMultiWindowMode:false\n" + 184 "\tisTwoPanels:false\n" + 185 "\twindowX: 0.0px (0.0dp)\n" + 186 "\twindowY: 0.0px (0.0dp)\n" + 187 "\twidthPx: 1080.0px (411.42856dp)\n" + 188 "\theightPx: 2400.0px (914.2857dp)\n" + 189 "\tavailableWidthPx: 1080.0px (411.42856dp)\n" + 190 "\tavailableHeightPx: 2219.0px (845.3333dp)\n" + 191 "\tmInsets.left: 0.0px (0.0dp)\n" + 192 "\tmInsets.top: 118.0px (44.95238dp)\n" + 193 "\tmInsets.right: 0.0px (0.0dp)\n" + 194 "\tmInsets.bottom: 63.0px (24.0dp)\n" + 195 "\taspectRatio:2.2222223\n" + 196 "\tisScalableGrid:false\n" + 197 "\tinv.numRows: 5\n" + 198 "\tinv.numColumns: 5\n" + 199 "\tinv.numSearchContainerColumns: 5\n" + 200 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 201 "\tcellWidthPx: 165.0px (62.857143dp)\n" + 202 "\tcellHeightPx: 235.0px (89.52381dp)\n" + 203 "\tgetCellSize().x: 207.0px (78.85714dp)\n" + 204 "\tgetCellSize().y: 383.0px (145.90475dp)\n" + 205 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 206 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 207 "\tcellLayoutPaddingPx.left: 21.0px (8.0dp)\n" + 208 "\tcellLayoutPaddingPx.top: 28.0px (10.666667dp)\n" + 209 "\tcellLayoutPaddingPx.right: 21.0px (8.0dp)\n" + 210 "\tcellLayoutPaddingPx.bottom: 28.0px (10.666667dp)\n" + 211 "\ticonSizePx: 147.0px (56.0dp)\n" + 212 "\ticonTextSizePx: 38.0px (14.476191dp)\n" + 213 "\ticonDrawablePaddingPx: 18.0px (6.857143dp)\n" + 214 "\tinv.numFolderRows: 4\n" + 215 "\tinv.numFolderColumns: 4\n" + 216 "\tfolderCellWidthPx: 195.0px (74.28571dp)\n" + 217 "\tfolderCellHeightPx: 230.0px (87.61905dp)\n" + 218 "\tfolderChildIconSizePx: 147.0px (56.0dp)\n" + 219 "\tfolderChildTextSizePx: 38.0px (14.476191dp)\n" + 220 "\tfolderChildDrawablePaddingPx: 10.0px (3.8095238dp)\n" + 221 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 222 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 223 "\tfolderTopPadding: 63.0px (24.0dp)\n" + 224 "\tfolderFooterHeight: 147.0px (56.0dp)\n" + 225 "\tbottomSheetTopPadding: 146.0px (55.61905dp)\n" + 226 "\tbottomSheetOpenDuration: 267\n" + 227 "\tbottomSheetCloseDuration: 267\n" + 228 "\tbottomSheetWorkspaceScale: 1.0\n" + 229 "\tbottomSheetDepth: 0.0\n" + 230 "\tallAppsShiftRange: 788.0px (300.1905dp)\n" + 231 "\tallAppsTopPadding: 0.0px (0.0dp)\n" + 232 "\tallAppsOpenDuration: 600\n" + 233 "\tallAppsCloseDuration: 300\n" + 234 "\tallAppsIconSizePx: 147.0px (56.0dp)\n" + 235 "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" + 236 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 237 "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" + 238 "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" + 239 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 240 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 241 "\tnumShownAllAppsColumns: 5\n" + 242 "\tallAppsLeftRightPadding: 21.0px (8.0dp)\n" + 243 "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" + 244 "\thotseatBarSizePx: 273.0px (104.0dp)\n" + 245 "\tinv.hotseatColumnSpan: 5\n" + 246 "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" + 247 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 248 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 249 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 250 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 251 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 252 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 253 "\tspringLoadedHotseatBarTopMarginPx: 200.0px (76.190475dp)\n" + 254 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 255 "\tgetHotseatLayoutPadding(context).bottom: 107.0px (40.761906dp)\n" + 256 "\tgetHotseatLayoutPadding(context).left: 21.0px (8.0dp)\n" + 257 "\tgetHotseatLayoutPadding(context).right: 21.0px (8.0dp)\n" + 258 "\tnumShownHotseatIcons: 5\n" + 259 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 260 "\tisQsbInline: false\n" + 261 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 262 "\tisTaskbarPresent:false\n" + 263 "\tisTaskbarPresentInApps:false\n" + 264 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 265 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 266 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 267 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 268 "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" + 269 "\tworkspacePadding.left: 0.0px (0.0dp)\n" + 270 "\tworkspacePadding.top: 0.0px (0.0dp)\n" + 271 "\tworkspacePadding.right: 0.0px (0.0dp)\n" + 272 "\tworkspacePadding.bottom: 245.0px (93.333336dp)\n" + 273 "\ticonScale: 1.0px (0.3809524dp)\n" + 274 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 275 "\textraSpace: 743.0px (283.0476dp)\n" + 276 "\tunscaled extraSpace: 743.0px (283.0476dp)\n" + 277 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 278 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 279 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 280 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 281 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 282 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 283 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 284 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 285 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 286 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 287 "\toverviewActionsClaimedSpaceBelow: 63.0px (24.0dp)\n" + 288 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 289 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 290 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 291 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 292 "\tdropTargetBarTopMarginPx: 84.0px (32.0dp)\n" + 293 "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" + 294 "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" + 295 "\tgetCellLayoutSpringLoadShrunkTop(): 391.0px (148.95238dp)\n" + 296 "\tgetCellLayoutSpringLoadShrunkBottom(): 1927.0px (734.0952dp)\n" + 297 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 298 "\tgetWorkspaceSpringLoadScale(): 0.7781155px (0.29642496dp)\n" + 299 "\tgetCellLayoutHeight(): 1974.0px (752.0dp)\n" + 300 "\tgetCellLayoutWidth(): 1080.0px (411.42856dp)\n" 301 ) 302 } 303 304 @Test phoneVerticalBar3Buttonnull305 fun phoneVerticalBar3Button() { 306 initializeVarsForPhone(deviceSpecs["phone"]!!, isVerticalBar = true, isGestureMode = false) 307 val dp = getDeviceProfileForGrid("5_by_5") 308 309 assertThat(dump(dp)) 310 .isEqualTo( 311 "DeviceProfile:\n" + 312 "\t1 dp = 2.625 px\n" + 313 "\tisTablet:false\n" + 314 "\tisPhone:true\n" + 315 "\ttransposeLayoutWithOrientation:true\n" + 316 "\tisGestureMode:false\n" + 317 "\tisLandscape:true\n" + 318 "\tisMultiWindowMode:false\n" + 319 "\tisTwoPanels:false\n" + 320 "\twindowX: 0.0px (0.0dp)\n" + 321 "\twindowY: 0.0px (0.0dp)\n" + 322 "\twidthPx: 2400.0px (914.2857dp)\n" + 323 "\theightPx: 1080.0px (411.42856dp)\n" + 324 "\tavailableWidthPx: 2156.0px (821.3333dp)\n" + 325 "\tavailableHeightPx: 1006.0px (383.2381dp)\n" + 326 "\tmInsets.left: 118.0px (44.95238dp)\n" + 327 "\tmInsets.top: 74.0px (28.190475dp)\n" + 328 "\tmInsets.right: 126.0px (48.0dp)\n" + 329 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 330 "\taspectRatio:2.2222223\n" + 331 "\tisScalableGrid:false\n" + 332 "\tinv.numRows: 5\n" + 333 "\tinv.numColumns: 5\n" + 334 "\tinv.numSearchContainerColumns: 5\n" + 335 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 336 "\tcellWidthPx: 158.0px (60.190475dp)\n" + 337 "\tcellHeightPx: 166.0px (63.238094dp)\n" + 338 "\tgetCellSize().x: 368.0px (140.19048dp)\n" + 339 "\tgetCellSize().y: 193.0px (73.52381dp)\n" + 340 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 341 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 342 "\tcellLayoutPaddingPx.left: 53.0px (20.190475dp)\n" + 343 "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" + 344 "\tcellLayoutPaddingPx.right: 53.0px (20.190475dp)\n" + 345 "\tcellLayoutPaddingPx.bottom: 40.0px (15.238095dp)\n" + 346 "\ticonSizePx: 147.0px (56.0dp)\n" + 347 "\ticonTextSizePx: 0.0px (0.0dp)\n" + 348 "\ticonDrawablePaddingPx: 0.0px (0.0dp)\n" + 349 "\tinv.numFolderRows: 4\n" + 350 "\tinv.numFolderColumns: 4\n" + 351 "\tfolderCellWidthPx: 173.0px (65.90476dp)\n" + 352 "\tfolderCellHeightPx: 205.0px (78.09524dp)\n" + 353 "\tfolderChildIconSizePx: 131.0px (49.904762dp)\n" + 354 "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" + 355 "\tfolderChildDrawablePaddingPx: 9.0px (3.4285715dp)\n" + 356 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 357 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 358 "\tfolderTopPadding: 56.0px (21.333334dp)\n" + 359 "\tfolderFooterHeight: 131.0px (49.904762dp)\n" + 360 "\tbottomSheetTopPadding: 114.0px (43.42857dp)\n" + 361 "\tbottomSheetOpenDuration: 267\n" + 362 "\tbottomSheetCloseDuration: 267\n" + 363 "\tbottomSheetWorkspaceScale: 1.0\n" + 364 "\tbottomSheetDepth: 0.0\n" + 365 "\tallAppsShiftRange: 788.0px (300.1905dp)\n" + 366 "\tallAppsTopPadding: 0.0px (0.0dp)\n" + 367 "\tallAppsOpenDuration: 600\n" + 368 "\tallAppsCloseDuration: 300\n" + 369 "\tallAppsIconSizePx: 147.0px (56.0dp)\n" + 370 "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" + 371 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 372 "\tallAppsCellHeightPx: 321.0px (122.28571dp)\n" + 373 "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" + 374 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 375 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 376 "\tnumShownAllAppsColumns: 5\n" + 377 "\tallAppsLeftRightPadding: 0.0px (0.0dp)\n" + 378 "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" + 379 "\thotseatBarSizePx: 252.0px (96.0dp)\n" + 380 "\tinv.hotseatColumnSpan: 5\n" + 381 "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" + 382 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 383 "\thotseatBarSidePaddingStartPx: 63.0px (24.0dp)\n" + 384 "\thotseatBarSidePaddingEndPx: 42.0px (16.0dp)\n" + 385 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 386 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 387 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 388 "\tspringLoadedHotseatBarTopMarginPx: 118.0px (44.95238dp)\n" + 389 "\tgetHotseatLayoutPadding(context).top: 64.0px (24.380953dp)\n" + 390 "\tgetHotseatLayoutPadding(context).bottom: 49.0px (18.666666dp)\n" + 391 "\tgetHotseatLayoutPadding(context).left: 42.0px (16.0dp)\n" + 392 "\tgetHotseatLayoutPadding(context).right: 189.0px (72.0dp)\n" + 393 "\tnumShownHotseatIcons: 5\n" + 394 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 395 "\tisQsbInline: false\n" + 396 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 397 "\tisTaskbarPresent:false\n" + 398 "\tisTaskbarPresentInApps:false\n" + 399 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 400 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 401 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 402 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 403 "\tdesiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)\n" + 404 "\tworkspacePadding.left: 10.0px (3.8095238dp)\n" + 405 "\tworkspacePadding.top: 0.0px (0.0dp)\n" + 406 "\tworkspacePadding.right: 199.0px (75.809525dp)\n" + 407 "\tworkspacePadding.bottom: 0.0px (0.0dp)\n" + 408 "\ticonScale: 1.0px (0.3809524dp)\n" + 409 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 410 "\textraSpace: 136.0px (51.809525dp)\n" + 411 "\tunscaled extraSpace: 136.0px (51.809525dp)\n" + 412 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 413 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 414 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 415 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 416 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 417 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 418 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 419 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 420 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 421 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 422 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 423 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 424 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 425 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 426 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 427 "\tdropTargetBarTopMarginPx: 16.0px (6.095238dp)\n" + 428 "\tdropTargetBarSizePx: 95.0px (36.190475dp)\n" + 429 "\tdropTargetBarBottomMarginPx: 16.0px (6.095238dp)\n" + 430 "\tgetCellLayoutSpringLoadShrunkTop(): 201.0px (76.57143dp)\n" + 431 "\tgetCellLayoutSpringLoadShrunkBottom(): 1008.0px (384.0dp)\n" + 432 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 433 "\tgetWorkspaceSpringLoadScale(): 0.8021869px (0.305595dp)\n" + 434 "\tgetCellLayoutHeight(): 1006.0px (383.2381dp)\n" + 435 "\tgetCellLayoutWidth(): 1947.0px (741.7143dp)\n" 436 ) 437 } 438 439 @Test phoneVerticalBarnull440 fun phoneVerticalBar() { 441 initializeVarsForPhone(deviceSpecs["phone"]!!, isVerticalBar = true) 442 val dp = getDeviceProfileForGrid("5_by_5") 443 444 assertThat(dump(dp)) 445 .isEqualTo( 446 "DeviceProfile:\n" + 447 "\t1 dp = 2.625 px\n" + 448 "\tisTablet:false\n" + 449 "\tisPhone:true\n" + 450 "\ttransposeLayoutWithOrientation:true\n" + 451 "\tisGestureMode:true\n" + 452 "\tisLandscape:true\n" + 453 "\tisMultiWindowMode:false\n" + 454 "\tisTwoPanels:false\n" + 455 "\twindowX: 0.0px (0.0dp)\n" + 456 "\twindowY: 0.0px (0.0dp)\n" + 457 "\twidthPx: 2400.0px (914.2857dp)\n" + 458 "\theightPx: 1080.0px (411.42856dp)\n" + 459 "\tavailableWidthPx: 2282.0px (869.3333dp)\n" + 460 "\tavailableHeightPx: 943.0px (359.2381dp)\n" + 461 "\tmInsets.left: 118.0px (44.95238dp)\n" + 462 "\tmInsets.top: 74.0px (28.190475dp)\n" + 463 "\tmInsets.right: 0.0px (0.0dp)\n" + 464 "\tmInsets.bottom: 63.0px (24.0dp)\n" + 465 "\taspectRatio:2.2222223\n" + 466 "\tisScalableGrid:false\n" + 467 "\tinv.numRows: 5\n" + 468 "\tinv.numColumns: 5\n" + 469 "\tinv.numSearchContainerColumns: 5\n" + 470 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 471 "\tcellWidthPx: 158.0px (60.190475dp)\n" + 472 "\tcellHeightPx: 166.0px (63.238094dp)\n" + 473 "\tgetCellSize().x: 393.0px (149.71428dp)\n" + 474 "\tgetCellSize().y: 180.0px (68.57143dp)\n" + 475 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 476 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 477 "\tcellLayoutPaddingPx.left: 53.0px (20.190475dp)\n" + 478 "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" + 479 "\tcellLayoutPaddingPx.right: 53.0px (20.190475dp)\n" + 480 "\tcellLayoutPaddingPx.bottom: 40.0px (15.238095dp)\n" + 481 "\ticonSizePx: 147.0px (56.0dp)\n" + 482 "\ticonTextSizePx: 0.0px (0.0dp)\n" + 483 "\ticonDrawablePaddingPx: 0.0px (0.0dp)\n" + 484 "\tinv.numFolderRows: 4\n" + 485 "\tinv.numFolderColumns: 4\n" + 486 "\tfolderCellWidthPx: 163.0px (62.095238dp)\n" + 487 "\tfolderCellHeightPx: 192.0px (73.14286dp)\n" + 488 "\tfolderChildIconSizePx: 123.0px (46.857143dp)\n" + 489 "\tfolderChildTextSizePx: 32.0px (12.190476dp)\n" + 490 "\tfolderChildDrawablePaddingPx: 8.0px (3.047619dp)\n" + 491 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 492 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 493 "\tfolderTopPadding: 53.0px (20.190475dp)\n" + 494 "\tfolderFooterHeight: 123.0px (46.857143dp)\n" + 495 "\tbottomSheetTopPadding: 114.0px (43.42857dp)\n" + 496 "\tbottomSheetOpenDuration: 267\n" + 497 "\tbottomSheetCloseDuration: 267\n" + 498 "\tbottomSheetWorkspaceScale: 1.0\n" + 499 "\tbottomSheetDepth: 0.0\n" + 500 "\tallAppsShiftRange: 788.0px (300.1905dp)\n" + 501 "\tallAppsTopPadding: 0.0px (0.0dp)\n" + 502 "\tallAppsOpenDuration: 600\n" + 503 "\tallAppsCloseDuration: 300\n" + 504 "\tallAppsIconSizePx: 147.0px (56.0dp)\n" + 505 "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" + 506 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 507 "\tallAppsCellHeightPx: 321.0px (122.28571dp)\n" + 508 "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" + 509 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 510 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 511 "\tnumShownAllAppsColumns: 5\n" + 512 "\tallAppsLeftRightPadding: 0.0px (0.0dp)\n" + 513 "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" + 514 "\thotseatBarSizePx: 252.0px (96.0dp)\n" + 515 "\tinv.hotseatColumnSpan: 5\n" + 516 "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" + 517 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 518 "\thotseatBarSidePaddingStartPx: 63.0px (24.0dp)\n" + 519 "\thotseatBarSidePaddingEndPx: 42.0px (16.0dp)\n" + 520 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 521 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 522 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 523 "\tspringLoadedHotseatBarTopMarginPx: 118.0px (44.95238dp)\n" + 524 "\tgetHotseatLayoutPadding(context).top: 64.0px (24.380953dp)\n" + 525 "\tgetHotseatLayoutPadding(context).bottom: 112.0px (42.666668dp)\n" + 526 "\tgetHotseatLayoutPadding(context).left: 42.0px (16.0dp)\n" + 527 "\tgetHotseatLayoutPadding(context).right: 63.0px (24.0dp)\n" + 528 "\tnumShownHotseatIcons: 5\n" + 529 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 530 "\tisQsbInline: false\n" + 531 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 532 "\tisTaskbarPresent:false\n" + 533 "\tisTaskbarPresentInApps:false\n" + 534 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 535 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 536 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 537 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 538 "\tdesiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)\n" + 539 "\tworkspacePadding.left: 10.0px (3.8095238dp)\n" + 540 "\tworkspacePadding.top: 0.0px (0.0dp)\n" + 541 "\tworkspacePadding.right: 199.0px (75.809525dp)\n" + 542 "\tworkspacePadding.bottom: 0.0px (0.0dp)\n" + 543 "\ticonScale: 1.0px (0.3809524dp)\n" + 544 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 545 "\textraSpace: 73.0px (27.809525dp)\n" + 546 "\tunscaled extraSpace: 73.0px (27.809525dp)\n" + 547 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 548 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 549 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 550 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 551 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 552 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 553 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 554 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 555 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 556 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 557 "\toverviewActionsClaimedSpaceBelow: 63.0px (24.0dp)\n" + 558 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 559 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 560 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 561 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 562 "\tdropTargetBarTopMarginPx: 16.0px (6.095238dp)\n" + 563 "\tdropTargetBarSizePx: 95.0px (36.190475dp)\n" + 564 "\tdropTargetBarBottomMarginPx: 16.0px (6.095238dp)\n" + 565 "\tgetCellLayoutSpringLoadShrunkTop(): 201.0px (76.57143dp)\n" + 566 "\tgetCellLayoutSpringLoadShrunkBottom(): 952.0px (362.66666dp)\n" + 567 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 568 "\tgetWorkspaceSpringLoadScale(): 0.79639447px (0.30338836dp)\n" + 569 "\tgetCellLayoutHeight(): 943.0px (359.2381dp)\n" + 570 "\tgetCellLayoutWidth(): 2073.0px (789.7143dp)\n" 571 ) 572 } 573 574 @Test tabletLandscape3Buttonnull575 fun tabletLandscape3Button() { 576 initializeVarsForTablet(deviceSpecs["tablet"]!!, isLandscape = true, isGestureMode = false) 577 val dp = getDeviceProfileForGrid("6_by_5") 578 dp.isTaskbarPresentInApps = true 579 580 assertThat(dump(dp)) 581 .isEqualTo( 582 "DeviceProfile:\n" + 583 "\t1 dp = 2.0 px\n" + 584 "\tisTablet:true\n" + 585 "\tisPhone:false\n" + 586 "\ttransposeLayoutWithOrientation:false\n" + 587 "\tisGestureMode:false\n" + 588 "\tisLandscape:true\n" + 589 "\tisMultiWindowMode:false\n" + 590 "\tisTwoPanels:false\n" + 591 "\twindowX: 0.0px (0.0dp)\n" + 592 "\twindowY: 0.0px (0.0dp)\n" + 593 "\twidthPx: 2560.0px (1280.0dp)\n" + 594 "\theightPx: 1600.0px (800.0dp)\n" + 595 "\tavailableWidthPx: 2560.0px (1280.0dp)\n" + 596 "\tavailableHeightPx: 1496.0px (748.0dp)\n" + 597 "\tmInsets.left: 0.0px (0.0dp)\n" + 598 "\tmInsets.top: 104.0px (52.0dp)\n" + 599 "\tmInsets.right: 0.0px (0.0dp)\n" + 600 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 601 "\taspectRatio:1.6\n" + 602 "\tisScalableGrid:true\n" + 603 "\tinv.numRows: 5\n" + 604 "\tinv.numColumns: 6\n" + 605 "\tinv.numSearchContainerColumns: 3\n" + 606 "\tminCellSize: PointF(120.0, 104.0)dp\n" + 607 "\tcellWidthPx: 240.0px (120.0dp)\n" + 608 "\tcellHeightPx: 208.0px (104.0dp)\n" + 609 "\tgetCellSize().x: 240.0px (120.0dp)\n" + 610 "\tgetCellSize().y: 208.0px (104.0dp)\n" + 611 "\tcellLayoutBorderSpacePx Horizontal: 128.0px (64.0dp)\n" + 612 "\tcellLayoutBorderSpacePx Vertical: 32.0px (16.0dp)\n" + 613 "\tcellLayoutPaddingPx.left: 59.0px (29.5dp)\n" + 614 "\tcellLayoutPaddingPx.top: 25.0px (12.5dp)\n" + 615 "\tcellLayoutPaddingPx.right: 59.0px (29.5dp)\n" + 616 "\tcellLayoutPaddingPx.bottom: 59.0px (29.5dp)\n" + 617 "\ticonSizePx: 120.0px (60.0dp)\n" + 618 "\ticonTextSizePx: 28.0px (14.0dp)\n" + 619 "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" + 620 "\tinv.numFolderRows: 3\n" + 621 "\tinv.numFolderColumns: 3\n" + 622 "\tfolderCellWidthPx: 240.0px (120.0dp)\n" + 623 "\tfolderCellHeightPx: 208.0px (104.0dp)\n" + 624 "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" + 625 "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" + 626 "\tfolderChildDrawablePaddingPx: 16.0px (8.0dp)\n" + 627 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 628 "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" + 629 "\tfolderTopPadding: 48.0px (24.0dp)\n" + 630 "\tfolderFooterHeight: 112.0px (56.0dp)\n" + 631 "\tbottomSheetTopPadding: 104.0px (52.0dp)\n" + 632 "\tbottomSheetOpenDuration: 500\n" + 633 "\tbottomSheetCloseDuration: 500\n" + 634 "\tbottomSheetWorkspaceScale: 0.97\n" + 635 "\tbottomSheetDepth: 0.0\n" + 636 "\tallAppsShiftRange: 1496.0px (748.0dp)\n" + 637 "\tallAppsTopPadding: 104.0px (52.0dp)\n" + 638 "\tallAppsOpenDuration: 500\n" + 639 "\tallAppsCloseDuration: 500\n" + 640 "\tallAppsIconSizePx: 120.0px (60.0dp)\n" + 641 "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" + 642 "\tallAppsIconDrawablePaddingPx: 14.0px (7.0dp)\n" + 643 "\tallAppsCellHeightPx: 284.0px (142.0dp)\n" + 644 "\tallAppsCellWidthPx: 252.0px (126.0dp)\n" + 645 "\tallAppsBorderSpacePxX: 32.0px (16.0dp)\n" + 646 "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" + 647 "\tnumShownAllAppsColumns: 6\n" + 648 "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" + 649 "\tallAppsLeftRightMargin: 412.0px (206.0dp)\n" + 650 "\thotseatBarSizePx: 200.0px (100.0dp)\n" + 651 "\tinv.hotseatColumnSpan: 4\n" + 652 "\thotseatCellHeightPx: 135.0px (67.5dp)\n" + 653 "\thotseatBarBottomSpacePx: 80.0px (40.0dp)\n" + 654 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 655 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 656 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 657 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 658 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 659 "\tspringLoadedHotseatBarTopMarginPx: 128.0px (64.0dp)\n" + 660 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 661 "\tgetHotseatLayoutPadding(context).bottom: 65.0px (32.5dp)\n" + 662 "\tgetHotseatLayoutPadding(context).left: 668.0px (334.0dp)\n" + 663 "\tgetHotseatLayoutPadding(context).right: 668.0px (334.0dp)\n" + 664 "\tnumShownHotseatIcons: 6\n" + 665 "\thotseatBorderSpace: 100.0px (50.0dp)\n" + 666 "\tisQsbInline: false\n" + 667 "\thotseatQsbWidth: 1224.0px (612.0dp)\n" + 668 "\tisTaskbarPresent:false\n" + 669 "\tisTaskbarPresentInApps:true\n" + 670 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 671 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 672 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 673 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 674 "\tdesiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)\n" + 675 "\tworkspacePadding.left: 181.0px (90.5dp)\n" + 676 "\tworkspacePadding.top: 0.0px (0.0dp)\n" + 677 "\tworkspacePadding.right: 181.0px (90.5dp)\n" + 678 "\tworkspacePadding.bottom: 244.0px (122.0dp)\n" + 679 "\ticonScale: 1.0px (0.5dp)\n" + 680 "\tcellScaleToFit : 1.0px (0.5dp)\n" + 681 "\textraSpace: 80.0px (40.0dp)\n" + 682 "\tunscaled extraSpace: 80.0px (40.0dp)\n" + 683 "\tmaxEmptySpace: 200.0px (100.0dp)\n" + 684 "\tworkspaceTopPadding: 25.0px (12.5dp)\n" + 685 "\tworkspaceBottomPadding: 55.0px (27.5dp)\n" + 686 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 687 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 688 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 689 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 690 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 691 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 692 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 693 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 694 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 695 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 696 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 697 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 698 "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" + 699 "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" + 700 "\tdropTargetBarBottomMarginPx: 64.0px (32.0dp)\n" + 701 "\tgetCellLayoutSpringLoadShrunkTop(): 312.0px (156.0dp)\n" + 702 "\tgetCellLayoutSpringLoadShrunkBottom(): 1272.0px (636.0dp)\n" + 703 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" + 704 "\tgetWorkspaceSpringLoadScale(): 0.76677316px (0.38338658dp)\n" + 705 "\tgetCellLayoutHeight(): 1252.0px (626.0dp)\n" + 706 "\tgetCellLayoutWidth(): 2198.0px (1099.0dp)\n" 707 ) 708 } 709 710 @Test tabletLandscapenull711 fun tabletLandscape() { 712 initializeVarsForTablet(deviceSpecs["tablet"]!!, isLandscape = true) 713 val dp = getDeviceProfileForGrid("6_by_5") 714 dp.isTaskbarPresentInApps = true 715 716 assertThat(dump(dp)) 717 .isEqualTo( 718 "DeviceProfile:\n" + 719 "\t1 dp = 2.0 px\n" + 720 "\tisTablet:true\n" + 721 "\tisPhone:false\n" + 722 "\ttransposeLayoutWithOrientation:false\n" + 723 "\tisGestureMode:true\n" + 724 "\tisLandscape:true\n" + 725 "\tisMultiWindowMode:false\n" + 726 "\tisTwoPanels:false\n" + 727 "\twindowX: 0.0px (0.0dp)\n" + 728 "\twindowY: 0.0px (0.0dp)\n" + 729 "\twidthPx: 2560.0px (1280.0dp)\n" + 730 "\theightPx: 1600.0px (800.0dp)\n" + 731 "\tavailableWidthPx: 2560.0px (1280.0dp)\n" + 732 "\tavailableHeightPx: 1496.0px (748.0dp)\n" + 733 "\tmInsets.left: 0.0px (0.0dp)\n" + 734 "\tmInsets.top: 104.0px (52.0dp)\n" + 735 "\tmInsets.right: 0.0px (0.0dp)\n" + 736 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 737 "\taspectRatio:1.6\n" + 738 "\tisScalableGrid:true\n" + 739 "\tinv.numRows: 5\n" + 740 "\tinv.numColumns: 6\n" + 741 "\tinv.numSearchContainerColumns: 3\n" + 742 "\tminCellSize: PointF(120.0, 104.0)dp\n" + 743 "\tcellWidthPx: 240.0px (120.0dp)\n" + 744 "\tcellHeightPx: 208.0px (104.0dp)\n" + 745 "\tgetCellSize().x: 240.0px (120.0dp)\n" + 746 "\tgetCellSize().y: 208.0px (104.0dp)\n" + 747 "\tcellLayoutBorderSpacePx Horizontal: 128.0px (64.0dp)\n" + 748 "\tcellLayoutBorderSpacePx Vertical: 32.0px (16.0dp)\n" + 749 "\tcellLayoutPaddingPx.left: 59.0px (29.5dp)\n" + 750 "\tcellLayoutPaddingPx.top: 25.0px (12.5dp)\n" + 751 "\tcellLayoutPaddingPx.right: 59.0px (29.5dp)\n" + 752 "\tcellLayoutPaddingPx.bottom: 59.0px (29.5dp)\n" + 753 "\ticonSizePx: 120.0px (60.0dp)\n" + 754 "\ticonTextSizePx: 28.0px (14.0dp)\n" + 755 "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" + 756 "\tinv.numFolderRows: 3\n" + 757 "\tinv.numFolderColumns: 3\n" + 758 "\tfolderCellWidthPx: 240.0px (120.0dp)\n" + 759 "\tfolderCellHeightPx: 208.0px (104.0dp)\n" + 760 "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" + 761 "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" + 762 "\tfolderChildDrawablePaddingPx: 16.0px (8.0dp)\n" + 763 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 764 "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" + 765 "\tfolderTopPadding: 48.0px (24.0dp)\n" + 766 "\tfolderFooterHeight: 112.0px (56.0dp)\n" + 767 "\tbottomSheetTopPadding: 104.0px (52.0dp)\n" + 768 "\tbottomSheetOpenDuration: 500\n" + 769 "\tbottomSheetCloseDuration: 500\n" + 770 "\tbottomSheetWorkspaceScale: 0.97\n" + 771 "\tbottomSheetDepth: 0.0\n" + 772 "\tallAppsShiftRange: 1496.0px (748.0dp)\n" + 773 "\tallAppsTopPadding: 104.0px (52.0dp)\n" + 774 "\tallAppsOpenDuration: 500\n" + 775 "\tallAppsCloseDuration: 500\n" + 776 "\tallAppsIconSizePx: 120.0px (60.0dp)\n" + 777 "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" + 778 "\tallAppsIconDrawablePaddingPx: 14.0px (7.0dp)\n" + 779 "\tallAppsCellHeightPx: 284.0px (142.0dp)\n" + 780 "\tallAppsCellWidthPx: 252.0px (126.0dp)\n" + 781 "\tallAppsBorderSpacePxX: 32.0px (16.0dp)\n" + 782 "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" + 783 "\tnumShownAllAppsColumns: 6\n" + 784 "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" + 785 "\tallAppsLeftRightMargin: 412.0px (206.0dp)\n" + 786 "\thotseatBarSizePx: 200.0px (100.0dp)\n" + 787 "\tinv.hotseatColumnSpan: 4\n" + 788 "\thotseatCellHeightPx: 135.0px (67.5dp)\n" + 789 "\thotseatBarBottomSpacePx: 80.0px (40.0dp)\n" + 790 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 791 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 792 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 793 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 794 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 795 "\tspringLoadedHotseatBarTopMarginPx: 128.0px (64.0dp)\n" + 796 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 797 "\tgetHotseatLayoutPadding(context).bottom: 65.0px (32.5dp)\n" + 798 "\tgetHotseatLayoutPadding(context).left: 668.0px (334.0dp)\n" + 799 "\tgetHotseatLayoutPadding(context).right: 668.0px (334.0dp)\n" + 800 "\tnumShownHotseatIcons: 6\n" + 801 "\thotseatBorderSpace: 100.0px (50.0dp)\n" + 802 "\tisQsbInline: false\n" + 803 "\thotseatQsbWidth: 1224.0px (612.0dp)\n" + 804 "\tisTaskbarPresent:false\n" + 805 "\tisTaskbarPresentInApps:true\n" + 806 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 807 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 808 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 809 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 810 "\tdesiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)\n" + 811 "\tworkspacePadding.left: 181.0px (90.5dp)\n" + 812 "\tworkspacePadding.top: 0.0px (0.0dp)\n" + 813 "\tworkspacePadding.right: 181.0px (90.5dp)\n" + 814 "\tworkspacePadding.bottom: 244.0px (122.0dp)\n" + 815 "\ticonScale: 1.0px (0.5dp)\n" + 816 "\tcellScaleToFit : 1.0px (0.5dp)\n" + 817 "\textraSpace: 80.0px (40.0dp)\n" + 818 "\tunscaled extraSpace: 80.0px (40.0dp)\n" + 819 "\tmaxEmptySpace: 200.0px (100.0dp)\n" + 820 "\tworkspaceTopPadding: 25.0px (12.5dp)\n" + 821 "\tworkspaceBottomPadding: 55.0px (27.5dp)\n" + 822 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 823 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 824 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 825 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 826 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 827 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 828 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 829 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 830 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 831 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 832 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 833 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 834 "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" + 835 "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" + 836 "\tdropTargetBarBottomMarginPx: 64.0px (32.0dp)\n" + 837 "\tgetCellLayoutSpringLoadShrunkTop(): 312.0px (156.0dp)\n" + 838 "\tgetCellLayoutSpringLoadShrunkBottom(): 1272.0px (636.0dp)\n" + 839 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" + 840 "\tgetWorkspaceSpringLoadScale(): 0.76677316px (0.38338658dp)\n" + 841 "\tgetCellLayoutHeight(): 1252.0px (626.0dp)\n" + 842 "\tgetCellLayoutWidth(): 2198.0px (1099.0dp)\n" 843 ) 844 } 845 846 @Test tabletPortrait3Buttonnull847 fun tabletPortrait3Button() { 848 initializeVarsForTablet(deviceSpecs["tablet"]!!, isGestureMode = false) 849 val dp = getDeviceProfileForGrid("6_by_5") 850 dp.isTaskbarPresentInApps = true 851 852 assertThat(dump(dp)) 853 .isEqualTo( 854 "DeviceProfile:\n" + 855 "\t1 dp = 2.0 px\n" + 856 "\tisTablet:true\n" + 857 "\tisPhone:false\n" + 858 "\ttransposeLayoutWithOrientation:false\n" + 859 "\tisGestureMode:false\n" + 860 "\tisLandscape:false\n" + 861 "\tisMultiWindowMode:false\n" + 862 "\tisTwoPanels:false\n" + 863 "\twindowX: 0.0px (0.0dp)\n" + 864 "\twindowY: 0.0px (0.0dp)\n" + 865 "\twidthPx: 1600.0px (800.0dp)\n" + 866 "\theightPx: 2560.0px (1280.0dp)\n" + 867 "\tavailableWidthPx: 1600.0px (800.0dp)\n" + 868 "\tavailableHeightPx: 2456.0px (1228.0dp)\n" + 869 "\tmInsets.left: 0.0px (0.0dp)\n" + 870 "\tmInsets.top: 104.0px (52.0dp)\n" + 871 "\tmInsets.right: 0.0px (0.0dp)\n" + 872 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 873 "\taspectRatio:1.6\n" + 874 "\tisScalableGrid:true\n" + 875 "\tinv.numRows: 5\n" + 876 "\tinv.numColumns: 6\n" + 877 "\tinv.numSearchContainerColumns: 3\n" + 878 "\tminCellSize: PointF(102.0, 120.0)dp\n" + 879 "\tcellWidthPx: 204.0px (102.0dp)\n" + 880 "\tcellHeightPx: 240.0px (120.0dp)\n" + 881 "\tgetCellSize().x: 204.0px (102.0dp)\n" + 882 "\tgetCellSize().y: 240.0px (120.0dp)\n" + 883 "\tcellLayoutBorderSpacePx Horizontal: 32.0px (16.0dp)\n" + 884 "\tcellLayoutBorderSpacePx Vertical: 128.0px (64.0dp)\n" + 885 "\tcellLayoutPaddingPx.left: 72.0px (36.0dp)\n" + 886 "\tcellLayoutPaddingPx.top: 72.0px (36.0dp)\n" + 887 "\tcellLayoutPaddingPx.right: 72.0px (36.0dp)\n" + 888 "\tcellLayoutPaddingPx.bottom: 72.0px (36.0dp)\n" + 889 "\ticonSizePx: 120.0px (60.0dp)\n" + 890 "\ticonTextSizePx: 28.0px (14.0dp)\n" + 891 "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" + 892 "\tinv.numFolderRows: 3\n" + 893 "\tinv.numFolderColumns: 3\n" + 894 "\tfolderCellWidthPx: 204.0px (102.0dp)\n" + 895 "\tfolderCellHeightPx: 240.0px (120.0dp)\n" + 896 "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" + 897 "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" + 898 "\tfolderChildDrawablePaddingPx: 27.0px (13.5dp)\n" + 899 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 900 "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" + 901 "\tfolderTopPadding: 48.0px (24.0dp)\n" + 902 "\tfolderFooterHeight: 112.0px (56.0dp)\n" + 903 "\tbottomSheetTopPadding: 704.0px (352.0dp)\n" + 904 "\tbottomSheetOpenDuration: 500\n" + 905 "\tbottomSheetCloseDuration: 500\n" + 906 "\tbottomSheetWorkspaceScale: 0.97\n" + 907 "\tbottomSheetDepth: 0.0\n" + 908 "\tallAppsShiftRange: 1810.0px (905.0dp)\n" + 909 "\tallAppsTopPadding: 750.0px (375.0dp)\n" + 910 "\tallAppsOpenDuration: 500\n" + 911 "\tallAppsCloseDuration: 500\n" + 912 "\tallAppsIconSizePx: 120.0px (60.0dp)\n" + 913 "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" + 914 "\tallAppsIconDrawablePaddingPx: 14.0px (7.0dp)\n" + 915 "\tallAppsCellHeightPx: 316.0px (158.0dp)\n" + 916 "\tallAppsCellWidthPx: 192.0px (96.0dp)\n" + 917 "\tallAppsBorderSpacePxX: 16.0px (8.0dp)\n" + 918 "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" + 919 "\tnumShownAllAppsColumns: 6\n" + 920 "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" + 921 "\tallAppsLeftRightMargin: 152.0px (76.0dp)\n" + 922 "\thotseatBarSizePx: 272.0px (136.0dp)\n" + 923 "\tinv.hotseatColumnSpan: 6\n" + 924 "\thotseatCellHeightPx: 135.0px (67.5dp)\n" + 925 "\thotseatBarBottomSpacePx: 152.0px (76.0dp)\n" + 926 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 927 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 928 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 929 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 930 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 931 "\tspringLoadedHotseatBarTopMarginPx: 216.0px (108.0dp)\n" + 932 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 933 "\tgetHotseatLayoutPadding(context).bottom: 137.0px (68.5dp)\n" + 934 "\tgetHotseatLayoutPadding(context).left: 150.0px (75.0dp)\n" + 935 "\tgetHotseatLayoutPadding(context).right: 150.0px (75.0dp)\n" + 936 "\tnumShownHotseatIcons: 6\n" + 937 "\thotseatBorderSpace: 116.0px (58.0dp)\n" + 938 "\tisQsbInline: false\n" + 939 "\thotseatQsbWidth: 1300.0px (650.0dp)\n" + 940 "\tisTaskbarPresent:false\n" + 941 "\tisTaskbarPresentInApps:true\n" + 942 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 943 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 944 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 945 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 946 "\tdesiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)\n" + 947 "\tworkspacePadding.left: 36.0px (18.0dp)\n" + 948 "\tworkspacePadding.top: 132.0px (66.0dp)\n" + 949 "\tworkspacePadding.right: 36.0px (18.0dp)\n" + 950 "\tworkspacePadding.bottom: 468.0px (234.0dp)\n" + 951 "\ticonScale: 1.0px (0.5dp)\n" + 952 "\tcellScaleToFit : 1.0px (0.5dp)\n" + 953 "\textraSpace: 424.0px (212.0dp)\n" + 954 "\tunscaled extraSpace: 424.0px (212.0dp)\n" + 955 "\tmaxEmptySpace: 19998.0px (9999.0dp)\n" + 956 "\tworkspaceTopPadding: 204.0px (102.0dp)\n" + 957 "\tworkspaceBottomPadding: 220.0px (110.0dp)\n" + 958 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 959 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 960 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 961 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 962 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 963 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 964 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 965 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 966 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 967 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 968 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 969 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 970 "\tdropTargetBarTopMarginPx: 220.0px (110.0dp)\n" + 971 "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" + 972 "\tdropTargetBarBottomMarginPx: 96.0px (48.0dp)\n" + 973 "\tgetCellLayoutSpringLoadShrunkTop(): 564.0px (282.0dp)\n" + 974 "\tgetCellLayoutSpringLoadShrunkBottom(): 2072.0px (1036.0dp)\n" + 975 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" + 976 "\tgetWorkspaceSpringLoadScale(): 0.8125px (0.40625dp)\n" + 977 "\tgetCellLayoutHeight(): 1856.0px (928.0dp)\n" + 978 "\tgetCellLayoutWidth(): 1528.0px (764.0dp)\n" 979 ) 980 } 981 982 @Test tabletPortraitnull983 fun tabletPortrait() { 984 initializeVarsForTablet(deviceSpecs["tablet"]!!) 985 val dp = getDeviceProfileForGrid("6_by_5") 986 dp.isTaskbarPresentInApps = true 987 988 assertThat(dump(dp)) 989 .isEqualTo( 990 "DeviceProfile:\n" + 991 "\t1 dp = 2.0 px\n" + 992 "\tisTablet:true\n" + 993 "\tisPhone:false\n" + 994 "\ttransposeLayoutWithOrientation:false\n" + 995 "\tisGestureMode:true\n" + 996 "\tisLandscape:false\n" + 997 "\tisMultiWindowMode:false\n" + 998 "\tisTwoPanels:false\n" + 999 "\twindowX: 0.0px (0.0dp)\n" + 1000 "\twindowY: 0.0px (0.0dp)\n" + 1001 "\twidthPx: 1600.0px (800.0dp)\n" + 1002 "\theightPx: 2560.0px (1280.0dp)\n" + 1003 "\tavailableWidthPx: 1600.0px (800.0dp)\n" + 1004 "\tavailableHeightPx: 2456.0px (1228.0dp)\n" + 1005 "\tmInsets.left: 0.0px (0.0dp)\n" + 1006 "\tmInsets.top: 104.0px (52.0dp)\n" + 1007 "\tmInsets.right: 0.0px (0.0dp)\n" + 1008 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 1009 "\taspectRatio:1.6\n" + 1010 "\tisScalableGrid:true\n" + 1011 "\tinv.numRows: 5\n" + 1012 "\tinv.numColumns: 6\n" + 1013 "\tinv.numSearchContainerColumns: 3\n" + 1014 "\tminCellSize: PointF(102.0, 120.0)dp\n" + 1015 "\tcellWidthPx: 204.0px (102.0dp)\n" + 1016 "\tcellHeightPx: 240.0px (120.0dp)\n" + 1017 "\tgetCellSize().x: 204.0px (102.0dp)\n" + 1018 "\tgetCellSize().y: 240.0px (120.0dp)\n" + 1019 "\tcellLayoutBorderSpacePx Horizontal: 32.0px (16.0dp)\n" + 1020 "\tcellLayoutBorderSpacePx Vertical: 128.0px (64.0dp)\n" + 1021 "\tcellLayoutPaddingPx.left: 72.0px (36.0dp)\n" + 1022 "\tcellLayoutPaddingPx.top: 72.0px (36.0dp)\n" + 1023 "\tcellLayoutPaddingPx.right: 72.0px (36.0dp)\n" + 1024 "\tcellLayoutPaddingPx.bottom: 72.0px (36.0dp)\n" + 1025 "\ticonSizePx: 120.0px (60.0dp)\n" + 1026 "\ticonTextSizePx: 28.0px (14.0dp)\n" + 1027 "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" + 1028 "\tinv.numFolderRows: 3\n" + 1029 "\tinv.numFolderColumns: 3\n" + 1030 "\tfolderCellWidthPx: 204.0px (102.0dp)\n" + 1031 "\tfolderCellHeightPx: 240.0px (120.0dp)\n" + 1032 "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" + 1033 "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" + 1034 "\tfolderChildDrawablePaddingPx: 27.0px (13.5dp)\n" + 1035 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 1036 "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" + 1037 "\tfolderTopPadding: 48.0px (24.0dp)\n" + 1038 "\tfolderFooterHeight: 112.0px (56.0dp)\n" + 1039 "\tbottomSheetTopPadding: 704.0px (352.0dp)\n" + 1040 "\tbottomSheetOpenDuration: 500\n" + 1041 "\tbottomSheetCloseDuration: 500\n" + 1042 "\tbottomSheetWorkspaceScale: 0.97\n" + 1043 "\tbottomSheetDepth: 0.0\n" + 1044 "\tallAppsShiftRange: 1810.0px (905.0dp)\n" + 1045 "\tallAppsTopPadding: 750.0px (375.0dp)\n" + 1046 "\tallAppsOpenDuration: 500\n" + 1047 "\tallAppsCloseDuration: 500\n" + 1048 "\tallAppsIconSizePx: 120.0px (60.0dp)\n" + 1049 "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" + 1050 "\tallAppsIconDrawablePaddingPx: 14.0px (7.0dp)\n" + 1051 "\tallAppsCellHeightPx: 316.0px (158.0dp)\n" + 1052 "\tallAppsCellWidthPx: 192.0px (96.0dp)\n" + 1053 "\tallAppsBorderSpacePxX: 16.0px (8.0dp)\n" + 1054 "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" + 1055 "\tnumShownAllAppsColumns: 6\n" + 1056 "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" + 1057 "\tallAppsLeftRightMargin: 152.0px (76.0dp)\n" + 1058 "\thotseatBarSizePx: 272.0px (136.0dp)\n" + 1059 "\tinv.hotseatColumnSpan: 6\n" + 1060 "\thotseatCellHeightPx: 135.0px (67.5dp)\n" + 1061 "\thotseatBarBottomSpacePx: 152.0px (76.0dp)\n" + 1062 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 1063 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 1064 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 1065 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 1066 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 1067 "\tspringLoadedHotseatBarTopMarginPx: 216.0px (108.0dp)\n" + 1068 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 1069 "\tgetHotseatLayoutPadding(context).bottom: 137.0px (68.5dp)\n" + 1070 "\tgetHotseatLayoutPadding(context).left: 150.0px (75.0dp)\n" + 1071 "\tgetHotseatLayoutPadding(context).right: 150.0px (75.0dp)\n" + 1072 "\tnumShownHotseatIcons: 6\n" + 1073 "\thotseatBorderSpace: 116.0px (58.0dp)\n" + 1074 "\tisQsbInline: false\n" + 1075 "\thotseatQsbWidth: 1300.0px (650.0dp)\n" + 1076 "\tisTaskbarPresent:false\n" + 1077 "\tisTaskbarPresentInApps:true\n" + 1078 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 1079 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 1080 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 1081 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 1082 "\tdesiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)\n" + 1083 "\tworkspacePadding.left: 36.0px (18.0dp)\n" + 1084 "\tworkspacePadding.top: 132.0px (66.0dp)\n" + 1085 "\tworkspacePadding.right: 36.0px (18.0dp)\n" + 1086 "\tworkspacePadding.bottom: 468.0px (234.0dp)\n" + 1087 "\ticonScale: 1.0px (0.5dp)\n" + 1088 "\tcellScaleToFit : 1.0px (0.5dp)\n" + 1089 "\textraSpace: 424.0px (212.0dp)\n" + 1090 "\tunscaled extraSpace: 424.0px (212.0dp)\n" + 1091 "\tmaxEmptySpace: 19998.0px (9999.0dp)\n" + 1092 "\tworkspaceTopPadding: 204.0px (102.0dp)\n" + 1093 "\tworkspaceBottomPadding: 220.0px (110.0dp)\n" + 1094 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 1095 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 1096 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 1097 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 1098 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 1099 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 1100 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 1101 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 1102 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 1103 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 1104 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 1105 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 1106 "\tdropTargetBarTopMarginPx: 220.0px (110.0dp)\n" + 1107 "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" + 1108 "\tdropTargetBarBottomMarginPx: 96.0px (48.0dp)\n" + 1109 "\tgetCellLayoutSpringLoadShrunkTop(): 564.0px (282.0dp)\n" + 1110 "\tgetCellLayoutSpringLoadShrunkBottom(): 2072.0px (1036.0dp)\n" + 1111 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" + 1112 "\tgetWorkspaceSpringLoadScale(): 0.8125px (0.40625dp)\n" + 1113 "\tgetCellLayoutHeight(): 1856.0px (928.0dp)\n" + 1114 "\tgetCellLayoutWidth(): 1528.0px (764.0dp)\n" 1115 ) 1116 } 1117 1118 @Test twoPanelLandscape3Buttonnull1119 fun twoPanelLandscape3Button() { 1120 initializeVarsForTwoPanel( 1121 deviceSpecs["twopanel-tablet"]!!, 1122 deviceSpecs["twopanel-phone"]!!, 1123 isLandscape = true, 1124 isGestureMode = false 1125 ) 1126 val dp = getDeviceProfileForGrid("4_by_4") 1127 dp.isTaskbarPresentInApps = true 1128 1129 assertThat(dump(dp)) 1130 .isEqualTo( 1131 "DeviceProfile:\n" + 1132 "\t1 dp = 2.625 px\n" + 1133 "\tisTablet:true\n" + 1134 "\tisPhone:false\n" + 1135 "\ttransposeLayoutWithOrientation:false\n" + 1136 "\tisGestureMode:false\n" + 1137 "\tisLandscape:true\n" + 1138 "\tisMultiWindowMode:false\n" + 1139 "\tisTwoPanels:true\n" + 1140 "\twindowX: 0.0px (0.0dp)\n" + 1141 "\twindowY: 0.0px (0.0dp)\n" + 1142 "\twidthPx: 2208.0px (841.1429dp)\n" + 1143 "\theightPx: 1840.0px (700.9524dp)\n" + 1144 "\tavailableWidthPx: 2208.0px (841.1429dp)\n" + 1145 "\tavailableHeightPx: 1730.0px (659.0476dp)\n" + 1146 "\tmInsets.left: 0.0px (0.0dp)\n" + 1147 "\tmInsets.top: 110.0px (41.904762dp)\n" + 1148 "\tmInsets.right: 0.0px (0.0dp)\n" + 1149 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 1150 "\taspectRatio:1.2\n" + 1151 "\tisScalableGrid:false\n" + 1152 "\tinv.numRows: 4\n" + 1153 "\tinv.numColumns: 4\n" + 1154 "\tinv.numSearchContainerColumns: 4\n" + 1155 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 1156 "\tcellWidthPx: 159.0px (60.57143dp)\n" + 1157 "\tcellHeightPx: 223.0px (84.95238dp)\n" + 1158 "\tgetCellSize().x: 270.0px (102.85714dp)\n" + 1159 "\tgetCellSize().y: 342.0px (130.28572dp)\n" + 1160 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 1161 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 1162 "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" + 1163 "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" + 1164 "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" + 1165 "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" + 1166 "\ticonSizePx: 141.0px (53.714287dp)\n" + 1167 "\ticonTextSizePx: 34.0px (12.952381dp)\n" + 1168 "\ticonDrawablePaddingPx: 18.0px (6.857143dp)\n" + 1169 "\tinv.numFolderRows: 3\n" + 1170 "\tinv.numFolderColumns: 4\n" + 1171 "\tfolderCellWidthPx: 189.0px (72.0dp)\n" + 1172 "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" + 1173 "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" + 1174 "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" + 1175 "\tfolderChildDrawablePaddingPx: 10.0px (3.8095238dp)\n" + 1176 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 1177 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 1178 "\tfolderTopPadding: 63.0px (24.0dp)\n" + 1179 "\tfolderFooterHeight: 147.0px (56.0dp)\n" + 1180 "\tbottomSheetTopPadding: 110.0px (41.904762dp)\n" + 1181 "\tbottomSheetOpenDuration: 500\n" + 1182 "\tbottomSheetCloseDuration: 500\n" + 1183 "\tbottomSheetWorkspaceScale: 0.97\n" + 1184 "\tbottomSheetDepth: 1.0\n" + 1185 "\tallAppsShiftRange: 1730.0px (659.0476dp)\n" + 1186 "\tallAppsTopPadding: 110.0px (41.904762dp)\n" + 1187 "\tallAppsOpenDuration: 500\n" + 1188 "\tallAppsCloseDuration: 500\n" + 1189 "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" + 1190 "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" + 1191 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 1192 "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" + 1193 "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" + 1194 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 1195 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 1196 "\tnumShownAllAppsColumns: 8\n" + 1197 "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" + 1198 "\tallAppsLeftRightMargin: 183.0px (69.71429dp)\n" + 1199 "\thotseatBarSizePx: 267.0px (101.71429dp)\n" + 1200 "\tinv.hotseatColumnSpan: 4\n" + 1201 "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" + 1202 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 1203 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 1204 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 1205 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 1206 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 1207 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 1208 "\tspringLoadedHotseatBarTopMarginPx: 116.0px (44.190475dp)\n" + 1209 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 1210 "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" + 1211 "\tgetHotseatLayoutPadding(context).left: 113.0px (43.04762dp)\n" + 1212 "\tgetHotseatLayoutPadding(context).right: 113.0px (43.04762dp)\n" + 1213 "\tnumShownHotseatIcons: 6\n" + 1214 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 1215 "\tisQsbInline: false\n" + 1216 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 1217 "\tisTaskbarPresent:false\n" + 1218 "\tisTaskbarPresentInApps:true\n" + 1219 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 1220 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 1221 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 1222 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 1223 "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" + 1224 "\tworkspacePadding.left: 21.0px (8.0dp)\n" + 1225 "\tworkspacePadding.top: 30.0px (11.428572dp)\n" + 1226 "\tworkspacePadding.right: 21.0px (8.0dp)\n" + 1227 "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" + 1228 "\ticonScale: 1.0px (0.3809524dp)\n" + 1229 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 1230 "\textraSpace: 478.0px (182.09525dp)\n" + 1231 "\tunscaled extraSpace: 478.0px (182.09525dp)\n" + 1232 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 1233 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 1234 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 1235 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 1236 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 1237 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 1238 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 1239 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 1240 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 1241 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 1242 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 1243 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 1244 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 1245 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 1246 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 1247 "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" + 1248 "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" + 1249 "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" + 1250 "\tgetCellLayoutSpringLoadShrunkTop(): 299.0px (113.90476dp)\n" + 1251 "\tgetCellLayoutSpringLoadShrunkBottom(): 1457.0px (555.0476dp)\n" + 1252 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 1253 "\tgetWorkspaceSpringLoadScale(): 0.8452555px (0.32200208dp)\n" + 1254 "\tgetCellLayoutHeight(): 1370.0px (521.9048dp)\n" + 1255 "\tgetCellLayoutWidth(): 1083.0px (412.57144dp)\n" 1256 ) 1257 } 1258 1259 @Test twoPanelLandscapenull1260 fun twoPanelLandscape() { 1261 initializeVarsForTwoPanel( 1262 deviceSpecs["twopanel-tablet"]!!, 1263 deviceSpecs["twopanel-phone"]!!, 1264 isLandscape = true 1265 ) 1266 val dp = getDeviceProfileForGrid("4_by_4") 1267 dp.isTaskbarPresentInApps = true 1268 1269 assertThat(dump(dp)) 1270 .isEqualTo( 1271 "DeviceProfile:\n" + 1272 "\t1 dp = 2.625 px\n" + 1273 "\tisTablet:true\n" + 1274 "\tisPhone:false\n" + 1275 "\ttransposeLayoutWithOrientation:false\n" + 1276 "\tisGestureMode:true\n" + 1277 "\tisLandscape:true\n" + 1278 "\tisMultiWindowMode:false\n" + 1279 "\tisTwoPanels:true\n" + 1280 "\twindowX: 0.0px (0.0dp)\n" + 1281 "\twindowY: 0.0px (0.0dp)\n" + 1282 "\twidthPx: 2208.0px (841.1429dp)\n" + 1283 "\theightPx: 1840.0px (700.9524dp)\n" + 1284 "\tavailableWidthPx: 2208.0px (841.1429dp)\n" + 1285 "\tavailableHeightPx: 1730.0px (659.0476dp)\n" + 1286 "\tmInsets.left: 0.0px (0.0dp)\n" + 1287 "\tmInsets.top: 110.0px (41.904762dp)\n" + 1288 "\tmInsets.right: 0.0px (0.0dp)\n" + 1289 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 1290 "\taspectRatio:1.2\n" + 1291 "\tisScalableGrid:false\n" + 1292 "\tinv.numRows: 4\n" + 1293 "\tinv.numColumns: 4\n" + 1294 "\tinv.numSearchContainerColumns: 4\n" + 1295 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 1296 "\tcellWidthPx: 159.0px (60.57143dp)\n" + 1297 "\tcellHeightPx: 223.0px (84.95238dp)\n" + 1298 "\tgetCellSize().x: 270.0px (102.85714dp)\n" + 1299 "\tgetCellSize().y: 342.0px (130.28572dp)\n" + 1300 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 1301 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 1302 "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" + 1303 "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" + 1304 "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" + 1305 "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" + 1306 "\ticonSizePx: 141.0px (53.714287dp)\n" + 1307 "\ticonTextSizePx: 34.0px (12.952381dp)\n" + 1308 "\ticonDrawablePaddingPx: 18.0px (6.857143dp)\n" + 1309 "\tinv.numFolderRows: 3\n" + 1310 "\tinv.numFolderColumns: 4\n" + 1311 "\tfolderCellWidthPx: 189.0px (72.0dp)\n" + 1312 "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" + 1313 "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" + 1314 "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" + 1315 "\tfolderChildDrawablePaddingPx: 10.0px (3.8095238dp)\n" + 1316 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 1317 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 1318 "\tfolderTopPadding: 63.0px (24.0dp)\n" + 1319 "\tfolderFooterHeight: 147.0px (56.0dp)\n" + 1320 "\tbottomSheetTopPadding: 110.0px (41.904762dp)\n" + 1321 "\tbottomSheetOpenDuration: 500\n" + 1322 "\tbottomSheetCloseDuration: 500\n" + 1323 "\tbottomSheetWorkspaceScale: 0.97\n" + 1324 "\tbottomSheetDepth: 1.0\n" + 1325 "\tallAppsShiftRange: 1730.0px (659.0476dp)\n" + 1326 "\tallAppsTopPadding: 110.0px (41.904762dp)\n" + 1327 "\tallAppsOpenDuration: 500\n" + 1328 "\tallAppsCloseDuration: 500\n" + 1329 "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" + 1330 "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" + 1331 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 1332 "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" + 1333 "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" + 1334 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 1335 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 1336 "\tnumShownAllAppsColumns: 8\n" + 1337 "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" + 1338 "\tallAppsLeftRightMargin: 183.0px (69.71429dp)\n" + 1339 "\thotseatBarSizePx: 267.0px (101.71429dp)\n" + 1340 "\tinv.hotseatColumnSpan: 4\n" + 1341 "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" + 1342 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 1343 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 1344 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 1345 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 1346 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 1347 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 1348 "\tspringLoadedHotseatBarTopMarginPx: 116.0px (44.190475dp)\n" + 1349 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 1350 "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" + 1351 "\tgetHotseatLayoutPadding(context).left: 113.0px (43.04762dp)\n" + 1352 "\tgetHotseatLayoutPadding(context).right: 113.0px (43.04762dp)\n" + 1353 "\tnumShownHotseatIcons: 6\n" + 1354 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 1355 "\tisQsbInline: false\n" + 1356 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 1357 "\tisTaskbarPresent:false\n" + 1358 "\tisTaskbarPresentInApps:true\n" + 1359 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 1360 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 1361 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 1362 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 1363 "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" + 1364 "\tworkspacePadding.left: 21.0px (8.0dp)\n" + 1365 "\tworkspacePadding.top: 30.0px (11.428572dp)\n" + 1366 "\tworkspacePadding.right: 21.0px (8.0dp)\n" + 1367 "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" + 1368 "\ticonScale: 1.0px (0.3809524dp)\n" + 1369 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 1370 "\textraSpace: 478.0px (182.09525dp)\n" + 1371 "\tunscaled extraSpace: 478.0px (182.09525dp)\n" + 1372 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 1373 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 1374 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 1375 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 1376 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 1377 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 1378 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 1379 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 1380 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 1381 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 1382 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 1383 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 1384 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 1385 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 1386 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 1387 "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" + 1388 "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" + 1389 "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" + 1390 "\tgetCellLayoutSpringLoadShrunkTop(): 299.0px (113.90476dp)\n" + 1391 "\tgetCellLayoutSpringLoadShrunkBottom(): 1457.0px (555.0476dp)\n" + 1392 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 1393 "\tgetWorkspaceSpringLoadScale(): 0.8452555px (0.32200208dp)\n" + 1394 "\tgetCellLayoutHeight(): 1370.0px (521.9048dp)\n" + 1395 "\tgetCellLayoutWidth(): 1083.0px (412.57144dp)\n" 1396 ) 1397 } 1398 1399 @Test twoPanelPortrait3Buttonnull1400 fun twoPanelPortrait3Button() { 1401 initializeVarsForTwoPanel( 1402 deviceSpecs["twopanel-tablet"]!!, 1403 deviceSpecs["twopanel-phone"]!!, 1404 isGestureMode = false 1405 ) 1406 val dp = getDeviceProfileForGrid("4_by_4") 1407 dp.isTaskbarPresentInApps = true 1408 1409 assertThat(dump(dp)) 1410 .isEqualTo( 1411 "DeviceProfile:\n" + 1412 "\t1 dp = 2.625 px\n" + 1413 "\tisTablet:true\n" + 1414 "\tisPhone:false\n" + 1415 "\ttransposeLayoutWithOrientation:false\n" + 1416 "\tisGestureMode:false\n" + 1417 "\tisLandscape:false\n" + 1418 "\tisMultiWindowMode:false\n" + 1419 "\tisTwoPanels:true\n" + 1420 "\twindowX: 0.0px (0.0dp)\n" + 1421 "\twindowY: 0.0px (0.0dp)\n" + 1422 "\twidthPx: 1840.0px (700.9524dp)\n" + 1423 "\theightPx: 2208.0px (841.1429dp)\n" + 1424 "\tavailableWidthPx: 1840.0px (700.9524dp)\n" + 1425 "\tavailableHeightPx: 2075.0px (790.4762dp)\n" + 1426 "\tmInsets.left: 0.0px (0.0dp)\n" + 1427 "\tmInsets.top: 133.0px (50.666668dp)\n" + 1428 "\tmInsets.right: 0.0px (0.0dp)\n" + 1429 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 1430 "\taspectRatio:1.2\n" + 1431 "\tisScalableGrid:false\n" + 1432 "\tinv.numRows: 4\n" + 1433 "\tinv.numColumns: 4\n" + 1434 "\tinv.numSearchContainerColumns: 4\n" + 1435 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 1436 "\tcellWidthPx: 159.0px (60.57143dp)\n" + 1437 "\tcellHeightPx: 223.0px (84.95238dp)\n" + 1438 "\tgetCellSize().x: 224.0px (85.333336dp)\n" + 1439 "\tgetCellSize().y: 430.0px (163.80952dp)\n" + 1440 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 1441 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 1442 "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" + 1443 "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" + 1444 "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" + 1445 "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" + 1446 "\ticonSizePx: 141.0px (53.714287dp)\n" + 1447 "\ticonTextSizePx: 34.0px (12.952381dp)\n" + 1448 "\ticonDrawablePaddingPx: 18.0px (6.857143dp)\n" + 1449 "\tinv.numFolderRows: 3\n" + 1450 "\tinv.numFolderColumns: 4\n" + 1451 "\tfolderCellWidthPx: 189.0px (72.0dp)\n" + 1452 "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" + 1453 "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" + 1454 "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" + 1455 "\tfolderChildDrawablePaddingPx: 10.0px (3.8095238dp)\n" + 1456 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 1457 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 1458 "\tfolderTopPadding: 63.0px (24.0dp)\n" + 1459 "\tfolderFooterHeight: 147.0px (56.0dp)\n" + 1460 "\tbottomSheetTopPadding: 133.0px (50.666668dp)\n" + 1461 "\tbottomSheetOpenDuration: 500\n" + 1462 "\tbottomSheetCloseDuration: 500\n" + 1463 "\tbottomSheetWorkspaceScale: 0.97\n" + 1464 "\tbottomSheetDepth: 1.0\n" + 1465 "\tallAppsShiftRange: 1826.0px (695.619dp)\n" + 1466 "\tallAppsTopPadding: 382.0px (145.5238dp)\n" + 1467 "\tallAppsOpenDuration: 500\n" + 1468 "\tallAppsCloseDuration: 500\n" + 1469 "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" + 1470 "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" + 1471 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 1472 "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" + 1473 "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" + 1474 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 1475 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 1476 "\tnumShownAllAppsColumns: 8\n" + 1477 "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" + 1478 "\tallAppsLeftRightMargin: 1.0px (0.3809524dp)\n" + 1479 "\thotseatBarSizePx: 267.0px (101.71429dp)\n" + 1480 "\tinv.hotseatColumnSpan: 4\n" + 1481 "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" + 1482 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 1483 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 1484 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 1485 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 1486 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 1487 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 1488 "\tspringLoadedHotseatBarTopMarginPx: 171.0px (65.14286dp)\n" + 1489 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 1490 "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" + 1491 "\tgetHotseatLayoutPadding(context).left: 98.0px (37.333332dp)\n" + 1492 "\tgetHotseatLayoutPadding(context).right: 98.0px (37.333332dp)\n" + 1493 "\tnumShownHotseatIcons: 6\n" + 1494 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 1495 "\tisQsbInline: false\n" + 1496 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 1497 "\tisTaskbarPresent:false\n" + 1498 "\tisTaskbarPresentInApps:true\n" + 1499 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 1500 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 1501 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 1502 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 1503 "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" + 1504 "\tworkspacePadding.left: 21.0px (8.0dp)\n" + 1505 "\tworkspacePadding.top: 24.0px (9.142858dp)\n" + 1506 "\tworkspacePadding.right: 21.0px (8.0dp)\n" + 1507 "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" + 1508 "\ticonScale: 1.0px (0.3809524dp)\n" + 1509 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 1510 "\textraSpace: 829.0px (315.8095dp)\n" + 1511 "\tunscaled extraSpace: 829.0px (315.8095dp)\n" + 1512 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 1513 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 1514 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 1515 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 1516 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 1517 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 1518 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 1519 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 1520 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 1521 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 1522 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 1523 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 1524 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 1525 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 1526 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 1527 "\tdropTargetBarTopMarginPx: 168.0px (64.0dp)\n" + 1528 "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" + 1529 "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" + 1530 "\tgetCellLayoutSpringLoadShrunkTop(): 490.0px (186.66667dp)\n" + 1531 "\tgetCellLayoutSpringLoadShrunkBottom(): 1770.0px (674.2857dp)\n" + 1532 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 1533 "\tgetWorkspaceSpringLoadScale(): 0.7437536px (0.2833347dp)\n" + 1534 "\tgetCellLayoutHeight(): 1721.0px (655.619dp)\n" + 1535 "\tgetCellLayoutWidth(): 899.0px (342.4762dp)\n" 1536 ) 1537 } 1538 1539 @Test twoPanelPortraitnull1540 fun twoPanelPortrait() { 1541 initializeVarsForTwoPanel(deviceSpecs["twopanel-tablet"]!!, deviceSpecs["twopanel-phone"]!!) 1542 val dp = getDeviceProfileForGrid("4_by_4") 1543 dp.isTaskbarPresentInApps = true 1544 1545 assertThat(dump(dp)) 1546 .isEqualTo( 1547 "DeviceProfile:\n" + 1548 "\t1 dp = 2.625 px\n" + 1549 "\tisTablet:true\n" + 1550 "\tisPhone:false\n" + 1551 "\ttransposeLayoutWithOrientation:false\n" + 1552 "\tisGestureMode:true\n" + 1553 "\tisLandscape:false\n" + 1554 "\tisMultiWindowMode:false\n" + 1555 "\tisTwoPanels:true\n" + 1556 "\twindowX: 0.0px (0.0dp)\n" + 1557 "\twindowY: 0.0px (0.0dp)\n" + 1558 "\twidthPx: 1840.0px (700.9524dp)\n" + 1559 "\theightPx: 2208.0px (841.1429dp)\n" + 1560 "\tavailableWidthPx: 1840.0px (700.9524dp)\n" + 1561 "\tavailableHeightPx: 2075.0px (790.4762dp)\n" + 1562 "\tmInsets.left: 0.0px (0.0dp)\n" + 1563 "\tmInsets.top: 133.0px (50.666668dp)\n" + 1564 "\tmInsets.right: 0.0px (0.0dp)\n" + 1565 "\tmInsets.bottom: 0.0px (0.0dp)\n" + 1566 "\taspectRatio:1.2\n" + 1567 "\tisScalableGrid:false\n" + 1568 "\tinv.numRows: 4\n" + 1569 "\tinv.numColumns: 4\n" + 1570 "\tinv.numSearchContainerColumns: 4\n" + 1571 "\tminCellSize: PointF(0.0, 0.0)dp\n" + 1572 "\tcellWidthPx: 159.0px (60.57143dp)\n" + 1573 "\tcellHeightPx: 223.0px (84.95238dp)\n" + 1574 "\tgetCellSize().x: 224.0px (85.333336dp)\n" + 1575 "\tgetCellSize().y: 430.0px (163.80952dp)\n" + 1576 "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" + 1577 "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" + 1578 "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" + 1579 "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" + 1580 "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" + 1581 "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" + 1582 "\ticonSizePx: 141.0px (53.714287dp)\n" + 1583 "\ticonTextSizePx: 34.0px (12.952381dp)\n" + 1584 "\ticonDrawablePaddingPx: 18.0px (6.857143dp)\n" + 1585 "\tinv.numFolderRows: 3\n" + 1586 "\tinv.numFolderColumns: 4\n" + 1587 "\tfolderCellWidthPx: 189.0px (72.0dp)\n" + 1588 "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" + 1589 "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" + 1590 "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" + 1591 "\tfolderChildDrawablePaddingPx: 10.0px (3.8095238dp)\n" + 1592 "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" + 1593 "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" + 1594 "\tfolderTopPadding: 63.0px (24.0dp)\n" + 1595 "\tfolderFooterHeight: 147.0px (56.0dp)\n" + 1596 "\tbottomSheetTopPadding: 133.0px (50.666668dp)\n" + 1597 "\tbottomSheetOpenDuration: 500\n" + 1598 "\tbottomSheetCloseDuration: 500\n" + 1599 "\tbottomSheetWorkspaceScale: 0.97\n" + 1600 "\tbottomSheetDepth: 1.0\n" + 1601 "\tallAppsShiftRange: 1826.0px (695.619dp)\n" + 1602 "\tallAppsTopPadding: 382.0px (145.5238dp)\n" + 1603 "\tallAppsOpenDuration: 500\n" + 1604 "\tallAppsCloseDuration: 500\n" + 1605 "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" + 1606 "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" + 1607 "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" + 1608 "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" + 1609 "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" + 1610 "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" + 1611 "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" + 1612 "\tnumShownAllAppsColumns: 8\n" + 1613 "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" + 1614 "\tallAppsLeftRightMargin: 1.0px (0.3809524dp)\n" + 1615 "\thotseatBarSizePx: 267.0px (101.71429dp)\n" + 1616 "\tinv.hotseatColumnSpan: 4\n" + 1617 "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" + 1618 "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" + 1619 "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" + 1620 "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" + 1621 "\thotseatBarEndOffset: 0.0px (0.0dp)\n" + 1622 "\thotseatQsbSpace: 0.0px (0.0dp)\n" + 1623 "\thotseatQsbHeight: 0.0px (0.0dp)\n" + 1624 "\tspringLoadedHotseatBarTopMarginPx: 171.0px (65.14286dp)\n" + 1625 "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" + 1626 "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" + 1627 "\tgetHotseatLayoutPadding(context).left: 98.0px (37.333332dp)\n" + 1628 "\tgetHotseatLayoutPadding(context).right: 98.0px (37.333332dp)\n" + 1629 "\tnumShownHotseatIcons: 6\n" + 1630 "\thotseatBorderSpace: 0.0px (0.0dp)\n" + 1631 "\tisQsbInline: false\n" + 1632 "\thotseatQsbWidth: 0.0px (0.0dp)\n" + 1633 "\tisTaskbarPresent:false\n" + 1634 "\tisTaskbarPresentInApps:true\n" + 1635 "\ttaskbarHeight: 0.0px (0.0dp)\n" + 1636 "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" + 1637 "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" + 1638 "\ttaskbarIconSize: 0.0px (0.0dp)\n" + 1639 "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" + 1640 "\tworkspacePadding.left: 21.0px (8.0dp)\n" + 1641 "\tworkspacePadding.top: 24.0px (9.142858dp)\n" + 1642 "\tworkspacePadding.right: 21.0px (8.0dp)\n" + 1643 "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" + 1644 "\ticonScale: 1.0px (0.3809524dp)\n" + 1645 "\tcellScaleToFit : 1.0px (0.3809524dp)\n" + 1646 "\textraSpace: 829.0px (315.8095dp)\n" + 1647 "\tunscaled extraSpace: 829.0px (315.8095dp)\n" + 1648 "\tmaxEmptySpace: 0.0px (0.0dp)\n" + 1649 "\tworkspaceTopPadding: 0.0px (0.0dp)\n" + 1650 "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" + 1651 "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" + 1652 "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" + 1653 "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" + 1654 "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" + 1655 "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" + 1656 "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" + 1657 "\toverviewActionsHeight: 0.0px (0.0dp)\n" + 1658 "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" + 1659 "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" + 1660 "\toverviewPageSpacing: 0.0px (0.0dp)\n" + 1661 "\toverviewRowSpacing: 0.0px (0.0dp)\n" + 1662 "\toverviewGridSideMargin: 0.0px (0.0dp)\n" + 1663 "\tdropTargetBarTopMarginPx: 168.0px (64.0dp)\n" + 1664 "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" + 1665 "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" + 1666 "\tgetCellLayoutSpringLoadShrunkTop(): 490.0px (186.66667dp)\n" + 1667 "\tgetCellLayoutSpringLoadShrunkBottom(): 1770.0px (674.2857dp)\n" + 1668 "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" + 1669 "\tgetWorkspaceSpringLoadScale(): 0.7437536px (0.2833347dp)\n" + 1670 "\tgetCellLayoutHeight(): 1721.0px (655.619dp)\n" + 1671 "\tgetCellLayoutWidth(): 899.0px (342.4762dp)\n" 1672 ) 1673 } 1674 getDeviceProfileForGridnull1675 private fun getDeviceProfileForGrid(gridName: String): DeviceProfile { 1676 return InvariantDeviceProfile(context, gridName).getDeviceProfile(context) 1677 } 1678 dumpnull1679 private fun dump(dp: DeviceProfile): String { 1680 val stringWriter = StringWriter() 1681 val printWriter = PrintWriter(stringWriter) 1682 dp.dump(context, "", printWriter) 1683 printWriter.flush() 1684 return stringWriter.toString() 1685 } 1686 } 1687