All notable changes to this project will be documented in this file.
- Networking refresh token calls are now done more efficiently. The refresh token call will only be done once when multiple calls return a 401.
- Kotlin updated to 2.1.20
- bugfix on the viewbinding of the datarow
- Group id changed to wisemen-digital instead of appwise-labs
- added error handling in the Networking layer so we can handle errors in a more structured way.
- New error handling is integrated in the sample app.
- Added a max lines parameter for the valueText of a datarow
- DSL manner to initialise the CoreApp functions instead of a builder pattern.
- Gradle scripts to kotlin dsl with version catalog
- Bumped all dependencies to the latest version
- Bagel has been removed from the dependencies
- Added documentation for the new way we should do Networking calls.
- Realm has been removed from the dependencies
- JavaVersion 17 is being used now, this might affect your project. If issues arise, please try to upgrade the project itself to use JavaVersion 17.
- Android Gradle Plugin (AGP) has been updated to 8.0.x. This might break your project.
- Deprecating the Measurement API in favor of a standalone API
- The generic function to get a service is limited to extensions of
BaseService. - Deprecated everything regarding Bagel, instead Proxyman is the next successor.
- Updated some dependencies!
- Improved the inner workings of Proxyman so multiple connections won't make the adapter crash.
- Added new functionality in the way of Validators, which can be used in Activities, Fragments and Compose. These can be used to validate certain forms of input fields, switches and many more.
- Fixed thread bug for the coroutine exception
- Created a function to get a service in a more generic way for the networking client
- A status code can now be found when an Api Error occurs.
- Removed the deprecation warnings of the
doCallfunction as this must still be backwards compatible.
- Added DataRow (+ extras) to the project.
- Added a new way to do our Network calls. Errors can now be handled on a 'per call' basis instead of just a flat-out exception. The old way is still available for older projects.
- Fixed issue where the
allPermissionsGrantedwas a false positive - Fixed some crashes for ProxyMan so the app won't crash when it's run on an emulator or a ProxyMan client cannot be found anymore.
- Added required dependencies when importing Room or Core
- Added DataRow (+ extras) to the project.
- Reworked the ViewModelExtensions a bit to add a general
viewModelFactoryfunction to the list. It accepts a ViewModel without any restrictions to the parameters. Also deprecated some functions.
- Created Measurement API to easily convert between units and also format the description with the correct Locale.
- Added
getConverterFactories()to theBaseRestClientso we can reorder ConverterFactories if needed. - Changed the default exception handler in the
BaseViewModelso it will use a LiveData callback instead of a high order function. This makes sure that errors in a coroutine in theinit{}block can be handled as well
- Changed the way we provide a function to create/show a default snackbar.
- The signature of the
configureToolbar()methods has been changed. - Updated the visibility of some functions of the
BaseRestClient. - Added
GetGson()back to theBaseRestClientso it can easily be extended with anewBuilder.
- Cleaned up resources, removed unneeded imports, ...
- Changed immutable interceptor list mutable so the list can be easily added to.
- Fixed issue with the
logout()function as it was breaking on Android API 31 - Fixed the issue where the sourceCode could not be inspected whilst using the modules as a dependency
- Fixed some styling issues with the ProfileActionButton
- Fixed issue with the textColor overriding the textAppearance color of a ProfileActionButton
- Added paging3 module to the build, it will provide some standard ways to add a paging source and will easily hook in to your current implementation with a repository interface and much more.
- Added classes that are used to create fast, easy and commonly used views/components.
- This update contains InitialsImageView, ProfileActionButton , ProfileDataRow , Numberstepper
- Moved Core to a proper module, now a better abstraction can be achieved by adding more submodules to Core. Even a sample app can be created within this project as well. Details of the procedure can be found here.
- Networking, Realm and Room have been moved to separate modules as well.
- Removed 'JCenter' from the repositories list as that service has been discontinued.
- Removed 'easyValidation' dependency as it was a deprecated library that was only available on JCenter.
- Added the possibility to override the choose if you want the Proxyman classes to show it's logs.
- Limited the number of calls/packages Proxyman holds in memory when there is no client available.
- Removed unneeded line that deleted Proxyman clients that weren't connected to your app anymore.
- Added the possibility to override the BaseRestClient's
getHttpLoggingInterceptor()to provide a project specific logging level.
- Added Double and Tripple triggers for LiveData.
tryNavigatefunctions have been added.- Added
ProxymanInterceptorand more, now we can debug our request/response data for calls in the Proxyman mac app.
- Removed Realm from AndroidCore and replaced it with Room.
- Updated
EasyImagedependency which had breaking changes in some of our Extension functions. - Updated a lot of dependencies where a couple of them had some breaking changes, not major but still (functions turned to parameters).
- Using
BaseBindingVMFragment,BaseVMFragment,BaseBindingVMActivityorBaseVMActivitywon't require you to add the ViewModel as a generic object
- Fixed issue with our
parseErrorwhere we didn't want to use a new Retorfit instance. - FadingEdge will now work when adding padding to the
RecyclerViewEmptyLoadingSupport. kotlin_versionadded tobuild.gradleso our dependabot won't fail it's builds.- BaseEntity now expects an
idparam as anAnytype. - Extension function
setupRecyclerViewis now more flexible. - Changed expected type of
idfromInttoAny
- Added an
extraLogoutStep()inBaseNetworkingListenersso it's easier to potentially keep some values in Hawk when logging out. - Added possibility to provide a custom
idColumnInfowhen needed in theBaseDao, default value will still beid - Added possibility to add multiple ApiServices to a RestClient (possibility to use different baseUrl as well)
- Added dependabot to be up-to-date with any dependency changes.
First version of AndroidCore.
- Added a couple of Extension Functions that are used a lot.
- Added a basic implementation for a RestClient, a lot is customizable (baseUrl, protected, headers, interceptor, ...)
- Added other Base class for eas of use (BaseFragment, BaseActivity, BaseViewModel, ...)
- BaseFragment/BaseActivity for use with DataBinding and more are also already available
- Added a lot of dependencies that are use in almost all of our projects
- Added HawkValueDelegate