Skip to content
This repository was archived by the owner on Nov 21, 2024. It is now read-only.

Commit 5fdf0ae

Browse files
committed
Update dependencies, notably MDC to 1.1.0-beta01.
Change-Id: I052fb98b71331a31a85f222d8cd5ca9416b57b0d
1 parent e3d8ff9 commit 5fdf0ae

File tree

10 files changed

+71
-59
lines changed

10 files changed

+71
-59
lines changed

app/build.gradle

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@
1515
apply plugin: 'com.android.application'
1616
apply plugin: 'kotlin-android'
1717
apply plugin: 'kotlin-kapt'
18-
apply plugin: "androidx.navigation.safeargs.kotlin"
18+
apply plugin: 'androidx.navigation.safeargs.kotlin'
1919

2020
android {
2121
compileSdkVersion 29
2222
defaultConfig {
23-
applicationId "com.materialstudies.owl"
23+
applicationId 'com.materialstudies.owl'
2424
minSdkVersion 23
2525
targetSdkVersion 29
2626
versionCode 1
27-
versionName "1.0"
27+
versionName '1.0'
2828
vectorDrawables.useSupportLibrary = true
2929
}
3030
dataBinding {
@@ -46,11 +46,11 @@ android {
4646
}
4747

4848
dependencies {
49-
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
50-
implementation 'androidx.fragment:fragment:1.2.0-alpha02'
49+
implementation 'androidx.appcompat:appcompat:1.1.0'
50+
implementation 'androidx.fragment:fragment:1.2.0-beta02'
5151
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
52-
implementation 'androidx.core:core-ktx:1.0.2'
53-
implementation 'com.google.android.material:material:1.1.0-alpha09'
52+
implementation 'androidx.core:core-ktx:1.1.0'
53+
implementation 'com.google.android.material:material:1.1.0-beta01'
5454
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
5555

5656
implementation "androidx.navigation:navigation-runtime-ktx:$nav_version"

app/src/main/java/com/materialstudies/owl/ui/lessons/LessonsSheetFragment.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,11 @@ class LessonsSheetFragment : Fragment() {
104104
val sheetEndColor =
105105
lessonsSheet.context.getColorStateList(R.color.primary_sheet).defaultColor
106106
val sheetBackground = MaterialShapeDrawable(
107-
ShapeAppearanceModel(
108-
lessonsSheet.context, R.style.ShapeAppearance_Owl_MinimizedSheet, 0
109-
)
107+
ShapeAppearanceModel.builder(
108+
lessonsSheet.context,
109+
R.style.ShapeAppearance_Owl_MinimizedSheet,
110+
0
111+
).build()
110112
).apply {
111113
fillColor = ColorStateList.valueOf(sheetStartColor)
112114
}
@@ -117,7 +119,7 @@ class LessonsSheetFragment : Fragment() {
117119
lessonsSheet.translationX = (lessonsSheet.width - peek).toFloat()
118120

119121
// Alter views based on the sheet expansion
120-
behavior.setBottomSheetCallback(object :
122+
behavior.addBottomSheetCallback(object :
121123
BottomSheetBehavior.BottomSheetCallback() {
122124
override fun onStateChanged(bottomSheet: View, newState: Int) {
123125
backCallback.isEnabled = newState == STATE_EXPANDED

app/src/main/java/com/materialstudies/owl/util/BindingAdapters.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,14 @@ import android.widget.ImageView
2424
import androidx.core.view.updateLayoutParams
2525
import androidx.databinding.BindingAdapter
2626
import com.bumptech.glide.Glide
27-
import com.bumptech.glide.request.RequestListener
2827
import com.google.android.material.elevation.ElevationOverlayProvider
2928

3029
@BindingAdapter("srcUrl", "circleCrop", "placeholder", "loadListener", requireAll = false)
3130
fun ImageView.bindSrcUrl(
3231
url: String,
3332
circleCrop: Boolean,
3433
placeholder: Drawable?,
35-
loadListener: RequestListener<Drawable>?
34+
loadListener: GlideDrawableLoadListener?
3635
) {
3736
val request = Glide.with(this).load(url)
3837
if (circleCrop) request.circleCrop()

app/src/main/java/com/materialstudies/owl/util/GlideUtils.kt

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,32 @@ import com.bumptech.glide.request.target.Target
2828
import com.google.android.material.animation.ArgbEvaluatorCompat
2929
import kotlin.math.roundToInt
3030

31+
fun loadListener(block: (loaded: Boolean) -> Unit) = GlideDrawableLoadListener(block)
32+
3133
/**
32-
* a [RequestListener] which executes an action when an image loads or fails to load.
34+
* A [RequestListener] which executes an action when a [Drawable] loads or fails to load.
3335
*/
34-
fun loadListener(block: () -> Unit) : RequestListener<Drawable> {
35-
return object : RequestListener<Drawable> {
36-
override fun onLoadFailed(
37-
e: GlideException?,
38-
model: Any?,
39-
target: Target<Drawable>?,
40-
isFirstResource: Boolean
41-
): Boolean {
42-
block()
43-
return true
44-
}
36+
class GlideDrawableLoadListener(private val block: (loaded: Boolean) -> Unit) :
37+
RequestListener<Drawable> {
38+
39+
override fun onResourceReady(
40+
resource: Drawable?,
41+
model: Any?,
42+
target: Target<Drawable>?,
43+
dataSource: DataSource?,
44+
isFirstResource: Boolean
45+
): Boolean {
46+
block(true)
47+
return false
48+
}
4549

46-
override fun onResourceReady(
47-
resource: Drawable?,
48-
model: Any?,
49-
target: Target<Drawable>?,
50-
dataSource: DataSource?,
51-
isFirstResource: Boolean
52-
): Boolean {
53-
block()
54-
return false
55-
}
50+
override fun onLoadFailed(
51+
e: GlideException?,
52+
model: Any?,
53+
target: Target<Drawable>?,
54+
isFirstResource: Boolean
55+
): Boolean {
56+
block(false)
57+
return true
5658
}
5759
}

app/src/main/java/com/materialstudies/owl/util/GraphicsExtensions.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import androidx.core.graphics.toRectF
2626
import com.google.android.material.shape.RoundedCornerTreatment
2727
import com.google.android.material.shape.ShapeAppearanceModel
2828

29-
// TODO make inline class once non-experimental
3029
class CornerRounding(
3130
val topLeftRadius: Float = 0f,
3231
val topRightRadius: Float = 0f,
@@ -44,14 +43,13 @@ fun CornerRounding.toFloatArray(): FloatArray {
4443
)
4544
}
4645

47-
fun ShapeAppearanceModel?.toCornerRounding(): CornerRounding {
46+
fun ShapeAppearanceModel?.toCornerRounding(bounds: RectF): CornerRounding {
4847
if (this == null) return CornerRounding()
49-
// TODO handle non rounded corners?
5048
return CornerRounding(
51-
if (topLeftCorner is RoundedCornerTreatment) topLeftCorner.cornerSize else 0f,
52-
if (topRightCorner is RoundedCornerTreatment) topRightCorner.cornerSize else 0f,
53-
if (bottomRightCorner is RoundedCornerTreatment) bottomRightCorner.cornerSize else 0f,
54-
if (bottomLeftCorner is RoundedCornerTreatment) bottomLeftCorner.cornerSize else 0f
49+
topLeftCornerSize.getCornerSize(bounds),
50+
topRightCornerSize.getCornerSize(bounds),
51+
bottomRightCornerSize.getCornerSize(bounds),
52+
bottomLeftCornerSize.getCornerSize(bounds)
5553
)
5654
}
5755

app/src/main/java/com/materialstudies/owl/util/ShapeAppearanceTransformation.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ class ShapeAppearanceTransformation(
5151
outWidth: Int,
5252
outHeight: Int
5353
): Resource<Bitmap> {
54-
val model = shapeAppearanceModel ?: ShapeAppearanceModel(context, shapeAppearanceId, 0)
54+
val model = shapeAppearanceModel ?: ShapeAppearanceModel.builder(
55+
context,
56+
shapeAppearanceId,
57+
0
58+
).build()
5559
.also { shapeAppearanceModel = it }
5660
val bitmap = createBitmap(outWidth, outHeight)
5761
bitmap.applyCanvas {

app/src/main/java/com/materialstudies/owl/util/transition/MaterialContainerTransition.kt

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,19 @@ class MaterialContainerTransition(
9494
// TODO handle if drawIn is not at [0, 0] as bounds in screen co-ords
9595
val drawIn = view.findAncestorById(drawInId)
9696

97+
val startBounds = startValues.values[PROP_BOUNDS] as RectF
98+
val endBounds = endValues.values[PROP_BOUNDS] as RectF
9799
val dr = MaterialContainerTransitionDrawable(
98100
startValues.values[PROP_BITMAP] as Bitmap,
99-
startValues.values[PROP_BOUNDS] as RectF,
100-
(startValues.values[PROP_SHAPE_APPEARANCE] as ShapeAppearanceModel?).toCornerRounding(),
101+
startBounds,
102+
(startValues.values[PROP_SHAPE_APPEARANCE] as ShapeAppearanceModel?).toCornerRounding(
103+
startBounds
104+
),
101105
endValues.values[PROP_BITMAP] as Bitmap,
102-
endValues.values[PROP_BOUNDS] as RectF,
103-
(endValues.values[PROP_SHAPE_APPEARANCE] as ShapeAppearanceModel?).toCornerRounding(),
106+
endBounds,
107+
(endValues.values[PROP_SHAPE_APPEARANCE] as ShapeAppearanceModel?).toCornerRounding(
108+
endBounds
109+
),
104110
view.descendantBackgroundColor()
105111
)
106112

@@ -153,11 +159,12 @@ class MaterialContainerTransition(
153159
.use {
154160
val shapeAppId = it.getResourceId(0, -1)
155161
if (shapeAppId != -1) {
156-
transitionValues.values[PROP_SHAPE_APPEARANCE] = ShapeAppearanceModel(
157-
view.context,
158-
shapeAppId,
159-
0
160-
)
162+
transitionValues.values[PROP_SHAPE_APPEARANCE] = ShapeAppearanceModel
163+
.builder(
164+
view.context,
165+
shapeAppId,
166+
0
167+
).build()
161168
}
162169
}
163170
}

app/src/main/res/layout/fragment_learn.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
type="com.materialstudies.owl.model.Course"/>
2626
<variable
2727
name="imageLoadListener"
28-
type="com.bumptech.glide.request.RequestListener"/>
28+
type="com.materialstudies.owl.util.GlideDrawableLoadListener"/>
2929
</data>
3030

3131
<FrameLayout
@@ -54,10 +54,10 @@
5454
app:layout_constraintTop_toTopOf="parent"
5555
app:layout_constraintEnd_toEndOf="parent"
5656
app:layout_constraintDimensionRatio="4:3"
57-
app:srcCompat="@drawable/course_image_placeholder"
58-
android:foreground="@drawable/learn_image_scrim"
5957
android:scaleType="centerCrop"
58+
android:foreground="@drawable/learn_image_scrim"
6059
app:srcUrl="@{course.thumbUrl}"
60+
app:placeholder="@{@drawable/course_image_placeholder}"
6161
app:loadListener="@{imageLoadListener}"/>
6262

6363
<androidx.appcompat.widget.Toolbar

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
*/
1414

1515
buildscript {
16-
ext.kotlin_version = '1.3.41'
17-
ext.nav_version = '2.2.0-alpha01'
16+
ext.kotlin_version = '1.3.50'
17+
ext.nav_version = '2.2.0-beta01'
1818
repositories {
1919
google()
2020
jcenter()
2121
}
2222
dependencies {
23-
classpath 'com.android.tools.build:gradle:3.6.0-alpha06'
23+
classpath 'com.android.tools.build:gradle:3.6.0-beta01'
2424
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
2525
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
2626
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)