• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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