/
GreatFit.java
105 lines (88 loc) · 3.26 KB
/
GreatFit.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package com.dinodevs.greatfitwatchface;
import android.content.Context;
import com.dinodevs.greatfitwatchface.settings.LoadSettings;
import com.dinodevs.greatfitwatchface.widget.FloorWidget;
import com.dinodevs.greatfitwatchface.widget.MoonPhaseWidget;
import com.dinodevs.greatfitwatchface.widget.SportTodayDistanceWidget;
import com.dinodevs.greatfitwatchface.widget.SportTotalDistanceWidget;
import com.dinodevs.greatfitwatchface.widget.StepsWidget;
import com.huami.watch.watchface.AbstractSlptClock;
import com.dinodevs.greatfitwatchface.widget.BatteryWidget;
import com.dinodevs.greatfitwatchface.widget.HeartRateWidget;
import com.dinodevs.greatfitwatchface.widget.MainClock;
import com.dinodevs.greatfitwatchface.widget.CaloriesWidget;
import com.dinodevs.greatfitwatchface.widget.GreatWidget;
import com.dinodevs.greatfitwatchface.widget.WeatherWidget;
import java.lang.ref.WeakReference;
/**
* Amazfit watch faces
*/
public class GreatFit extends AbstractWatchFace {
public GreatFit() {
super();
}
private static WeakReference<GreatFit> instance;
private GreatWidget greatWidget = null;
@Override
public void onCreate() {
instance = new WeakReference(this);
// Load settings
LoadSettings settings = new LoadSettings(this.getApplicationContext());
this.clock = new MainClock(settings);
if(settings.isHeartRate()) {
this.widgets.add(new HeartRateWidget(settings));
}
if(settings.isStepsRate()) {
this.widgets.add(new StepsWidget(settings));
}
if(settings.isTodayDistanceRate()) {
this.widgets.add(new SportTodayDistanceWidget(settings));
}
if(settings.isTotalDistanceRate()) {
this.widgets.add(new SportTotalDistanceWidget(settings));
}
if(settings.isCalories()) {
this.widgets.add(new CaloriesWidget(settings));
}
if(settings.isFloor()) {
this.widgets.add(new FloorWidget(settings));
}
if(settings.isBattery()) {
this.widgets.add(new BatteryWidget(settings));
}
if(settings.isWeather()) {
this.widgets.add(new WeatherWidget(settings));
}
if (settings.isMoonPhase()){
this.widgets.add(new MoonPhaseWidget(settings));
}
if(settings.isGreat()) {
this.greatWidget = new GreatWidget(settings);
this.widgets.add(this.greatWidget);
}
status_bar(settings.status_bar, settings.status_barLeft, settings.status_barTop);
super.onCreate();
}
private void status_bar(boolean isOn, float left, float top){
// Show it or... show it off screen :P
if(isOn) {
notifyStatusBarPosition(
(float) left,
(float) top
);
}else{
notifyStatusBarPosition(10.0F,10.0F);// not working
}
}
public static GreatWidget getGreatWidget() {
WeakReference weakReference = instance;
if (weakReference != null) {
return ((GreatFit) weakReference.get()).greatWidget;
}
return null;
}
@Override
protected Class<? extends AbstractSlptClock> slptClockClass() {
return GreatFitSlpt.class;
}
}