Package io.spokestack.tray

Types

ListenBubble
Link copied to clipboard
class ListenBubble(context: Context, pixelsPerSecond: Float) : ScrollingGradient
A scrolling gradient shaped like a (very) rounded rectangle.
MicButton
Link copied to clipboard
class MicButton(context: Context, attributes: AttributeSet) : AppCompatImageView
View subclass that acts as a button that controls the tray's UI state.
Prompt
Link copied to clipboard
data class Prompt(text: String, voice: String, imageURL: String, expectFollowup: Boolean)
A message/response from the application.
ScrollingGradient
Link copied to clipboard
open class ScrollingGradient(context: Context, pixelsPerSecond: Float) : Drawable, Animatable
A scrolling gradient animation usable as a background.
SpokestackFactory
Link copied to clipboard
object SpokestackFactory
SpokestackTray
Link copied to clipboard
class SpokestackTray(config: TrayConfig, state: TrayState) : Fragment, MotionLayout.TransitionListener, AutoCloseable
A Fragment that exposes the primary functionality of the Spokestack tray.
SpokestackTrayFactory
Link copied to clipboard
class SpokestackTrayFactory(trayConfig: TrayConfig) : FragmentFactory
A factory class used to instantiate the Spokestack Tray fragment with custom configuration.
SpokestackTrayListener
Link copied to clipboard
interface SpokestackTrayListener
An interface for classes that wish to receive events from the Spokestack tray.
TrayActivity
Link copied to clipboard
abstract class TrayActivity : AppCompatActivity
An AppCompatActivity subclass that manages state and fragment concerns common to all Activitys that wish to include SpokestackTray.
TrayConfig
Link copied to clipboard
class TrayConfig
Data class holding all configuration for the Spokestack Tray.
TrayState
Link copied to clipboard
data class TrayState(isOpen: Boolean, isActive: Boolean, playTts: Boolean, firstOpen: Boolean, expectFollowup: Boolean, messageStreamHeight: Int, messages: ArrayList<Message>) : Parcelable
A simple data class that describes the state necessary to provide a seamless transition across app lifecycle events.
TrayView
Link copied to clipboard
class TrayView(trayContext: Context, attributeSet: AttributeSet) : ConstraintLayout, View.OnTouchListener
A custom layout for Spokestack Tray that handles drag events anywhere in the status bar to resize the message stream, à la fsck's SplitView.

Functions

downloadFile
Link copied to clipboard
fun downloadFile(fileURL: String, downloadDir: String): String
Download a file from the specified URL.
namespaced_key
Link copied to clipboard
fun namespaced_key(key: String): String
Prefix a key with a spokestack designator to avoid collisions.
notifyObserver
Link copied to clipboard
fun <T> MutableLiveData<T>.notifyObserver()