Updated Magisk fragment to Kotlin

Exported old update card to special xml include where binding takes care of everything that had to be done in code beforehand.
Added several easing functions and enums.
Backported some classes and functions from the old fork

Expect major breakage. Literally nothing works as the functionality needs to be implemented
This commit is contained in:
Viktor De Pasquale
2019-04-13 00:14:37 +02:00
parent f309522268
commit bd00ae8ede
17 changed files with 1083 additions and 750 deletions
@@ -0,0 +1,14 @@
package com.topjohnwu.magisk.model.events
import com.skoumal.teanity.viewevents.ViewEvent
data class OpenLinkEvent(val url: String) : ViewEvent()
object ManagerInstallEvent : ViewEvent()
object MagiskInstallEvent : ViewEvent()
object ManagerChangelogEvent : ViewEvent()
object MagiskChangelogEvent : ViewEvent()
object UninstallEvent : ViewEvent()
@@ -0,0 +1,31 @@
package com.topjohnwu.magisk.model.observer
import androidx.databinding.Observable
import androidx.databinding.ObservableField
import java.io.Serializable
class Observer<T>(vararg dependencies: Observable, private val observer: () -> T) :
ObservableField<T>(*dependencies), Serializable {
val value: T get() = observer()
@Deprecated(
message = "Use KObservableField.value syntax from code",
replaceWith = ReplaceWith("value")
)
override fun get(): T {
return value
}
@Deprecated(
message = "Observer cannot be set",
level = DeprecationLevel.HIDDEN
)
override fun set(newValue: T) {
}
override fun toString(): String {
return "Observer(value=$value)"
}
}