Skip to content

Commit eed432d

Browse files
committed
Fix auto brightness
1 parent e7586fe commit eed432d

File tree

1 file changed

+48
-24
lines changed

1 file changed

+48
-24
lines changed

backlightd/src/auto.rs

Lines changed: 48 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

8282
fn 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

9299
fn 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

Comments
 (0)