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 17 package com.android.settingslib.spa.framework.theme 18 19 import androidx.compose.foundation.layout.PaddingValues 20 import androidx.compose.ui.unit.dp 21 22 object SettingsDimension { 23 val paddingTiny = 2.dp 24 val paddingExtraSmall = 4.dp 25 val paddingExtraSmall1 = 6.dp 26 val paddingSmall = if (isSpaExpressiveEnabled) 8.dp else 4.dp 27 val paddingExtraSmall5 = 10.dp 28 val paddingExtraSmall6 = 12.dp 29 val paddingLarge = 16.dp 30 val paddingExtraLarge = 24.dp 31 val paddingExtraLarge1 = 28.dp 32 33 val spinnerHorizontalPadding = paddingExtraLarge 34 val spinnerVerticalPadding = paddingLarge 35 36 val actionIconSize = 40.dp 37 val actionIconPadding = 8.dp 38 39 val itemIconSize = 24.dp 40 val itemIconContainerSizeSmall = 40.dp 41 val itemIconContainerSize = 72.dp 42 val itemPaddingStart = if (isSpaExpressiveEnabled) paddingLarge else paddingExtraLarge 43 val itemPaddingEnd = paddingLarge 44 val itemPaddingVertical = if (isSpaExpressiveEnabled) paddingExtraSmall6 else paddingLarge 45 val itemPadding = PaddingValues( 46 start = itemPaddingStart, 47 top = itemPaddingVertical, 48 end = itemPaddingEnd, 49 bottom = itemPaddingVertical, 50 ) 51 val footerItemPadding = PaddingValues( 52 start = paddingExtraLarge1, 53 top = itemPaddingVertical, 54 end = itemPaddingEnd, 55 bottom = itemPaddingVertical, 56 ) 57 val textFieldPadding = PaddingValues( 58 start = itemPaddingStart, 59 end = itemPaddingEnd, 60 ) 61 val menuFieldPadding = PaddingValues( 62 start = itemPaddingStart, 63 end = itemPaddingEnd, 64 bottom = itemPaddingVertical, 65 ) 66 val itemPaddingAround = 8.dp 67 val itemDividerHeight = if (isSpaExpressiveEnabled) 40.dp else 32.dp 68 69 val iconLarge = 48.dp 70 val introIconSize = 40.dp 71 72 /** The size when app icon is displayed in list. */ 73 val appIconItemSize = 32.dp 74 75 /** The size when app icon is displayed in App info page. */ 76 val appIconInfoSize = iconLarge 77 78 /** The vertical padding for buttons. */ 79 val buttonPaddingVertical = 12.dp 80 81 /** The [PaddingValues] for buttons. */ 82 val buttonPadding = PaddingValues(horizontal = itemPaddingEnd, vertical = buttonPaddingVertical) 83 84 /** The horizontal padding for dialog items. */ 85 val dialogItemPaddingHorizontal = itemPaddingStart 86 87 /** The [PaddingValues] for dialog items. */ 88 val dialogItemPadding = 89 PaddingValues(horizontal = dialogItemPaddingHorizontal, vertical = buttonPaddingVertical) 90 91 /** The sizes info of illustration widget. */ 92 val illustrationMaxWidth = 412.dp 93 val illustrationMaxHeight = 300.dp 94 val illustrationPadding = paddingLarge 95 val illustrationCornerRadius = 28.dp 96 97 val preferenceMinHeight = 72.dp 98 99 val spinnerOptionMinHeight = 48.dp 100 val spinnerIconSize = 20.dp 101 } 102