-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
947cebd
commit b1a1683
Showing
1 changed file
with
53 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# SpinWill | ||
|
||
A modern and highly customisable library to implement spinwheel feature in your android app which comes packed with inbuilt local database support that allows you to periodically _fetch and cache_ the reward items 🎁. | ||
|
||
### How to use: | ||
|
||
create and save this injector instance (recommended to be application scoped) | ||
|
||
`private val injector by lazy { | ||
SpinWillInjector<SpinWillItem>() | ||
}` | ||
|
||
provide the following dependencies to the injector : | ||
1. Application context | ||
2. SpinWillRemoteDatabase | ||
3. SpinWillLocalDatabase (requires SpinWillDbActions incase you are using default local db immpl) | ||
4. SpinWillBitmapLoadUseCase | ||
|
||
example : | ||
|
||
NOTE : We are assuming SpinWillItem is the reward item model class. | ||
|
||
``` | ||
injector.init(this, RemoteDatabaseImpl()) | ||
// provide localDatabase | ||
injector.setLocalDatabase( | ||
// predefined impl provided by the library | ||
SpinWillLocalDbImpl(daoActions) // provide daoActions to the local db | ||
) | ||
// provide bitmap load usecase | ||
injector.setBitmapLoadUseCase( | ||
// predefined impl provided by the library | ||
SpinWillBitmapLoadUseCaseImpl( | ||
this.applicationContext, | ||
// provide the ItemAdapter | ||
object : WillItemAdapter<SpinWillItem> { | ||
override fun getRewardImageUrl(item: SpinWillItem): String { | ||
return item.rewardImage | ||
} | ||
override fun setRewardBitmap(item: SpinWillItem, bitmap: Bitmap) { | ||
item.rewardBitmap = bitmap | ||
} | ||
}) | ||
) | ||
} | ||
``` | ||
|
||
|
||
|
||
|