People might want to set some of the buttons to GONE, this cl makes sure
the shape appearances remain coherent after doing so dynamically.
Resolves https://github.com/material-components/material-components-android/issues/693
PiperOrigin-RevId: 276508915
(cherry picked from commit 9fc13777550b4378a48aea22f46b7656805a20c8)
This allows for more easily updating the CornerSize independently from the CornerTreatment and makes it possible to create different types of CornerSizes such as percentage based corners. However, this means corner sizes can be different depending on the bounds of the shape, so the bounds need to be provided. MaterialShapeDrawable has bounds and the ShapeAppearanceModel, so there are new convenience methods there which return the current corner size for the current bounds of the drawable.
PiperOrigin-RevId: 272908508
(cherry picked from commit 0547d2a06bfa636990c99c74a7a16e02cef41647)