Skip to content

Commit 01b9f97

Browse files
committed
Release 1.4.0
1 parent b8c4bac commit 01b9f97

4 files changed

Lines changed: 19 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# CHANGELOG
22

3+
## 1.4.0
4+
_2021-04-23_
5+
6+
Add the ability to define a `DeferredDimension.Constant` with `DP` and `SP` units, in addition to
7+
the default `PX`.
8+
39
## 1.3.0
410
_2021-02-19_
511

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,32 @@ resolution or about Context:
2828
class LocalViewModel : MyViewModel {
2929
override fun getText(): DeferredText = DeferredText.Resource(R.string.someText)
3030
override fun getTextColor(): DeferredColor = DeferredColor.Attribute(R.attr.colorOnBackground)
31+
override fun getTextSize(): DeferredDimension = DeferredDimension.Attribute(R.attr.bodyTextSize)
3132
}
3233

3334
class RemoteViewModel(private val api: Api) : MyViewModel {
3435
override fun getText(): DeferredText = DeferredText.Constant(api.fetchText())
3536
override fun getTextColor(): DeferredColor = DeferredColor.Constant(api.fetchTextColor())
37+
override fun getTextSize(): DeferredDimension =
38+
DeferredDimension.Constant(api.fetchTextSize(), DeferredDimension.Constant.Unit.SP)
3639
}
3740
```
3841

3942
In the view layer, resolve a deferred resource to display it:
4043
```kotlin
4144
val text: DeferredText = viewModel.getText()
4245
val textColor: DeferredColor = viewModel.getTextColor()
46+
val textSize: DeferredDimension = viewModel.getTextSize()
4347
textView.text = text.resolve(context)
4448
textView.setTextColor(textColor.resolve(context))
49+
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, deferredSize.resolveExact(context))
4550
```
4651

4752
With view extensions, this is even simpler:
4853
```kotlin
4954
textView.setText(viewModel.getText())
5055
textView.setTextColor(viewModel.getTextColor())
56+
textView.setTextSize(viewModel.getTextSize())
5157
```
5258

5359
### Text types

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ buildscript {
3535

3636
ext {
3737
publishGroup = 'com.backbase.oss.deferredresources'
38-
libraryVersion = '1.4.0-SNAPSHOT'
38+
libraryVersion = '1.4.0'
3939
minSdk = 14
4040
targetSdk = 30
4141
buildToolsVersion = '30.0.3'

docs/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,34 @@ resolution or about Context:
1414
class LocalViewModel : MyViewModel {
1515
override fun getText(): DeferredText = DeferredText.Resource(R.string.someText)
1616
override fun getTextColor(): DeferredColor = DeferredColor.Attribute(R.attr.colorOnBackground)
17+
override fun getTextSize(): DeferredDimension = DeferredDimension.Attribute(R.attr.bodyTextSize)
1718
}
1819

1920
// API-based text and color:
2021
class RemoteViewModel(private val api: Api) : MyViewModel {
2122
override fun getText(): DeferredText = DeferredText.Constant(api.fetchText())
2223
override fun getTextColor(): DeferredColor = DeferredColor.Constant(api.fetchTextColor())
24+
override fun getTextSize(): DeferredDimension =
25+
DeferredDimension.Constant(api.fetchTextSize(), DeferredDimension.Constant.Unit.SP)
2326
}
2427
```
2528

2629
In the view layer, resolve a deferred resource to display it:
2730
```kotlin
2831
val text: DeferredText = viewModel.getText()
2932
val textColor: DeferredColor = viewModel.getTextColor()
33+
val textSize: DeferredDimension = viewModel.getTextSize()
3034
textView.text = text.resolve(context)
3135
textView.setTextColor(textColor.resolve(context))
36+
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, deferredSize.resolveExact(context))
3237
```
3338

3439
With view extensions, this is even simpler. The View's own Context is used to resolve any deferred
3540
resource types:
3641
```kotlin
3742
textView.setText(viewModel.getText())
3843
textView.setTextColor(viewModel.getTextColor())
44+
textView.setTextSize(viewModel.getTextSize())
3945
```
4046

4147
### Text types

0 commit comments

Comments
 (0)