SpokestackTray

class SpokestackTray(config: TrayConfig, state: TrayState) : Fragment, MotionLayout.TransitionListener, AutoCloseable

A Fragment that exposes the primary functionality of the Spokestack tray.

The tray wraps an instance of the Spokestack library that is used to capture user voice input, convert it to text, display that text, and classify it using an NLU. An application can register a component to listen to tray events, return responses to NLU classifications, and have those responses automatically synthesized via Spokestack TTS to be read to the user.

To include the tray in your Activity's layout.xml:

<!-- nested in the main layout, after other views/sublayouts -->

<include
android:id="@+id/tray_fragment"
layout="@layout/spokestack_tray_fragment"
/>

Then in the Activity itself:

import io.spokestack.tray.*

class MyActivity : AppCompatActivity(), SpokestackTrayListener {

lateinit var tray: SpokestackTray

// ...

override fun onCreate(savedInstanceState: Bundle?) {

val config = TrayConfig.Builder()
// credentials from your Spokestack account
.credentials("spokestack-client-id", "spokestack-secret-key")
.wakewordModelURL("https://path-to-wakeword-models")
.nluURL("https://path-to-nlu-files")
.withListener(this)
// optional builder customization; see the documentation for more details...
.build()
supportFragmentManager.fragmentFactory = SpokestackTrayFactory(config)

// note that the factory is instantiated and set on the manager BEFORE calling
// `super.onCreate()`
super.onCreate(savedInstanceState)
}

override fun onStart() {
// set the value of the lateinit `tray` var
tray = SpokestackTray.getInstance(config)
super.onStart()
}

Constructors

SpokestackTray
Link copied to clipboard
fun SpokestackTray(config: TrayConfig, state: TrayState)

Types

SpokestackListener
Link copied to clipboard
inner class SpokestackListener : SpokestackAdapter

Functions

audioEnabled
Link copied to clipboard
fun audioEnabled(): Boolean
callStartTransitionListener
Link copied to clipboard
open fun callStartTransitionListener()
clear
Link copied to clipboard
fun clear()
Clear the tray's internal conversation history, making the next time it opens act like the first without resetting any user modifications like muting TTS or changing the tray size.
close
Link copied to clipboard
open override fun close()
Release resources associated with the Tray and the underlying Spokestack instance.
dump
Link copied to clipboard
open fun dump(@NonNull() p0: String, @Nullable() p1: FileDescriptor?, @NonNull() p2: PrintWriter, @Nullable() p3: Array<String>?)
equals
Link copied to clipboard
operator override fun equals(@Nullable() other: Any?): Boolean
findFragmentByWho
Link copied to clipboard
open fun findFragmentByWho(@NonNull() p0: String): Fragment?
getActivity
Link copied to clipboard
fun getActivity(): FragmentActivity?
getAllowEnterTransitionOverlap
Link copied to clipboard
open fun getAllowEnterTransitionOverlap(): Boolean
getAllowReturnTransitionOverlap
Link copied to clipboard
open fun getAllowReturnTransitionOverlap(): Boolean
getAnimatingAway
Link copied to clipboard
open fun getAnimatingAway(): View
getAnimator
Link copied to clipboard
open fun getAnimator(): Animator
getArguments
Link copied to clipboard
fun getArguments(): Bundle?
getChildFragmentManager
Link copied to clipboard
fun getChildFragmentManager(): FragmentManager
getContext
Link copied to clipboard
open fun getContext(): Context?
getDefaultViewModelProviderFactory
Link copied to clipboard
open override fun getDefaultViewModelProviderFactory(): ViewModelProvider.Factory
getEnterTransition
Link copied to clipboard
open fun getEnterTransition(): Any?
getEnterTransitionCallback
Link copied to clipboard
open fun getEnterTransitionCallback(): SharedElementCallback
getExitTransition
Link copied to clipboard
open fun getExitTransition(): Any?
getExitTransitionCallback
Link copied to clipboard
open fun getExitTransitionCallback(): SharedElementCallback
getFragmentManager
Link copied to clipboard
fun getFragmentManager(): FragmentManager?
getHost
Link copied to clipboard
fun getHost(): Any?
getId
Link copied to clipboard
fun getId(): Int
getLayoutInflater
Link copied to clipboard
fun getLayoutInflater(): LayoutInflater
open fun getLayoutInflater(@Nullable() p0: Bundle?): LayoutInflater
getLifecycle
Link copied to clipboard
open override fun getLifecycle(): Lifecycle
getLoaderManager
Link copied to clipboard
open fun getLoaderManager(): LoaderManager
getNextAnim
Link copied to clipboard
open fun getNextAnim(): Int
getNextTransition
Link copied to clipboard
open fun getNextTransition(): Int
getParentFragment
Link copied to clipboard
fun getParentFragment(): Fragment?
getParentFragmentManager
Link copied to clipboard
fun getParentFragmentManager(): FragmentManager
getReenterTransition
Link copied to clipboard
open fun getReenterTransition(): Any?
getResources
Link copied to clipboard
fun getResources(): Resources
getRetainInstance
Link copied to clipboard
fun getRetainInstance(): Boolean
getReturnTransition
Link copied to clipboard
open fun getReturnTransition(): Any?
getSavedStateRegistry
Link copied to clipboard
override fun getSavedStateRegistry(): SavedStateRegistry
getSharedElementEnterTransition
Link copied to clipboard
open fun getSharedElementEnterTransition(): Any?
getSharedElementReturnTransition
Link copied to clipboard
open fun getSharedElementReturnTransition(): Any?
getState
Link copied to clipboard
fun getState(): TrayState
Get a copy of the tray's current internal state.
getStateAfterAnimating
Link copied to clipboard
open fun getStateAfterAnimating(): Int
getString
Link copied to clipboard
fun getString(@StringRes() p0: Int): String
fun getString(@StringRes() p0: Int, @Nullable() vararg p1: Any): String
getTag
Link copied to clipboard
fun getTag(): String?
getTargetFragment
Link copied to clipboard
fun getTargetFragment(): Fragment?
getTargetRequestCode
Link copied to clipboard
fun getTargetRequestCode(): Int
getText
Link copied to clipboard
fun getText(@StringRes() p0: Int): CharSequence
getUserVisibleHint
Link copied to clipboard
open fun getUserVisibleHint(): Boolean
getView
Link copied to clipboard
open fun getView(): View?
getViewLifecycleOwner
Link copied to clipboard
open fun getViewLifecycleOwner(): LifecycleOwner
getViewLifecycleOwnerLiveData
Link copied to clipboard
open fun getViewLifecycleOwnerLiveData(): LiveData<LifecycleOwner>
getViewModelStore
Link copied to clipboard
open override fun getViewModelStore(): ViewModelStore
hashCode
Link copied to clipboard
override fun hashCode(): Int
hasOptionsMenu
Link copied to clipboard
fun hasOptionsMenu(): Boolean
initState
Link copied to clipboard
open fun initState()
isAdded
Link copied to clipboard
fun isAdded(): Boolean
isDetached
Link copied to clipboard
fun isDetached(): Boolean
isHidden
Link copied to clipboard
fun isHidden(): Boolean
isHideReplaced
Link copied to clipboard
open fun isHideReplaced(): Boolean
isInBackStack
Link copied to clipboard
fun isInBackStack(): Boolean
isInLayout
Link copied to clipboard
fun isInLayout(): Boolean
isMenuVisible
Link copied to clipboard
fun isMenuVisible(): Boolean
isOpen
Link copied to clipboard
fun isOpen(): Boolean
isPostponed
Link copied to clipboard
open fun isPostponed(): Boolean
isRemoving
Link copied to clipboard
fun isRemoving(): Boolean
isRemovingParent
Link copied to clipboard
fun isRemovingParent(): Boolean
isResumed
Link copied to clipboard
fun isResumed(): Boolean
isStateSaved
Link copied to clipboard
fun isStateSaved(): Boolean
isVisible
Link copied to clipboard
fun isVisible(): Boolean
loadState
Link copied to clipboard
fun loadState(savedState: TrayState)
Load the tray's internal state from a saved version.
noteStateNotSaved
Link copied to clipboard
open fun noteStateNotSaved()
onActivityCreated
Link copied to clipboard
open fun onActivityCreated(@Nullable() p0: Bundle?)
onActivityResult
Link copied to clipboard
open fun onActivityResult(p0: Int, p1: Int, @Nullable() p2: Intent?)
onAttach
Link copied to clipboard
open fun onAttach(@NonNull() p0: Activity)
open fun onAttach(@NonNull() p0: Context)
onAttachFragment
Link copied to clipboard
open fun onAttachFragment(@NonNull() p0: Fragment)
onConfigurationChanged
Link copied to clipboard
open override fun onConfigurationChanged(@NonNull() p0: Configuration)
onContextItemSelected
Link copied to clipboard
open fun onContextItemSelected(@NonNull() p0: MenuItem): Boolean
onCreate
Link copied to clipboard
open override fun onCreate(savedInstanceState: Bundle?)
onCreateAnimation
Link copied to clipboard
open fun onCreateAnimation(p0: Int, p1: Boolean, p2: Int): Animation?
onCreateAnimator
Link copied to clipboard
open fun onCreateAnimator(p0: Int, p1: Boolean, p2: Int): Animator?
onCreateContextMenu
Link copied to clipboard
open override fun onCreateContextMenu(@NonNull() p0: ContextMenu, @NonNull() p1: View, @Nullable() p2: ContextMenu.ContextMenuInfo?)
onCreateOptionsMenu
Link copied to clipboard
open fun onCreateOptionsMenu(@NonNull() p0: Menu, @NonNull() p1: MenuInflater)
onCreateView
Link copied to clipboard
open override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View
onDestroy
Link copied to clipboard
open fun onDestroy()
onDestroyOptionsMenu
Link copied to clipboard
open fun onDestroyOptionsMenu()
onDestroyView
Link copied to clipboard
open override fun onDestroyView()
onDetach
Link copied to clipboard
open override fun onDetach()
onGetLayoutInflater
Link copied to clipboard
open fun onGetLayoutInflater(@Nullable() p0: Bundle?): LayoutInflater
onHiddenChanged
Link copied to clipboard
open fun onHiddenChanged(p0: Boolean)
onInflate
Link copied to clipboard
open fun onInflate(@NonNull() p0: Activity, @NonNull() p1: AttributeSet, @Nullable() p2: Bundle?)
open fun onInflate(@NonNull() p0: Context, @NonNull() p1: AttributeSet, @Nullable() p2: Bundle?)
onLowMemory
Link copied to clipboard
open override fun onLowMemory()
onMultiWindowModeChanged
Link copied to clipboard
open fun onMultiWindowModeChanged(p0: Boolean)
onOptionsItemSelected
Link copied to clipboard
open fun onOptionsItemSelected(@NonNull() p0: MenuItem): Boolean
onOptionsMenuClosed
Link copied to clipboard
open fun onOptionsMenuClosed(@NonNull() p0: Menu)
onPause
Link copied to clipboard
open override fun onPause()
onPictureInPictureModeChanged
Link copied to clipboard
open fun onPictureInPictureModeChanged(p0: Boolean)
onPrepareOptionsMenu
Link copied to clipboard
open fun onPrepareOptionsMenu(@NonNull() p0: Menu)
onPrimaryNavigationFragmentChanged
Link copied to clipboard
open fun onPrimaryNavigationFragmentChanged(p0: Boolean)
onRequestPermissionsResult
Link copied to clipboard
open override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray)
onResume
Link copied to clipboard
open override fun onResume()
onSaveInstanceState
Link copied to clipboard
open fun onSaveInstanceState(@NonNull() p0: Bundle)
onStart
Link copied to clipboard
open fun onStart()
onStop
Link copied to clipboard
open fun onStop()
onTransitionChange
Link copied to clipboard
open override fun onTransitionChange(p0: MotionLayout?, startId: Int, endId: Int, progress: Float)
onTransitionCompleted
Link copied to clipboard
open override fun onTransitionCompleted(layout: MotionLayout?, state: Int)
onTransitionStarted
Link copied to clipboard
open override fun onTransitionStarted(p0: MotionLayout?, startId: Int, endId: Int)
onTransitionTrigger
Link copied to clipboard
open override fun onTransitionTrigger(p0: MotionLayout?, trigger: Int, pos: Boolean, prog: Float)
onViewCreated
Link copied to clipboard
open fun onViewCreated(@NonNull() p0: View, @Nullable() p1: Bundle?)
onViewStateRestored
Link copied to clipboard
open fun onViewStateRestored(@Nullable() p0: Bundle?)
performActivityCreated
Link copied to clipboard
open fun performActivityCreated(p0: Bundle)
performAttach
Link copied to clipboard
open fun performAttach()
performConfigurationChanged
Link copied to clipboard
open fun performConfigurationChanged(@NonNull() p0: Configuration)
performContextItemSelected
Link copied to clipboard
open fun performContextItemSelected(@NonNull() p0: MenuItem): Boolean
performCreate
Link copied to clipboard
open fun performCreate(p0: Bundle)
performCreateOptionsMenu
Link copied to clipboard
open fun performCreateOptionsMenu(@NonNull() p0: Menu, @NonNull() p1: MenuInflater): Boolean
performCreateView
Link copied to clipboard
open fun performCreateView(@NonNull() p0: LayoutInflater, @Nullable() p1: ViewGroup?, @Nullable() p2: Bundle?)
performDestroy
Link copied to clipboard
open fun performDestroy()
performDestroyView
Link copied to clipboard
open fun performDestroyView()
performDetach
Link copied to clipboard
open fun performDetach()
performGetLayoutInflater
Link copied to clipboard
open fun performGetLayoutInflater(@Nullable() p0: Bundle?): LayoutInflater
performLowMemory
Link copied to clipboard
open fun performLowMemory()
performMultiWindowModeChanged
Link copied to clipboard
open fun performMultiWindowModeChanged(p0: Boolean)
performOptionsItemSelected
Link copied to clipboard
open fun performOptionsItemSelected(@NonNull() p0: MenuItem): Boolean
performOptionsMenuClosed
Link copied to clipboard
open fun performOptionsMenuClosed(@NonNull() p0: Menu)
performPause
Link copied to clipboard
open fun performPause()
performPictureInPictureModeChanged
Link copied to clipboard
open fun performPictureInPictureModeChanged(p0: Boolean)
performPrepareOptionsMenu
Link copied to clipboard
open fun performPrepareOptionsMenu(@NonNull() p0: Menu): Boolean
performPrimaryNavigationFragmentChanged
Link copied to clipboard
open fun performPrimaryNavigationFragmentChanged()
performResume
Link copied to clipboard
open fun performResume()
performSaveInstanceState
Link copied to clipboard
open fun performSaveInstanceState(p0: Bundle)
performStart
Link copied to clipboard
open fun performStart()
performStop
Link copied to clipboard
open fun performStop()
postponeEnterTransition
Link copied to clipboard
open fun postponeEnterTransition()
fun postponeEnterTransition(p0: Long, @NonNull() p1: TimeUnit)
registerForContextMenu
Link copied to clipboard
open fun registerForContextMenu(@NonNull() p0: View)
requestPermissions
Link copied to clipboard
fun requestPermissions(@NonNull() p0: Array<String>, p1: Int)
requireActivity
Link copied to clipboard
fun requireActivity(): FragmentActivity
requireArguments
Link copied to clipboard
fun requireArguments(): Bundle
requireContext
Link copied to clipboard
fun requireContext(): Context
requireFragmentManager
Link copied to clipboard
fun requireFragmentManager(): FragmentManager
requireHost
Link copied to clipboard
fun requireHost(): Any
requireParentFragment
Link copied to clipboard
fun requireParentFragment(): Fragment
requireView
Link copied to clipboard
fun requireView(): View
restoreChildFragmentState
Link copied to clipboard
open fun restoreChildFragmentState(@Nullable() p0: Bundle?)
restoreViewState
Link copied to clipboard
fun restoreViewState(p0: Bundle)
say
Link copied to clipboard
fun say(prompt: Prompt)
Submits text to the tray to be synthesized.
setAllowEnterTransitionOverlap
Link copied to clipboard
open fun setAllowEnterTransitionOverlap(p0: Boolean)
setAllowReturnTransitionOverlap
Link copied to clipboard
open fun setAllowReturnTransitionOverlap(p0: Boolean)
setAnimatingAway
Link copied to clipboard
open fun setAnimatingAway(p0: View)
setAnimator
Link copied to clipboard
open fun setAnimator(p0: Animator)
setArguments
Link copied to clipboard
open fun setArguments(@Nullable() p0: Bundle?)
setEnterSharedElementCallback
Link copied to clipboard
open fun setEnterSharedElementCallback(@Nullable() p0: SharedElementCallback?)
setEnterTransition
Link copied to clipboard
open fun setEnterTransition(@Nullable() p0: Any?)
setExitSharedElementCallback
Link copied to clipboard
open fun setExitSharedElementCallback(@Nullable() p0: SharedElementCallback?)
setExitTransition
Link copied to clipboard
open fun setExitTransition(@Nullable() p0: Any?)
setHasOptionsMenu
Link copied to clipboard
open fun setHasOptionsMenu(p0: Boolean)
setHideReplaced
Link copied to clipboard
open fun setHideReplaced(p0: Boolean)
setInitialSavedState
Link copied to clipboard
open fun setInitialSavedState(@Nullable() p0: Fragment.SavedState?)
setMenuVisibility
Link copied to clipboard
open fun setMenuVisibility(p0: Boolean)
setNextAnim
Link copied to clipboard
open fun setNextAnim(p0: Int)
setNextTransition
Link copied to clipboard
open fun setNextTransition(p0: Int)
setOnStartEnterTransitionListener
Link copied to clipboard
setOpen
Link copied to clipboard
fun setOpen(open: Boolean, listen: Boolean = open)
Opens or closes the tray UI, optionally listening on open.
setReenterTransition
Link copied to clipboard
open fun setReenterTransition(@Nullable() p0: Any?)
setRetainInstance
Link copied to clipboard
open fun setRetainInstance(p0: Boolean)
setReturnTransition
Link copied to clipboard
open fun setReturnTransition(@Nullable() p0: Any?)
setSharedElementEnterTransition
Link copied to clipboard
open fun setSharedElementEnterTransition(@Nullable() p0: Any?)
setSharedElementReturnTransition
Link copied to clipboard
open fun setSharedElementReturnTransition(@Nullable() p0: Any?)
setStateAfterAnimating
Link copied to clipboard
open fun setStateAfterAnimating(p0: Int)
setTargetFragment
Link copied to clipboard
open fun setTargetFragment(@Nullable() p0: Fragment?, p1: Int)
setUserVisibleHint
Link copied to clipboard
open fun setUserVisibleHint(p0: Boolean)
shouldShowRequestPermissionRationale
Link copied to clipboard
open fun shouldShowRequestPermissionRationale(@NonNull() p0: String): Boolean
spokestack
Link copied to clipboard
fun spokestack(): Spokestack
start
Link copied to clipboard
fun start()
Explicitly start the underlying Spokestack instance and its speech pipeline.
startActivity
Link copied to clipboard
open fun startActivity(p0: Intent)
open fun startActivity(p0: Intent, @Nullable() p1: Bundle?)
startActivityForResult
Link copied to clipboard
open fun startActivityForResult(p0: Intent, p1: Int)
open fun startActivityForResult(p0: Intent, p1: Int, @Nullable() p2: Bundle?)
startIntentSenderForResult
Link copied to clipboard
open fun startIntentSenderForResult(p0: IntentSender, p1: Int, @Nullable() p2: Intent?, p3: Int, p4: Int, p5: Int, @Nullable() p6: Bundle?)
startPostponedEnterTransition
Link copied to clipboard
open fun startPostponedEnterTransition()
stop
Link copied to clipboard
fun stop()
Release resources associated with the Tray and the underlying Spokestack instance.
toString
Link copied to clipboard
open override fun toString(): String
unregisterForContextMenu
Link copied to clipboard
open fun unregisterForContextMenu(@NonNull() p0: View)

