MCPcopy Create free account
hub / github.com/StylingAndroid/Prism / Prism

Class Prism

prism/src/main/java/com/stylingandroid/prism/Prism.java:16–151  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14import java.util.List;
15
16public class Prism implements Setter, ColorSetter {
17 private final List<Setter> setters;
18 private final List<Trigger> triggers;
19
20 Prism(List<Trigger> triggers, List<Setter> setters) {
21 this.triggers = triggers;
22 this.setters = setters;
23 }
24
25 @Override
26 public void setColour(@ColorInt int colour) {
27 for (Setter setter : setters) {
28 setter.setColour(colour);
29 }
30 }
31
32 @Override
33 public void setTransientColour(@ColorInt int colour) {
34 for (Setter setter : setters) {
35 setter.setTransientColour(colour);
36 }
37 }
38
39 @Override
40 public void setColor(@ColorInt int color) {
41 setColour(color);
42 }
43
44 @Override
45 public void setTransientColor(@ColorInt int color) {
46 setTransientColour(color);
47 }
48
49 public void add(Trigger trigger) {
50 triggers.add(trigger);
51 trigger.addSetter(this);
52 }
53
54 public void remove(Trigger trigger) {
55 trigger.removeSetter(this);
56 triggers.remove(trigger);
57 }
58
59 public void destroy() {
60 for (Trigger trigger : triggers) {
61 remove(trigger);
62 }
63 setters.clear();
64 }
65
66 public static final class Builder {
67 private static final Filter STATUS_BAR_COLOUR_FILTER = new SystemChromeFilter();
68 private final List<Setter> setters;
69 private final List<Trigger> triggers;
70
71 public static Builder newInstance() {
72 List<Setter> setters = new ArrayList<>();
73 List<Trigger> triggers = new ArrayList<>();

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected