You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It extends the [Application.ActivityLifecycleCallbacks](https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks.html)
27
+
```groovy
28
+
@CallbacksInherited(LocationCallbacks.class)
29
+
public class YourActivity extends Activity implements LocationListener {
30
+
@Override
31
+
public void onLocationChanged(Location location, Date date) {
32
+
// your code here
33
+
}
34
+
}
35
+
```
36
+
37
+
Yakhont extends the [Application.ActivityLifecycleCallbacks](https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks.html)
16
38
approach to support your own callbacks creation, that allows to customize handling of
17
39
almost every lifecycle state of your Activities and Fragments - and even without changing
18
40
their sources (especially useful for libraries developers).
19
41
20
-
Powerful loader wrappers, which allows loading data in just one line of code, are abstracting
21
-
you away from things like loaders management, data binding and caching, progress dialogs
22
-
(fully customizable), errors handling and low-level threading;
23
-
don't miss the swipe refresh and Rx support too.
42
+
The powerful loader wrappers, which (in simplest, but very typical case) allows loading data
43
+
in one line of code, are abstracting you away from things like loaders management, data binding
44
+
and caching, progress dialogs (fully customizable), errors handling and low-level threading;
45
+
don't miss the swipe refresh and both Rx and Rx2 support too.
24
46
25
-
In short, the data loader features are:
47
+
In short, the data loaders features are:
26
48
- fully asynchronous
27
-
- forced timeout
28
-
- transparent cache
49
+
- forced timeouts
50
+
-automatic and absolutely transparent cache
29
51
- both [RxJava](https://github.com/ReactiveX/RxJava/tree/1.x) and [RxJava 2](https://github.com/ReactiveX/RxJava) support
30
52
- both [Retrofit](http://square.github.io/retrofit/1.x/retrofit/) and [Retrofit 2](http://square.github.io/retrofit/2.x/retrofit/) support
31
53
- swipe-to-refresh
32
54
- device orientation changing support
33
-
- fully customizable GUI progress (via Dagger 2)
34
-
35
-
Other features includes:
36
-
- out-of-the-box location awareness: just annotate your Activity and you're done
55
+
- fully customizable GUI progress (via Dagger 2)
56
+
- and last but not least: if Retrofit does not meet your requirements,
57
+
support for any other libraries can be added easily
58
+
59
+
In addition, there are the location features which includes:
60
+
- both new ([FusedLocationProviderClient](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient)-based)
61
+
and old ([GoogleApiClient](https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient)-based)
62
+
Google Location API support
63
+
- completely auto (but fully customizable via callbacks) permission handling
64
+
- tons of boilerplate code are not needed anymore - just annotate your Activity
65
+
- Rx support (both [RxJava](https://github.com/ReactiveX/RxJava/tree/1.x) and [RxJava 2](https://github.com/ReactiveX/RxJava))
66
+
67
+
So, the features Yakhont provides are:
68
+
- powerful (but very easy in use) data loaders
37
69
- self-configurable transparent cache which adjusts database structure 'on the fly'
70
+
- out-of-the-box location awareness: just annotate your Activity and you're done
71
+
- dynamic permissions handling, powered by user-defined callbacks
38
72
- debug classes with strict mode and lifecycle logging - for all kinds of
39
-
Activities and Fragments (can be enabled even for 3rd-party components)
73
+
Activities and Fragments (can be enabled even for 3rd-party components via simple,
74
+
but effective Yakhont preprocessor)
40
75
- advanced logging with e-mail support (auto-disabled in release builds) and more.
41
76
42
77
All Activities and Fragments are supported: it's not necessary to derive them from any predefined
43
78
ones (with one exception - you will need it for lifecycle debug).
44
79
45
-
The Yakhont AAR is about 300 KB (except the _full_ version, which is about 500 KB).
80
+
The Yakhont AAR is about 320 KB (except the _full_ version, which is about 530 KB).
46
81
47
82
Yakhont supports Android 2.3 (API level 9) and above
48
83
(_core_ version requires Android 3.0 (API level 11) as a minimum).
49
84
50
-
**Note:** Location API requires Android 4.0 (API level 14).
0 commit comments