All notable changes to this project will be documented in this file.
- 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
doCall
function 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
allPermissionsGranted
was 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
viewModelFactory
function 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 theBaseRestClient
so we can reorder ConverterFactories if needed. - Changed the default exception handler in the
BaseViewModel
so 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 theBaseRestClient
so 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.
tryNavigate
functions have been added.- Added
ProxymanInterceptor
and 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
EasyImage
dependency 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
,BaseBindingVMActivity
orBaseVMActivity
won't require you to add the ViewModel as a generic object
- Fixed issue with our
parseError
where we didn't want to use a new Retorfit instance. - FadingEdge will now work when adding padding to the
RecyclerViewEmptyLoadingSupport
. kotlin_version
added tobuild.gradle
so our dependabot won't fail it's builds.- BaseEntity now expects an
id
param as anAny
type. - Extension function
setupRecyclerView
is now more flexible. - Changed expected type of
id
fromInt
toAny
- Added an
extraLogoutStep()
inBaseNetworkingListeners
so it's easier to potentially keep some values in Hawk when logging out. - Added possibility to provide a custom
idColumnInfo
when 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