Properties

listener
Link copied to clipboard
var listener: SpokestackTrayListener?
mAdded
Link copied to clipboard
val mAdded: Boolean
mAnimationInfo
Link copied to clipboard
val mAnimationInfo: Fragment.AnimationInfo
mArguments
Link copied to clipboard
val mArguments: Bundle
mBackStackNesting
Link copied to clipboard
val mBackStackNesting: Int
mChildFragmentManager
Link copied to clipboard
val mChildFragmentManager: FragmentManager
mContainer
Link copied to clipboard
val mContainer: ViewGroup
mContainerId
Link copied to clipboard
val mContainerId: Int
mDeferStart
Link copied to clipboard
val mDeferStart: Boolean
mDetached
Link copied to clipboard
val mDetached: Boolean
mFragmentId
Link copied to clipboard
val mFragmentId: Int
mFragmentManager
Link copied to clipboard
val mFragmentManager: FragmentManager
mFromLayout
Link copied to clipboard
val mFromLayout: Boolean
mHasMenu
Link copied to clipboard
val mHasMenu: Boolean
mHidden
Link copied to clipboard
val mHidden: Boolean
mHiddenChanged
Link copied to clipboard
val mHiddenChanged: Boolean
mHost
Link copied to clipboard
val mHost: FragmentHostCallback<*>
mInLayout
Link copied to clipboard
val mInLayout: Boolean
mIsCreated
Link copied to clipboard
val mIsCreated: Boolean
mIsNewlyAdded
Link copied to clipboard
val mIsNewlyAdded: Boolean
mLayoutInflater
Link copied to clipboard
val mLayoutInflater: LayoutInflater
mLifecycleRegistry
Link copied to clipboard
val mLifecycleRegistry: LifecycleRegistry
mMaxState
Link copied to clipboard
val mMaxState: Lifecycle.State
mMenuVisible
Link copied to clipboard
val mMenuVisible: Boolean
mParentFragment
Link copied to clipboard
val mParentFragment: Fragment
mPerformedCreateView
Link copied to clipboard
val mPerformedCreateView: Boolean
mPostponedAlpha
Link copied to clipboard
val mPostponedAlpha: Float
mPostponedDurationRunnable
Link copied to clipboard
val mPostponedDurationRunnable: Runnable
mRemoving
Link copied to clipboard
val mRemoving: Boolean
mRestored
Link copied to clipboard
val mRestored: Boolean
mRetainInstance
Link copied to clipboard
val mRetainInstance: Boolean
mRetainInstanceChangedWhileDetached
Link copied to clipboard
val mRetainInstanceChangedWhileDetached: Boolean
mSavedFragmentState
Link copied to clipboard
val mSavedFragmentState: Bundle
mSavedStateRegistryController
Link copied to clipboard
mSavedUserVisibleHint
Link copied to clipboard
val mSavedUserVisibleHint: Boolean?
mSavedViewState
Link copied to clipboard
val mSavedViewState: SparseArray<Parcelable>
mState
Link copied to clipboard
val mState: Int
mTag
Link copied to clipboard
val mTag: String
mTarget
Link copied to clipboard
val mTarget: Fragment
mTargetRequestCode
Link copied to clipboard
val mTargetRequestCode: Int
mTargetWho
Link copied to clipboard
val mTargetWho: String
mUserVisibleHint
Link copied to clipboard
val mUserVisibleHint: Boolean
mView
Link copied to clipboard
val mView: View
mViewLifecycleOwner
Link copied to clipboard
val mViewLifecycleOwner: FragmentViewLifecycleOwner?
mViewLifecycleOwnerLiveData
Link copied to clipboard
mWho
Link copied to clipboard
val mWho: String