Use -Xjvm-default=all instead of -Xjvm-default=enable or @JvmDefault
The @JvmDefault annotation and -Xjvm-default=enable argument are both removed from kotlinc 1.9.0 in favor of -Xjvm-default=all. Bug: 291335478 Test: builds Change-Id: I473e578b92482fbd6c8812c4d32acc1a4c27a84a Merged-In: I473e578b92482fbd6c8812c4d32acc1a4c27a84a
This commit is contained in:
@@ -161,7 +161,7 @@ android_library {
|
||||
// *.kt sources are inside a filegroup.
|
||||
"kotlin-annotations",
|
||||
],
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
manifest: "AndroidManifest.xml",
|
||||
plugins: ["dagger2-compiler"],
|
||||
}
|
||||
|
||||
@@ -94,7 +94,6 @@ class FloatingContentCoordinator constructor() {
|
||||
* non-overlapping.
|
||||
* @return The new bounds for this content.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun calculateNewBoundsOnOverlap(
|
||||
overlappingContentBounds: Rect,
|
||||
otherContentBounds: List<Rect>
|
||||
|
||||
@@ -173,7 +173,6 @@ class DesktopModeTaskRepository {
|
||||
/**
|
||||
* Called when the active tasks change in desktop mode.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onActiveTasksChanged() {}
|
||||
}
|
||||
|
||||
@@ -184,7 +183,6 @@ class DesktopModeTaskRepository {
|
||||
/**
|
||||
* Called when the desktop starts or stops showing freeform tasks.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onVisibilityChanged(hasVisibleFreeformTasks: Boolean) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ android_test {
|
||||
"libstaticjvmtiagent",
|
||||
],
|
||||
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
|
||||
plugins: ["dagger2-compiler"],
|
||||
|
||||
|
||||
@@ -26,7 +26,10 @@ package {
|
||||
android_app {
|
||||
// the build system in pi-dev can't quite handle R.java in kt
|
||||
// so we will have a mix of java and kotlin files
|
||||
srcs: ["src/**/*.java", "src/**/*.kt"],
|
||||
srcs: [
|
||||
"src/**/*.java",
|
||||
"src/**/*.kt",
|
||||
],
|
||||
|
||||
resource_dirs: ["res"],
|
||||
|
||||
@@ -39,16 +42,16 @@ android_app {
|
||||
proguard_flags_files: ["proguard.flags"],
|
||||
},
|
||||
|
||||
static_libs: [
|
||||
"androidx.core_core",
|
||||
"androidx.recyclerview_recyclerview",
|
||||
static_libs: [
|
||||
"androidx.core_core",
|
||||
"androidx.recyclerview_recyclerview",
|
||||
"androidx.annotation_annotation",
|
||||
"kotlinx-coroutines-android",
|
||||
"kotlinx-coroutines-core",
|
||||
//"kotlinx-coroutines-reactive",
|
||||
],
|
||||
"kotlinx-coroutines-android",
|
||||
"kotlinx-coroutines-core",
|
||||
//"kotlinx-coroutines-reactive",
|
||||
],
|
||||
|
||||
manifest: "AndroidManifest.xml",
|
||||
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ android_library {
|
||||
],
|
||||
manifest: "AndroidManifest.xml",
|
||||
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
|
||||
plugins: ["dagger2-compiler"],
|
||||
|
||||
@@ -341,7 +341,7 @@ android_library {
|
||||
"android.test.base",
|
||||
"android.test.mock",
|
||||
],
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
aaptflags: [
|
||||
"--extra-packages",
|
||||
"com.android.systemui",
|
||||
@@ -457,7 +457,7 @@ android_app {
|
||||
certificate: "platform",
|
||||
privileged: true,
|
||||
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
|
||||
dxflags: ["--multi-dex"],
|
||||
required: [
|
||||
|
||||
@@ -302,10 +302,9 @@ class ActivityLaunchAnimator(
|
||||
|
||||
interface Callback {
|
||||
/** Whether we are currently on the keyguard or not. */
|
||||
@JvmDefault fun isOnKeyguard(): Boolean = false
|
||||
fun isOnKeyguard(): Boolean = false
|
||||
|
||||
/** Hide the keyguard and animate using [runner]. */
|
||||
@JvmDefault
|
||||
fun hideKeyguardWithAnimation(runner: IRemoteAnimationRunner) {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
@@ -316,16 +315,16 @@ class ActivityLaunchAnimator(
|
||||
|
||||
interface Listener {
|
||||
/** Called when an activity launch animation started. */
|
||||
@JvmDefault fun onLaunchAnimationStart() {}
|
||||
fun onLaunchAnimationStart() {}
|
||||
|
||||
/**
|
||||
* Called when an activity launch animation is finished. This will be called if and only if
|
||||
* [onLaunchAnimationStart] was called earlier.
|
||||
*/
|
||||
@JvmDefault fun onLaunchAnimationEnd() {}
|
||||
fun onLaunchAnimationEnd() {}
|
||||
|
||||
/** Called when an activity launch animation made progress. */
|
||||
@JvmDefault fun onLaunchAnimationProgress(linearProgress: Float) {}
|
||||
fun onLaunchAnimationProgress(linearProgress: Float) {}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -44,5 +44,5 @@ android_test {
|
||||
"androidx.compose.ui_ui-test-manifest",
|
||||
],
|
||||
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
}
|
||||
|
||||
@@ -44,5 +44,5 @@ android_test {
|
||||
"androidx.compose.ui_ui-test-manifest",
|
||||
],
|
||||
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
}
|
||||
|
||||
@@ -48,5 +48,5 @@ android_library {
|
||||
],
|
||||
min_sdk_version: "current",
|
||||
plugins: ["dagger2-compiler"],
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ android_library {
|
||||
],
|
||||
min_sdk_version: "current",
|
||||
plugins: ["dagger2-compiler"],
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
}
|
||||
|
||||
java_library {
|
||||
|
||||
@@ -167,7 +167,6 @@ class KeyguardUnlockAnimationController @Inject constructor(
|
||||
* for the canned animation (if applicable) so interested parties can sync with it. If no
|
||||
* canned animation is playing, these are both 0.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onUnlockAnimationStarted(
|
||||
playingCannedAnimation: Boolean,
|
||||
fromWakeAndUnlock: Boolean,
|
||||
@@ -180,7 +179,6 @@ class KeyguardUnlockAnimationController @Inject constructor(
|
||||
* The keyguard is no longer visible in this state and the app/launcher behind the keyguard
|
||||
* is now completely visible.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onUnlockAnimationFinished() {}
|
||||
}
|
||||
|
||||
|
||||
@@ -145,13 +145,10 @@ class PrivacyConfig @Inject constructor(
|
||||
}
|
||||
|
||||
interface Callback {
|
||||
@JvmDefault
|
||||
fun onFlagMicCameraChanged(flag: Boolean) {}
|
||||
|
||||
@JvmDefault
|
||||
fun onFlagLocationChanged(flag: Boolean) {}
|
||||
|
||||
@JvmDefault
|
||||
fun onFlagMediaProjectionChanged(flag: Boolean) {}
|
||||
}
|
||||
}
|
||||
@@ -216,7 +216,6 @@ class PrivacyItemController @Inject constructor(
|
||||
interface Callback : PrivacyConfig.Callback {
|
||||
fun onPrivacyItemsChanged(privacyItems: List<PrivacyItem>)
|
||||
|
||||
@JvmDefault
|
||||
fun onFlagAllChanged(flag: Boolean) {}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,12 +52,12 @@ interface DisplayTracker {
|
||||
interface Callback {
|
||||
|
||||
/** Notifies that a display has been added. */
|
||||
@JvmDefault fun onDisplayAdded(displayId: Int) {}
|
||||
fun onDisplayAdded(displayId: Int) {}
|
||||
|
||||
/** Notifies that a display has been removed. */
|
||||
@JvmDefault fun onDisplayRemoved(displayId: Int) {}
|
||||
fun onDisplayRemoved(displayId: Int) {}
|
||||
|
||||
/** Notifies a display has been changed */
|
||||
@JvmDefault fun onDisplayChanged(displayId: Int) {}
|
||||
fun onDisplayChanged(displayId: Int) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,6 @@ interface UserTracker : UserContentResolverProvider, UserContextProvider {
|
||||
* Same as {@link onUserChanging(Int, Context, CountDownLatch)} but the latch will be
|
||||
* auto-decremented after the completion of this method.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onUserChanging(newUser: Int, userContext: Context) {}
|
||||
|
||||
/**
|
||||
@@ -82,7 +81,6 @@ interface UserTracker : UserContentResolverProvider, UserContextProvider {
|
||||
* user switch duration. When overriding this method, countDown() MUST be called on the
|
||||
* latch once execution is complete.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onUserChanging(newUser: Int, userContext: Context, latch: CountDownLatch) {
|
||||
onUserChanging(newUser, userContext)
|
||||
latch.countDown()
|
||||
@@ -93,13 +91,11 @@ interface UserTracker : UserContentResolverProvider, UserContextProvider {
|
||||
* Override this method to run things after the screen is unfrozen for the user switch.
|
||||
* Please see {@link #onUserChanging} if you need to hide jank.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onUserChanged(newUser: Int, userContext: Context) {}
|
||||
|
||||
/**
|
||||
* Notifies that the current user's profiles have changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onProfilesChanged(profiles: List<@JvmSuppressWildcards UserInfo>) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,12 +29,12 @@ interface ShadeStateEvents {
|
||||
interface ShadeStateEventsListener {
|
||||
|
||||
/** Invoked when the notification panel starts or stops collapsing. */
|
||||
@JvmDefault fun onPanelCollapsingChanged(isCollapsing: Boolean) {}
|
||||
fun onPanelCollapsingChanged(isCollapsing: Boolean) {}
|
||||
|
||||
/**
|
||||
* Invoked when the notification panel starts or stops launching an [android.app.Activity].
|
||||
*/
|
||||
@JvmDefault fun onLaunchingActivityChanged(isLaunchingActivity: Boolean) {}
|
||||
fun onLaunchingActivityChanged(isLaunchingActivity: Boolean) {}
|
||||
|
||||
/**
|
||||
* Invoked when the "expand immediate" attribute changes.
|
||||
@@ -45,6 +45,6 @@ interface ShadeStateEvents {
|
||||
* Another example is when full QS is showing, and we swipe up from the bottom. Instead of
|
||||
* going to QQS, the panel fully collapses.
|
||||
*/
|
||||
@JvmDefault fun onExpandImmediateChanged(isExpandImmediateEnabled: Boolean) {}
|
||||
fun onExpandImmediateChanged(isExpandImmediateEnabled: Boolean) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -546,7 +546,6 @@ class NotificationShadeDepthController @Inject constructor(
|
||||
*/
|
||||
fun onWallpaperZoomOutChanged(zoomOut: Float)
|
||||
|
||||
@JvmDefault
|
||||
fun onBlurRadiusChanged(blurRadius: Int) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ interface SignalCallback {
|
||||
*
|
||||
* @param wifiIndicators a box type containing enough information to properly draw a Wi-Fi icon
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setWifiIndicators(wifiIndicators: WifiIndicators) {}
|
||||
|
||||
/**
|
||||
@@ -42,7 +41,6 @@ interface SignalCallback {
|
||||
* NOTE: phones can have multiple subscriptions, so this [mobileDataIndicators] object should be
|
||||
* indexed based on its [subId][MobileDataIndicators.subId]
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setMobileDataIndicators(mobileDataIndicators: MobileDataIndicators) {}
|
||||
|
||||
/**
|
||||
@@ -51,7 +49,6 @@ interface SignalCallback {
|
||||
*
|
||||
* @param subs a [SubscriptionInfo] for each subscription that we know about
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setSubs(subs: List<@JvmSuppressWildcards SubscriptionInfo>) {}
|
||||
|
||||
/**
|
||||
@@ -63,7 +60,6 @@ interface SignalCallback {
|
||||
* @param show whether or not to show a "no sim" view
|
||||
* @param simDetected whether any SIM is detected or not
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setNoSims(show: Boolean, simDetected: Boolean) {}
|
||||
|
||||
/**
|
||||
@@ -72,7 +68,6 @@ interface SignalCallback {
|
||||
*
|
||||
* @param icon an [IconState] for the current ethernet status
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setEthernetIndicators(icon: IconState) {}
|
||||
|
||||
/**
|
||||
@@ -80,7 +75,6 @@ interface SignalCallback {
|
||||
*
|
||||
* @param icon an [IconState] for the current airplane mode status
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setIsAirplaneMode(icon: IconState) {}
|
||||
|
||||
/**
|
||||
@@ -88,7 +82,6 @@ interface SignalCallback {
|
||||
*
|
||||
* @param enabled the current mobile data feature ennabled state
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setMobileDataEnabled(enabled: Boolean) {}
|
||||
|
||||
/**
|
||||
@@ -97,7 +90,6 @@ interface SignalCallback {
|
||||
* @param noValidatedNetwork whether there is any validated network.
|
||||
* @param noNetworksAvailable whether there is any WiFi networks available.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setConnectivityStatus(
|
||||
noDefaultNetwork: Boolean,
|
||||
noValidatedNetwork: Boolean,
|
||||
@@ -109,7 +101,6 @@ interface SignalCallback {
|
||||
* @param statusIcon the icon for the call indicator
|
||||
* @param subId subscription ID for which to update the UI
|
||||
*/
|
||||
@JvmDefault
|
||||
fun setCallIndicator(statusIcon: IconState, subId: Int) {}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,11 +49,10 @@ interface SystemStatusAnimationCallback {
|
||||
fun onSystemEventAnimationFinish(hasPersistentDot: Boolean): Animator? { return null }
|
||||
|
||||
// Best method name, change my mind
|
||||
@JvmDefault
|
||||
fun onSystemStatusAnimationTransitionToPersistentDot(contentDescription: String?): Animator? {
|
||||
return null
|
||||
}
|
||||
@JvmDefault fun onHidePersistentDot(): Animator? { return null }
|
||||
fun onHidePersistentDot(): Animator? { return null }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -613,20 +613,20 @@ constructor(
|
||||
|
||||
interface WakeUpListener {
|
||||
/** Called whenever the notifications are fully hidden or shown */
|
||||
@JvmDefault fun onFullyHiddenChanged(isFullyHidden: Boolean) {}
|
||||
fun onFullyHiddenChanged(isFullyHidden: Boolean) {}
|
||||
|
||||
/**
|
||||
* Called whenever the pulseExpansion changes
|
||||
*
|
||||
* @param expandingChanged if the user has started or stopped expanding
|
||||
*/
|
||||
@JvmDefault fun onPulseExpansionChanged(expandingChanged: Boolean) {}
|
||||
fun onPulseExpansionChanged(expandingChanged: Boolean) {}
|
||||
|
||||
/**
|
||||
* Called when the animator started by [scheduleDelayedDozeAmountAnimation] begins running
|
||||
* after the start delay, or after it ends/is cancelled.
|
||||
*/
|
||||
@JvmDefault fun onDelayedDozeAmountAnimationRunning(running: Boolean) {}
|
||||
fun onDelayedDozeAmountAnimationRunning(running: Boolean) {}
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -22,33 +22,27 @@ interface Roundable {
|
||||
|
||||
/** Current top roundness */
|
||||
@get:FloatRange(from = 0.0, to = 1.0)
|
||||
@JvmDefault
|
||||
val topRoundness: Float
|
||||
get() = roundableState.topRoundness
|
||||
|
||||
/** Current bottom roundness */
|
||||
@get:FloatRange(from = 0.0, to = 1.0)
|
||||
@JvmDefault
|
||||
val bottomRoundness: Float
|
||||
get() = roundableState.bottomRoundness
|
||||
|
||||
/** Max radius in pixel */
|
||||
@JvmDefault
|
||||
val maxRadius: Float
|
||||
get() = roundableState.maxRadius
|
||||
|
||||
/** Current top corner in pixel, based on [topRoundness] and [maxRadius] */
|
||||
@JvmDefault
|
||||
val topCornerRadius: Float
|
||||
get() = topRoundness * maxRadius
|
||||
|
||||
/** Current bottom corner in pixel, based on [bottomRoundness] and [maxRadius] */
|
||||
@JvmDefault
|
||||
val bottomCornerRadius: Float
|
||||
get() = bottomRoundness * maxRadius
|
||||
|
||||
/** Get and update the current radii */
|
||||
@JvmDefault
|
||||
val updatedRadii: FloatArray
|
||||
get() =
|
||||
roundableState.radiiBuffer.also { radii ->
|
||||
@@ -71,7 +65,6 @@ interface Roundable {
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
* @return Whether the roundness was changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestTopRoundness(
|
||||
@FloatRange(from = 0.0, to = 1.0) value: Float,
|
||||
sourceType: SourceType,
|
||||
@@ -116,7 +109,6 @@ interface Roundable {
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
* @return Whether the roundness was changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestTopRoundness(
|
||||
@FloatRange(from = 0.0, to = 1.0) value: Float,
|
||||
sourceType: SourceType,
|
||||
@@ -140,7 +132,6 @@ interface Roundable {
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
* @return Whether the roundness was changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestBottomRoundness(
|
||||
@FloatRange(from = 0.0, to = 1.0) value: Float,
|
||||
sourceType: SourceType,
|
||||
@@ -185,7 +176,6 @@ interface Roundable {
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
* @return Whether the roundness was changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestBottomRoundness(
|
||||
@FloatRange(from = 0.0, to = 1.0) value: Float,
|
||||
sourceType: SourceType,
|
||||
@@ -210,7 +200,6 @@ interface Roundable {
|
||||
* @param animate true if it should animate to that value.
|
||||
* @return Whether the roundness was changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestRoundness(
|
||||
@FloatRange(from = 0.0, to = 1.0) top: Float,
|
||||
@FloatRange(from = 0.0, to = 1.0) bottom: Float,
|
||||
@@ -237,7 +226,6 @@ interface Roundable {
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
* @return Whether the roundness was changed.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestRoundness(
|
||||
@FloatRange(from = 0.0, to = 1.0) top: Float,
|
||||
@FloatRange(from = 0.0, to = 1.0) bottom: Float,
|
||||
@@ -261,7 +249,6 @@ interface Roundable {
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
* @param animate true if it should animate to that value.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestRoundnessReset(sourceType: SourceType, animate: Boolean) {
|
||||
requestRoundness(top = 0f, bottom = 0f, sourceType = sourceType, animate = animate)
|
||||
}
|
||||
@@ -275,19 +262,16 @@ interface Roundable {
|
||||
*
|
||||
* @param sourceType the source from which the request for roundness comes.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun requestRoundnessReset(sourceType: SourceType) {
|
||||
requestRoundnessReset(sourceType = sourceType, animate = roundableState.targetView.isShown)
|
||||
}
|
||||
|
||||
/** Apply the roundness changes, usually means invalidate the [RoundableState.targetView]. */
|
||||
@JvmDefault
|
||||
fun applyRoundnessAndInvalidate() {
|
||||
roundableState.targetView.invalidate()
|
||||
}
|
||||
|
||||
/** @return true if top or bottom roundness is not zero. */
|
||||
@JvmDefault
|
||||
fun hasRoundedCorner(): Boolean {
|
||||
return topRoundness != 0f || bottomRoundness != 0f
|
||||
}
|
||||
@@ -298,7 +282,6 @@ interface Roundable {
|
||||
*
|
||||
* This method reuses the previous [radii] for performance reasons.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun updateRadii(
|
||||
topCornerRadius: Float,
|
||||
bottomCornerRadius: Float,
|
||||
|
||||
@@ -23,7 +23,6 @@ import android.os.UserHandle
|
||||
* changes.
|
||||
*/
|
||||
interface UserAwareController {
|
||||
@JvmDefault
|
||||
fun changeUser(newUser: UserHandle) {}
|
||||
|
||||
val currentUserId: Int
|
||||
|
||||
@@ -33,7 +33,7 @@ android_library {
|
||||
"dagger2",
|
||||
"jsr330",
|
||||
],
|
||||
kotlincflags: ["-Xjvm-default=enable"],
|
||||
kotlincflags: ["-Xjvm-default=all"],
|
||||
java_version: "1.8",
|
||||
sdk_version: "current",
|
||||
min_sdk_version: "current",
|
||||
|
||||
@@ -35,14 +35,12 @@ interface UnfoldTransitionProgressProvider : CallbackController<TransitionProgre
|
||||
|
||||
interface TransitionProgressListener {
|
||||
/** Called when transition is started */
|
||||
@JvmDefault
|
||||
fun onTransitionStarted() {}
|
||||
|
||||
/**
|
||||
* Called whenever transition progress is updated, [progress] is a value of the animation
|
||||
* where 0 is fully folded, 1 is fully unfolded
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onTransitionProgress(@FloatRange(from = 0.0, to = 1.0) progress: Float) {}
|
||||
|
||||
/**
|
||||
@@ -51,11 +49,9 @@ interface UnfoldTransitionProgressProvider : CallbackController<TransitionProgre
|
||||
* For example, in [PhysicsBasedUnfoldTransitionProgressProvider] this could happen when the
|
||||
* animation is not tied to the hinge angle anymore and it is about to run fixed animation.
|
||||
*/
|
||||
@JvmDefault
|
||||
fun onTransitionFinishing() {}
|
||||
|
||||
/** Called when transition is completely finished */
|
||||
@JvmDefault
|
||||
fun onTransitionFinished() {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,9 +31,9 @@ interface FoldStateProvider : CallbackController<FoldUpdatesListener> {
|
||||
val isFinishedOpening: Boolean
|
||||
|
||||
interface FoldUpdatesListener {
|
||||
@JvmDefault fun onHingeAngleUpdate(@FloatRange(from = 0.0, to = 180.0) angle: Float) {}
|
||||
@JvmDefault fun onFoldUpdate(@FoldUpdate update: Int) {}
|
||||
@JvmDefault fun onUnfoldedScreenAvailable() {}
|
||||
fun onHingeAngleUpdate(@FloatRange(from = 0.0, to = 180.0) angle: Float) {}
|
||||
fun onFoldUpdate(@FoldUpdate update: Int) {}
|
||||
fun onUnfoldedScreenAvailable() {}
|
||||
}
|
||||
|
||||
@IntDef(
|
||||
|
||||
Reference in New Issue
Block a user