Skip to content
akhasoft edited this page Nov 16, 2017 · 1 revision

Yakhont: the list of available features

Callback components

  • developer-defined callbacks to customize lifecycles of Activities and Fragments

Location component

  • extremely easy to use - just annotate your Activity
  • both new and old Google Location API support
  • Rx support
  • auto handling of dynamic permissions
  • build-in conversion to DMS format (something like 5°31′08″ N 87°04′18″ W)

Loader component

  • build-in cache
  • build-in swipe-to-refresh
  • fully asynchronous
  • forced timeouts
  • Retrofit support
  • Rx support
  • device orientation changing support
  • fully customizable progress GUI
  • possibility to cancel data loading (also with customizable GUI)
  • extendable (support for non-Retrofit components can be added)

Retrofit components

  • both Retrofit and Retrofit 2 support
  • HTTP headers and cookies (Retrofit 2 only) support
  • local clients (in demo)

Rx components

  • both RxJava and RxJava 2 support
  • build-in error handlers
  • SafeSubscriber wrappers

Adapter component

  • automatic (but fully customizable) data binding
  • build-in cache support
  • RecyclerView, ListView and GridView support

Cache component

  • automatic and absolutely transparent
  • creates tables and adds columns "on the fly"
  • BLOB support
  • transactions support (including bulk insert)
  • database copy support (for debugging)

Permissions component

  • completely auto handling of permission requests and system responses: just define "on granted" and / or "on denied" callbacks
  • fully customizable GUI

GUI component

  • progress and alert dialogs (fully customizable via Dagger 2)
  • context-independent Snackbars and Toasts (required Context defines automatically)

Dagger 2 component

  • GUI and location clients customization

Logging component

  • auto-disabled in release builds
  • stack traces for logging records (customizable)
  • supports sending logs and screenshots via e-mail (just shake device); any logcat command can be used
  • extendable (supports 3rd-party logging components)

System component

  • possibility to check either application coming to the foreground or going to the background
  • methods to find out current Application, Activity and default View for the given Activity
  • e-mail support
  • zip support

Reflection component

  • advanced method finding: auto unboxing, supertypes and nulls support
  • invocation with or without exceptions
  • useful setters and getters for fields

Debug components

  • Application, Activities and Fragments lifecycle logging support (can be enabled even for 3rd-party components)
  • more than 40 build-in debug classes (in full version only)
  • StrictMode support

Preprocessor component

  • generates sources for support and full versions (including debug classes, customizable)

Weaver component

  • manipulates the compiled Java bytecode, fully customizable