• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2024 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.mechanics.testing
18 
19 import com.android.mechanics.spring.SpringParameters
20 
21 object DefaultSprings {
22     val matStandardDefault =
23         SpringParameters(
24             stiffness = StandardMotionTokens.SpringDefaultSpatialStiffness,
25             dampingRatio = StandardMotionTokens.SpringDefaultSpatialDamping,
26         )
27     val matStandardFast =
28         SpringParameters(
29             stiffness = StandardMotionTokens.SpringFastSpatialStiffness,
30             dampingRatio = StandardMotionTokens.SpringFastSpatialDamping,
31         )
32     val matExpressiveDefault =
33         SpringParameters(
34             stiffness = ExpressiveMotionTokens.SpringDefaultSpatialStiffness,
35             dampingRatio = ExpressiveMotionTokens.SpringDefaultSpatialDamping,
36         )
37     val matExpressiveFast =
38         SpringParameters(
39             stiffness = ExpressiveMotionTokens.SpringFastSpatialStiffness,
40             dampingRatio = ExpressiveMotionTokens.SpringFastSpatialDamping,
41         )
42 
43     internal object StandardMotionTokens {
44         val SpringDefaultSpatialDamping = 0.9f
45         val SpringDefaultSpatialStiffness = 700.0f
46         val SpringDefaultEffectsDamping = 1.0f
47         val SpringDefaultEffectsStiffness = 1600.0f
48         val SpringFastSpatialDamping = 0.9f
49         val SpringFastSpatialStiffness = 1400.0f
50         val SpringFastEffectsDamping = 1.0f
51         val SpringFastEffectsStiffness = 3800.0f
52         val SpringSlowSpatialDamping = 0.9f
53         val SpringSlowSpatialStiffness = 300.0f
54         val SpringSlowEffectsDamping = 1.0f
55         val SpringSlowEffectsStiffness = 800.0f
56     }
57 
58     internal object ExpressiveMotionTokens {
59         val SpringDefaultSpatialDamping = 0.8f
60         val SpringDefaultSpatialStiffness = 380.0f
61         val SpringDefaultEffectsDamping = 1.0f
62         val SpringDefaultEffectsStiffness = 1600.0f
63         val SpringFastSpatialDamping = 0.6f
64         val SpringFastSpatialStiffness = 800.0f
65         val SpringFastEffectsDamping = 1.0f
66         val SpringFastEffectsStiffness = 3800.0f
67         val SpringSlowSpatialDamping = 0.8f
68         val SpringSlowSpatialStiffness = 200.0f
69         val SpringSlowEffectsDamping = 1.0f
70         val SpringSlowEffectsStiffness = 800.0f
71     }
72 }
73