@@ -71,30 +71,37 @@ fn get_brightness_based_on_location(latitude: f64, longitude: f64) -> u8 {
7171 . into ( ) ;
7272
7373 compute_brightness_percentage (
74- now. time ( ) ,
75- sunrise_datetime. time ( ) ,
76- sunrise_datetime. time ( ) + BRIGHTNESS_TRANSITION_DURATION ,
77- sunset_datetime. time ( ) ,
78- sunset_datetime. time ( ) + BRIGHTNESS_TRANSITION_DURATION ,
74+ now,
75+ sunrise_datetime,
76+ sunrise_datetime + BRIGHTNESS_TRANSITION_DURATION ,
77+ sunset_datetime,
78+ sunset_datetime + BRIGHTNESS_TRANSITION_DURATION ,
7979 )
8080}
8181
8282fn get_brightness_based_on_time ( ) -> u8 {
83+ let now = Local :: now ( ) ;
8384 compute_brightness_percentage (
84- Local :: now ( ) . time ( ) ,
85- FALLBACK_BRIGHTNESS_UP_BEGIN . unwrap ( ) ,
86- FALLBACK_BRIGHTNESS_UP_BEGIN . unwrap ( ) + BRIGHTNESS_TRANSITION_DURATION ,
87- FALLBACK_BRIGHTNESS_DOWN_BEGIN . unwrap ( ) ,
88- FALLBACK_BRIGHTNESS_DOWN_BEGIN . unwrap ( ) + BRIGHTNESS_TRANSITION_DURATION ,
85+ now,
86+ now. with_time ( FALLBACK_BRIGHTNESS_UP_BEGIN . unwrap ( ) )
87+ . unwrap ( ) ,
88+ now. with_time ( FALLBACK_BRIGHTNESS_UP_BEGIN . unwrap ( ) )
89+ . unwrap ( )
90+ + BRIGHTNESS_TRANSITION_DURATION ,
91+ now. with_time ( FALLBACK_BRIGHTNESS_DOWN_BEGIN . unwrap ( ) )
92+ . unwrap ( ) ,
93+ now. with_time ( FALLBACK_BRIGHTNESS_DOWN_BEGIN . unwrap ( ) )
94+ . unwrap ( )
95+ + BRIGHTNESS_TRANSITION_DURATION ,
8996 )
9097}
9198
9299fn compute_brightness_percentage (
93- now : NaiveTime ,
94- brightness_up_begin : NaiveTime ,
95- brightness_up_end : NaiveTime ,
96- brightness_down_begin : NaiveTime ,
97- brightness_down_end : NaiveTime ,
100+ now : DateTime < Local > ,
101+ brightness_up_begin : DateTime < Local > ,
102+ brightness_up_end : DateTime < Local > ,
103+ brightness_down_begin : DateTime < Local > ,
104+ brightness_down_end : DateTime < Local > ,
98105) -> u8 {
99106 assert ! ( brightness_up_begin < brightness_up_end) ;
100107 assert ! ( brightness_up_end < brightness_down_begin) ;
@@ -125,15 +132,21 @@ mod tests {
125132
126133 #[ test]
127134 fn test_fallback ( ) {
128- let brightness_up_begin = FALLBACK_BRIGHTNESS_UP_BEGIN . unwrap ( ) ;
135+ let now = Local :: now ( ) ;
136+ let brightness_up_begin = now
137+ . with_time ( FALLBACK_BRIGHTNESS_UP_BEGIN . unwrap ( ) )
138+ . unwrap ( ) ;
129139 let brightness_up_end = brightness_up_begin + BRIGHTNESS_TRANSITION_DURATION ;
130- let brightness_down_begin = FALLBACK_BRIGHTNESS_DOWN_BEGIN . unwrap ( ) ;
140+ let brightness_down_begin = now
141+ . with_time ( FALLBACK_BRIGHTNESS_DOWN_BEGIN . unwrap ( ) )
142+ . unwrap ( ) ;
131143 let brightness_down_end = brightness_down_begin + BRIGHTNESS_TRANSITION_DURATION ;
132144
133145 for i in 0 ..=brightness_up_begin. hour ( ) {
134146 assert_eq ! (
135147 compute_brightness_percentage(
136- NaiveTime :: from_hms_opt( i, 0 , 0 ) . unwrap( ) ,
148+ now. with_time( NaiveTime :: from_hms_opt( i, 0 , 0 ) . unwrap( ) )
149+ . unwrap( ) ,
137150 brightness_up_begin,
138151 brightness_up_end,
139152 brightness_down_begin,
@@ -146,7 +159,8 @@ mod tests {
146159 for i in brightness_up_end. hour ( ) ..=brightness_down_begin. hour ( ) {
147160 assert_eq ! (
148161 compute_brightness_percentage(
149- NaiveTime :: from_hms_opt( i, 0 , 0 ) . unwrap( ) ,
162+ now. with_time( NaiveTime :: from_hms_opt( i, 0 , 0 ) . unwrap( ) )
163+ . unwrap( ) ,
150164 brightness_up_begin,
151165 brightness_up_end,
152166 brightness_down_begin,
@@ -159,7 +173,8 @@ mod tests {
159173 for i in brightness_down_end. hour ( ) ..=23 {
160174 assert_eq ! (
161175 compute_brightness_percentage(
162- NaiveTime :: from_hms_opt( i, 0 , 0 ) . unwrap( ) ,
176+ now. with_time( NaiveTime :: from_hms_opt( i, 0 , 0 ) . unwrap( ) )
177+ . unwrap( ) ,
163178 brightness_up_begin,
164179 brightness_up_end,
165180 brightness_down_begin,
@@ -172,10 +187,19 @@ mod tests {
172187
173188 #[ test]
174189 fn test_exact_transition_points ( ) {
175- let brightness_up_begin = NaiveTime :: from_hms_opt ( 6 , 7 , 8 ) . unwrap ( ) ;
176- let brightness_up_end = NaiveTime :: from_hms_opt ( 7 , 8 , 9 ) . unwrap ( ) ;
177- let brightness_down_begin = NaiveTime :: from_hms_opt ( 19 , 18 , 17 ) . unwrap ( ) ;
178- let brightness_down_end = NaiveTime :: from_hms_opt ( 20 , 19 , 18 ) . unwrap ( ) ;
190+ let now = Local :: now ( ) ;
191+ let brightness_up_begin = now
192+ . with_time ( NaiveTime :: from_hms_opt ( 6 , 7 , 8 ) . unwrap ( ) )
193+ . unwrap ( ) ;
194+ let brightness_up_end = now
195+ . with_time ( NaiveTime :: from_hms_opt ( 7 , 8 , 9 ) . unwrap ( ) )
196+ . unwrap ( ) ;
197+ let brightness_down_begin = now
198+ . with_time ( NaiveTime :: from_hms_opt ( 19 , 18 , 17 ) . unwrap ( ) )
199+ . unwrap ( ) ;
200+ let brightness_down_end = now
201+ . with_time ( NaiveTime :: from_hms_opt ( 20 , 19 , 18 ) . unwrap ( ) )
202+ . unwrap ( ) ;
179203
180204 assert_eq ! (
181205 compute_brightness_percentage(
0 commit comments