date-android:- Fixed package name in the manifest to avoid
BuildConfigclash with thedatelibrary
- Fixed package name in the manifest to avoid
date-android:- Fixed package name for classes in this module to avoid a clash with the
datelibrary
- Fixed package name for classes in this module to avoid a clash with the
date-android:- Added a method to get a date and time String from an
Instant
- Added a method to get a date and time String from an
- Updated all dependencies to their latest versions
- Separated the
datemodule intodateanddate-androidin preparation for KMP - Switched the
prefsmodule to besettingsto use theMultiplatformSettingslibrary in preparation for KMP
- Fix bug with resolving Firebase Analytics
- Updated all dependencies to their latest versions
- Restructured the Gradle scripts (using Kotlin DSL and
buildSrc) - Updated the publishing action for all of the modules
- Added function to display a toast (It was removed from AndroidX)
- Updated all dependencies to their latest versions
ui:- Added extension function to
ImageViewto set an image resource using the Compat functions - Added extension to
EditTextto set the IME action button and listener - Added extension to
TextViewto set the text color using the Compat functions and a color Id
- Added extension function to
util:- Added extension function to convert a dp value to pixels
- Added fallback on opening a Chrome custom tab to use the opening of a normal Url
prefs:- Pulled out the
SharedPrefLiveDatainto a separate class to be used by others - Made the
liveData()function on theBasePrefopen
- Pulled out the
prefs:- Added a
liveData()method on the prefs objects to make them observable.
- Added a
ui:- Removed the
RecyclerViewadapter implementation from v5.0.0 as it wasn't working out
- Removed the
dialog:- Added extension functions to quickly add "Ok" and "Cancel" buttons to a dialog
analytics:- Added interface for Analytics related functions
- Removed old GA stuff
dialog:- Updated to Material Dialogs v2.0
ui:- Added new
RecyclerViewadapter implementation for easier instantiation
- Added new
coroutines:- Changed default job to
SupervisorJob
- Changed default job to
- Updated dependencies
- Added Spotless
- Started using Codacy
log:- Add the
TimberTaginterface, which allows you to easily add tags to every Timber log that implements that class
- Add the
coroutines:- Renamed the
CoroutineActivity
- Renamed the
analytics:- Deprecated
GAManagerin favor of Firebase
- Deprecated
coroutines:- Added the
BetterCoroutineScope, which is aCoroutineScopewith a cancel method - Renamed the
MainScope - Changed the
ViewModelclasses to use the newMainScope - Added the
CoroutinesActivitythat uses theMainScope
- Added the
ui:- Removed pre-21 compatibility when setting the
Drawabletint
- Removed pre-21 compatibility when setting the
util:- Cleaned up the
Deviceobject: Switched to API numbers instead of names, switched functions to variables
- Cleaned up the
coroutines:- Fixed the coroutine dependency used (Android specific)
coroutines:- Move the
bind()method into theLifeycleOwnerUIScope
- Move the
util:- Add explicit
ActivityNotFoundExceptionthrowing for when opening a url or custom tab
- Add explicit
coroutines:- New module, with useful extension functions and classes to use with Kotlin coroutines
firebase-analytics:- New module, with useful extension functions to use Google Analytics for Firebase within your app
io:- Further bug fixes for v4.5.1, including a method name change for
getFileUri()
- Further bug fixes for v4.5.1, including a method name change for
io:- Bug fix for v4.5.0
io:- Added
Contextextension to get theUrifor a file - Added
Contextextension to create and write contents to a file - Changed order of parameters on
getFile() - Added a provider paths Xml to cover the default case
- Added
room:- Added
TypeConverters forMutableList<T>, with convenience converters for String and Int - Added convenience method to log an
AppUpdatebased on its name and code
- Added
room:- Added the
AppUpdateclass and its Db/Dao to keep track of when the app is updated
- Added the
log:- Added a logger for
Koin
- Added a logger for
log:- Added the logging of the
priority
- Added the logging of the
- Updated to Kotlin 1.3
- Changed min SDK version to 21
room:- Moved the
Daos and theTypeConverters to separate packages - Added the
BaseUpdateDaoand theBaseInsertDaoif you just need one subcategory of default methods - Changed the conflict strategy of the
INSERTfunctions to beREPLACE
- Moved the
room:- Added the
BaseDaofor basic functions on one model type - Added the
BaseConverterfor a basicTypeConverterimplementation - Added the
BaseListConverterfor a basic listTypeConverterimplementation - Added a
TypeConverterforLocalTimes
- Added the
util:- Minor updates to the new
BaseUpdateManager
- Minor updates to the new
util:- Minor updates to the new
BaseUpdateManager
- Minor updates to the new
util:- Added the new
BaseUpdateManagerthat works off ofMigrationclasses - Renamed old
BaseUpdateManagertoOldBaseUpdateManager(breaking) - Switched to Kotlin folder conventions for this module
- Added the new
- Updated all libraries, including switching over to AndroidX
lifecycle:- Added module for the Android Lifecycle components, with an extension to observe on a LifecycleOwner.
room:- Added module for Android Room, with some common
TypeConverters
- Added module for Android Room, with some common
util:- Removed the connection info from the debug info, moved it from an extension to a static method
dialog:- Changed the order of the params in the list dialog functions to have all defaulted params at the end.
dialog- Changed all the interfaces to lambdas
- Moved all lambdas to be the last parameter in the functions
- Removed the
dbmodule completely date:- Added option to specify the locale on all formatters
- Changed
isPast,isFuture, andrfc1123Stringmethods to be variables instead of functions - Added
isTodayvariables - Removed the old setter and getter methods on the
Prefclasses. You should access thedateproperty directly
dialog:- Removed all previously deprecated classes/methods
- For the list dialogs, all params are now taken directly instead of having a separate interface to implement
io:- Removed all previously deprecated classes/methods
log:- Added the
tagvalue to the function that logs a message
- Added the
prefs- Removed the old setter and getter methods on the
Prefclasses. You should access thevalueproperty directly
- Removed the old setter and getter methods on the
ui:- Removed all previously deprecated classes/methods
- Added function to set an
ImageViewtint using a color resource Id - Added function to set a
TextView's compoundDrawabletint using a color resource Id
util:- Removed all previously deprecated classes/methods
- Changed device measurement functions to be extensions
ui:- Big fix of v2.6.9
ui:- Added methods to set the drawables on a
TextViewas named parameters
- Added methods to set the drawables on a
- Library updates
ui:- Added method to simplify watching an
EditText
- Added method to simplify watching an
util:- Made
showEmptyView()methods on the adaptersopen
- Made
util:- Added a method to wrap a
Contextwith aLocaleto change the app language
- Added a method to wrap a
util:- Added option to add custom info to the debug info
util:- Added extension to get the color from a
Contextin a backwards compatible manner
- Added extension to get the color from a
util:- Added method to get debug info for feedback/bug reports
date:- Changed the
Temporalextensions to be forTemporalAccessors instead
- Changed the
ui:- Fix wrong call to get the
TextView's compound drawables when tinting
- Fix wrong call to get the
prefs&date:- Created nullable and non-nullable variations of every preference helper class
- Breaking:
StringPref,DatePref, andLocalDatePrefare no longer nullable. In order to continue using them as nullable, use theirNullXPrefequivalents
- Breaking:
- Created nullable and non-nullable variations of every preference helper class
analytics:- Convert
isDisabledinGAManagerto a property
- Convert
dialog:- Made all
DialogUtilmethods extensions and deprecated the old one
- Made all
util:- Added a default name for the version pref name in the
BaseUpdateManager - Added a method that is called when an update is finished in the
BaseUpdateManager - Added a default file type (null) for
context.getFile()
- Added a default name for the version pref name in the
ui:- Added extension to set a
View's padding with a dimension Id - Added extension to set a
TextView's text size with a dimension Id
- Added extension to set a
io:- Deprecated the
IOUtils, replacing it with extensions
- Deprecated the
prefs/date:- Removed a bunch of redundant code within the pref classes
- Added backing properties to the pref classes
util:- Made connectivity methods extensions
- Moved folder operations to extensions
- Moved permission operations to extensions /
Utilclass
- Removed methods that are now part of Android KTX
- Updated all dependencies
- Switched min SDK to 17, target SDK to 27
date:- Made all date formatting methods extensions
- Added code to allow ranges of dates
ui:- Added a
BaseListAdapter - Made all tinting methods extensions
- Breaking:
TextViewdrawable tinting now uses relative positioning
- Added a
util:- Added a String extension to get a
Spannedfrom an Html String - Made all
Contextutil methods extensions
- Added a String extension to get a
util:- Made the
BaseUpdateManagermethodsopen
- Made the
- Updated Kotlin
util:- Added the
BaseUpdateManagerclass, to serve as a base for running update code
- Added the
- Updated all of the dependencies (notably support library)
- Bumped target to 26
util:- Added a method to check if a Permission has been granted
dialog:- Fixed the multi list dialog button type
analytics- Switched
isDisabled()to be a method instead of a variable
- Switched
analytics- Added the Analytics module for Google Analytics helper methods
date:- Added missing static annotation
date:- Switched some of the formatting Strings to take in
TemporalAccessors instead ofTemporals - Added formatting method to return the full date String
- Switched some of the formatting Strings to take in
util:- Fixed bug where opening a Url in a Chrome custom tab would crash the app if the scheme was missing from the Url
util:- Added method to open a Url within a Chrome custom tab
log:- Made the abstract methods protected within the
ProductionTree
- Made the abstract methods protected within the
ui:- Made the utility methods static in Java
util:- Overloaded some methods in the
Utilsclass for Java
- Overloaded some methods in the
dialog:- Fixed order parameters to work better in Java
date:- Changed all of the
XXXPrefmethods to open
- Changed all of the
dialog:- Added some
@JvmOverloadsto the right methods inDialogUtils
- Added some
prefs:- Changed all of the
XXXPrefmethods to open
- Changed all of the
- Converted everything to Kotlin!
- Renamed the repo
- Broke everything out into separate modules (see the README for more info)
- Dependencies now come bundled in instead of expecting them to be included by the different projects
- Added method to get a randomly generated UUID
- Added the
RecyclerViewBaseAdapter, a base adapter for aRecyclerViewwith a built-in ViewHolder and empty view support
- Fixed the opening of the PDF for Nougat +
- New: Added method to check if we are on Nougat or higher
- Renamed the OS version check method names to be clearer
- New: Added method to check if a given version is more recent than the current version
- New: Added a LocalDatePreference to store LocalDates in SharedPreferences
- New: Added method to put the logs into a given file (used for bug reports)
- New: Added helper methods to get device screen height and width
- New: Added helper method to tint an ImageView
- New: Added helper method to tint the icon of a menu item
- Update: Fixed bug where the tint was not getting correctly applied on a drawable in pre-Lollipop
- New: Added method to check the user's internet connection based on the context
- New: Added method to an attribute's resource Id to set it programmatically
- New: Added new helper method to create a 2-choice AlertDialog
- New: Added method to quickly generate a multi-choice dialog
- New: Added method to open PDFs
- New: Added method to get the device manufacturer and model
- Added check for
http://orhttps://on a URL before trying to open it
- Removed the need for Timber for some utility classes
- Removed Dagger dependency
- New: Added method to display a neutral AlertDialog with a message String and an OnClickListener for the button
- New: Added method to display a toast with a message String
- New: Added method to open the current app in the Play Store using the package name from the passed Context
- Fix: Fixed the loadObject() method in the StorageUtils to work with a list of objects
- New: CustomDurationViewPager is a ViewPager instance that has a custom scroll animation speed
- New: Date/Time formatter methods can now take null parameters (they will return null in this case)
- Fix: Fixed short date formatter not being correctly initialized
- New: Added methods to load and save objects to internal storage
- Added method to get a BufferedSource for a raw resource
- Added method to open an app on the Play Store
- Added method to get the short String for a date
- Fixed method name in DateUtils
- Added method to get the short String for a time
- Added methods to check the future and past of a ZoneDateTime
- Added some date utility methods
- Added a SharedPreferences helper class for dates
- Added method to read a String from a file in the raw resource folder
- Added Device class, with helper methods to determine the device's OS
- Added method to check connectivity
- Set up a base class for all preference utility classes
- Added method to check if the preference is set
- Added clear methods for the SharedPreferences utility classes
- Fixed bug with the scopes of the constructors of the Preference classes
- Added more AlertDialog helper methods
- Switched the Gradle dependencies to "provided"
- Now returning the created AlertDialog in the DialogUtils static helper methods.
- Added option to not specify a title and message for any type of Alert Dialog
- Renamed the Utils class
- Renamed the DialogUtil class
- Added the non swipeable ViewPager
- Initial Release. Includes:
- Timber tree for production builds
- Shared Preferences helpers
- Dialog helpers
- Static utility class