ad

package
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2026 License: CC0-1.0 Imports: 6 Imported by: 1

Documentation

Overview

Package ad provides Go bindings for android.media.tv.ad.

Index

Constants

View Source
const (
	ActionAppLinkCommand                      = consts.ActionAppLinkCommand
	AppLinkKeyBackUri                         = consts.AppLinkKeyBackUri
	AppLinkKeyClassName                       = consts.AppLinkKeyClassName
	AppLinkKeyCommandType                     = consts.AppLinkKeyCommandType
	AppLinkKeyPackageName                     = consts.AppLinkKeyPackageName
	AppLinkKeyServiceId                       = consts.AppLinkKeyServiceId
	IntentKeyAdServiceId                      = consts.IntentKeyAdServiceId
	IntentKeyChannelUri                       = consts.IntentKeyChannelUri
	IntentKeyCommandType                      = consts.IntentKeyCommandType
	IntentKeyTvInputId                        = consts.IntentKeyTvInputId
	SessionDataKeyAdBuffer                    = consts.SessionDataKeyAdBuffer
	SessionDataKeyAdRequest                   = consts.SessionDataKeyAdRequest
	SessionDataKeyBroadcastInfoRequest        = consts.SessionDataKeyBroadcastInfoRequest
	SessionDataKeyRequestId                   = consts.SessionDataKeyRequestId
	SessionDataTypeAdBufferReady              = consts.SessionDataTypeAdBufferReady
	SessionDataTypeAdRequest                  = consts.SessionDataTypeAdRequest
	SessionDataTypeBroadcastInfoRequest       = consts.SessionDataTypeBroadcastInfoRequest
	SessionDataTypeRemoveBroadcastInfoRequest = consts.SessionDataTypeRemoveBroadcastInfoRequest
	ErrorKeyErrorCode                         = consts.ErrorKeyErrorCode
	ErrorKeyMethodName                        = consts.ErrorKeyMethodName
	ServiceInterface                          = consts.ServiceInterface
	ServiceMetaData                           = consts.ServiceMetaData
)
View Source
const (
	ErrorBlocked             = consts.ErrorBlocked
	ErrorEncrypted           = consts.ErrorEncrypted
	ErrorNone                = consts.ErrorNone
	ErrorNotSupported        = consts.ErrorNotSupported
	ErrorResourceUnavailable = consts.ErrorResourceUnavailable
	ErrorUnknown             = consts.ErrorUnknown
	ErrorUnknownChannel      = consts.ErrorUnknownChannel
	ErrorWeakSignal          = consts.ErrorWeakSignal
	SessionStateError        = consts.SessionStateError
	SessionStateRunning      = consts.SessionStateRunning
	SessionStateStopped      = consts.SessionStateStopped
	Creator                  = consts.Creator
)

Variables

This section is empty.

Functions

func Init

func Init(env *jni.Env) error

Init resolves all JNI class and method references for this package. It is safe to call multiple times (uses sync.Once internally). Exported for E2E testing on Android.

Types

type TvAdManager

type TvAdManager struct {
	VM  *jni.VM
	Ctx *app.Context
	Obj *jni.GlobalRef
}

TvAdManager wraps android.media.tv.ad.TvAdManager.

func NewTvAdManager

func NewTvAdManager(ctx *app.Context) (*TvAdManager, error)

NewTvAdManager obtains android.media.tv.ad.TvAdManager from the Android system service manager.

func (*TvAdManager) Close

func (m *TvAdManager) Close()

Close releases the global reference to the underlying Java object. After Close, the TvAdManager must not be used.

func (*TvAdManager) RegisterCallback

func (m *TvAdManager) RegisterCallback(arg0 *jni.Object, arg1 *jni.Object) error

RegisterCallback calls android.media.tv.ad.TvAdManager.registerCallback.

func (*TvAdManager) SendAppLinkCommand

func (m *TvAdManager) SendAppLinkCommand(arg0 string, arg1 *jni.Object) error

SendAppLinkCommand calls android.media.tv.ad.TvAdManager.sendAppLinkCommand.

func (*TvAdManager) UnregisterCallback

func (m *TvAdManager) UnregisterCallback(arg0 *jni.Object) error

UnregisterCallback calls android.media.tv.ad.TvAdManager.unregisterCallback.

type TvAdManagerTvAdServiceCallback

type TvAdManagerTvAdServiceCallback struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdManagerTvAdServiceCallback wraps android.media.tv.ad.TvAdManager$TvAdServiceCallback.

func (*TvAdManagerTvAdServiceCallback) OnAdServiceAdded

func (m *TvAdManagerTvAdServiceCallback) OnAdServiceAdded(arg0 string) error

OnAdServiceAdded calls android.media.tv.ad.TvAdManager$TvAdServiceCallback.onAdServiceAdded.

func (*TvAdManagerTvAdServiceCallback) OnAdServiceRemoved

func (m *TvAdManagerTvAdServiceCallback) OnAdServiceRemoved(arg0 string) error

OnAdServiceRemoved calls android.media.tv.ad.TvAdManager$TvAdServiceCallback.onAdServiceRemoved.

func (*TvAdManagerTvAdServiceCallback) OnAdServiceUpdated

func (m *TvAdManagerTvAdServiceCallback) OnAdServiceUpdated(arg0 string) error

OnAdServiceUpdated calls android.media.tv.ad.TvAdManager$TvAdServiceCallback.onAdServiceUpdated.

type TvAdService

type TvAdService struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdService wraps android.media.tv.ad.TvAdService.

func (*TvAdService) OnAppLinkCommand

func (m *TvAdService) OnAppLinkCommand(arg0 *jni.Object) error

OnAppLinkCommand calls android.media.tv.ad.TvAdService.onAppLinkCommand.

func (*TvAdService) OnBind

func (m *TvAdService) OnBind(arg0 *jni.Object) (*jni.Object, error)

OnBind calls android.media.tv.ad.TvAdService.onBind.

func (*TvAdService) OnCreateSession

func (m *TvAdService) OnCreateSession(arg0 string, arg1 string) (*jni.Object, error)

OnCreateSession calls android.media.tv.ad.TvAdService.onCreateSession.

type TvAdServiceInfo

type TvAdServiceInfo struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdServiceInfo wraps android.media.tv.ad.TvAdServiceInfo.

func NewTvAdServiceInfo

func NewTvAdServiceInfo(vm *jni.VM, arg0 *jni.Object, arg1 *jni.Object) (*TvAdServiceInfo, error)

NewTvAdServiceInfo creates a new android.media.tv.ad.TvAdServiceInfo instance.

func (*TvAdServiceInfo) DescribeContents

func (m *TvAdServiceInfo) DescribeContents() (int32, error)

DescribeContents calls android.media.tv.ad.TvAdServiceInfo.describeContents.

func (*TvAdServiceInfo) GetId

func (m *TvAdServiceInfo) GetId() (string, error)

GetId calls android.media.tv.ad.TvAdServiceInfo.getId.

func (*TvAdServiceInfo) GetServiceInfo

func (m *TvAdServiceInfo) GetServiceInfo() (*jni.Object, error)

GetServiceInfo calls android.media.tv.ad.TvAdServiceInfo.getServiceInfo.

func (*TvAdServiceInfo) WriteToParcel

func (m *TvAdServiceInfo) WriteToParcel(arg0 *jni.Object, arg1 int32) error

WriteToParcel calls android.media.tv.ad.TvAdServiceInfo.writeToParcel.

type TvAdServiceSession

type TvAdServiceSession struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdServiceSession wraps android.media.tv.ad.TvAdService$Session.

func (*TvAdServiceSession) IsMediaViewEnabled

func (m *TvAdServiceSession) IsMediaViewEnabled() (bool, error)

IsMediaViewEnabled calls android.media.tv.ad.TvAdService$Session.isMediaViewEnabled.

func (*TvAdServiceSession) LayoutSurface

func (m *TvAdServiceSession) LayoutSurface(
	arg0 int32,
	arg1 int32,
	arg2 int32,
	arg3 int32,
) error

LayoutSurface calls android.media.tv.ad.TvAdService$Session.layoutSurface.

func (*TvAdServiceSession) NotifySessionStateChanged

func (m *TvAdServiceSession) NotifySessionStateChanged(arg0 int32, arg1 int32) error

NotifySessionStateChanged calls android.media.tv.ad.TvAdService$Session.notifySessionStateChanged.

func (*TvAdServiceSession) OnCreateMediaView

func (m *TvAdServiceSession) OnCreateMediaView() (*jni.Object, error)

OnCreateMediaView calls android.media.tv.ad.TvAdService$Session.onCreateMediaView.

func (*TvAdServiceSession) OnCurrentChannelUri

func (m *TvAdServiceSession) OnCurrentChannelUri(arg0 *jni.Object) error

OnCurrentChannelUri calls android.media.tv.ad.TvAdService$Session.onCurrentChannelUri.

func (*TvAdServiceSession) OnCurrentTvInputId

func (m *TvAdServiceSession) OnCurrentTvInputId(arg0 string) error

OnCurrentTvInputId calls android.media.tv.ad.TvAdService$Session.onCurrentTvInputId.

func (*TvAdServiceSession) OnCurrentVideoBounds

func (m *TvAdServiceSession) OnCurrentVideoBounds(arg0 *jni.Object) error

OnCurrentVideoBounds calls android.media.tv.ad.TvAdService$Session.onCurrentVideoBounds.

func (*TvAdServiceSession) OnError

func (m *TvAdServiceSession) OnError(arg0 string, arg1 *jni.Object) error

OnError calls android.media.tv.ad.TvAdService$Session.onError.

func (*TvAdServiceSession) OnGenericMotionEvent

func (m *TvAdServiceSession) OnGenericMotionEvent(arg0 *jni.Object) (bool, error)

OnGenericMotionEvent calls android.media.tv.ad.TvAdService$Session.onGenericMotionEvent.

func (*TvAdServiceSession) OnKeyDown

func (m *TvAdServiceSession) OnKeyDown(arg0 int32, arg1 *jni.Object) (bool, error)

OnKeyDown calls android.media.tv.ad.TvAdService$Session.onKeyDown.

func (*TvAdServiceSession) OnKeyLongPress

func (m *TvAdServiceSession) OnKeyLongPress(arg0 int32, arg1 *jni.Object) (bool, error)

OnKeyLongPress calls android.media.tv.ad.TvAdService$Session.onKeyLongPress.

func (*TvAdServiceSession) OnKeyMultiple

func (m *TvAdServiceSession) OnKeyMultiple(
	arg0 int32,
	arg1 int32,
	arg2 *jni.Object,
) (bool, error)

OnKeyMultiple calls android.media.tv.ad.TvAdService$Session.onKeyMultiple.

func (*TvAdServiceSession) OnKeyUp

func (m *TvAdServiceSession) OnKeyUp(arg0 int32, arg1 *jni.Object) (bool, error)

OnKeyUp calls android.media.tv.ad.TvAdService$Session.onKeyUp.

func (*TvAdServiceSession) OnMediaViewSizeChanged

func (m *TvAdServiceSession) OnMediaViewSizeChanged(arg0 int32, arg1 int32) error

OnMediaViewSizeChanged calls android.media.tv.ad.TvAdService$Session.onMediaViewSizeChanged.

func (*TvAdServiceSession) OnRelease

func (m *TvAdServiceSession) OnRelease() error

OnRelease calls android.media.tv.ad.TvAdService$Session.onRelease.

func (*TvAdServiceSession) OnResetAdService

func (m *TvAdServiceSession) OnResetAdService() error

OnResetAdService calls android.media.tv.ad.TvAdService$Session.onResetAdService.

func (*TvAdServiceSession) OnSetSurface

func (m *TvAdServiceSession) OnSetSurface(arg0 *jni.Object) (bool, error)

OnSetSurface calls android.media.tv.ad.TvAdService$Session.onSetSurface.

func (*TvAdServiceSession) OnSigningResult

func (m *TvAdServiceSession) OnSigningResult(arg0 string, arg1 *jni.Object) error

OnSigningResult calls android.media.tv.ad.TvAdService$Session.onSigningResult.

func (*TvAdServiceSession) OnStartAdService

func (m *TvAdServiceSession) OnStartAdService() error

OnStartAdService calls android.media.tv.ad.TvAdService$Session.onStartAdService.

func (*TvAdServiceSession) OnStopAdService

func (m *TvAdServiceSession) OnStopAdService() error

OnStopAdService calls android.media.tv.ad.TvAdService$Session.onStopAdService.

func (*TvAdServiceSession) OnSurfaceChanged

func (m *TvAdServiceSession) OnSurfaceChanged(
	arg0 int32,
	arg1 int32,
	arg2 int32,
) error

OnSurfaceChanged calls android.media.tv.ad.TvAdService$Session.onSurfaceChanged.

func (*TvAdServiceSession) OnTouchEvent

func (m *TvAdServiceSession) OnTouchEvent(arg0 *jni.Object) (bool, error)

OnTouchEvent calls android.media.tv.ad.TvAdService$Session.onTouchEvent.

func (*TvAdServiceSession) OnTrackballEvent

func (m *TvAdServiceSession) OnTrackballEvent(arg0 *jni.Object) (bool, error)

OnTrackballEvent calls android.media.tv.ad.TvAdService$Session.onTrackballEvent.

func (*TvAdServiceSession) OnTvInputSessionData

func (m *TvAdServiceSession) OnTvInputSessionData(arg0 string, arg1 *jni.Object) error

OnTvInputSessionData calls android.media.tv.ad.TvAdService$Session.onTvInputSessionData.

func (*TvAdServiceSession) OnTvMessage

func (m *TvAdServiceSession) OnTvMessage(arg0 int32, arg1 *jni.Object) error

OnTvMessage calls android.media.tv.ad.TvAdService$Session.onTvMessage.

func (*TvAdServiceSession) RequestCurrentChannelUri

func (m *TvAdServiceSession) RequestCurrentChannelUri() error

RequestCurrentChannelUri calls android.media.tv.ad.TvAdService$Session.requestCurrentChannelUri.

func (*TvAdServiceSession) RequestCurrentTvInputId

func (m *TvAdServiceSession) RequestCurrentTvInputId() error

RequestCurrentTvInputId calls android.media.tv.ad.TvAdService$Session.requestCurrentTvInputId.

func (*TvAdServiceSession) RequestCurrentVideoBounds

func (m *TvAdServiceSession) RequestCurrentVideoBounds() error

RequestCurrentVideoBounds calls android.media.tv.ad.TvAdService$Session.requestCurrentVideoBounds.

func (*TvAdServiceSession) RequestSigning

func (m *TvAdServiceSession) RequestSigning(
	arg0 string,
	arg1 string,
	arg2 string,
	arg3 *jni.Object,
) error

RequestSigning calls android.media.tv.ad.TvAdService$Session.requestSigning.

func (*TvAdServiceSession) RequestTrackInfoList

func (m *TvAdServiceSession) RequestTrackInfoList() error

RequestTrackInfoList calls android.media.tv.ad.TvAdService$Session.requestTrackInfoList.

func (*TvAdServiceSession) SendTvAdSessionData

func (m *TvAdServiceSession) SendTvAdSessionData(arg0 string, arg1 *jni.Object) error

SendTvAdSessionData calls android.media.tv.ad.TvAdService$Session.sendTvAdSessionData.

func (*TvAdServiceSession) SetMediaViewEnabled

func (m *TvAdServiceSession) SetMediaViewEnabled(arg0 bool) error

SetMediaViewEnabled calls android.media.tv.ad.TvAdService$Session.setMediaViewEnabled.

type TvAdView

type TvAdView struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdView wraps android.media.tv.ad.TvAdView.

func NewTvAdView

func NewTvAdView(vm *jni.VM, arg0 *jni.Object) (*TvAdView, error)

NewTvAdView creates a new android.media.tv.ad.TvAdView instance.

func (*TvAdView) ClearCallback

func (m *TvAdView) ClearCallback() error

ClearCallback calls android.media.tv.ad.TvAdView.clearCallback.

func (*TvAdView) ClearOnUnhandledInputEventListener

func (m *TvAdView) ClearOnUnhandledInputEventListener() error

ClearOnUnhandledInputEventListener calls android.media.tv.ad.TvAdView.clearOnUnhandledInputEventListener.

func (*TvAdView) DispatchKeyEvent

func (m *TvAdView) DispatchKeyEvent(arg0 *jni.Object) (bool, error)

DispatchKeyEvent calls android.media.tv.ad.TvAdView.dispatchKeyEvent.

func (*TvAdView) DispatchUnhandledInputEvent

func (m *TvAdView) DispatchUnhandledInputEvent(arg0 *jni.Object) (bool, error)

DispatchUnhandledInputEvent calls android.media.tv.ad.TvAdView.dispatchUnhandledInputEvent.

func (*TvAdView) GetOnUnhandledInputEventListener

func (m *TvAdView) GetOnUnhandledInputEventListener() (*jni.Object, error)

GetOnUnhandledInputEventListener calls android.media.tv.ad.TvAdView.getOnUnhandledInputEventListener.

func (*TvAdView) NotifyError

func (m *TvAdView) NotifyError(arg0 string, arg1 *jni.Object) error

NotifyError calls android.media.tv.ad.TvAdView.notifyError.

func (*TvAdView) NotifyTvMessage

func (m *TvAdView) NotifyTvMessage(arg0 int32, arg1 *jni.Object) error

NotifyTvMessage calls android.media.tv.ad.TvAdView.notifyTvMessage.

func (*TvAdView) OnAttachedToWindow

func (m *TvAdView) OnAttachedToWindow() error

OnAttachedToWindow calls android.media.tv.ad.TvAdView.onAttachedToWindow.

func (*TvAdView) OnDetachedFromWindow

func (m *TvAdView) OnDetachedFromWindow() error

OnDetachedFromWindow calls android.media.tv.ad.TvAdView.onDetachedFromWindow.

func (*TvAdView) OnLayout

func (m *TvAdView) OnLayout(
	arg0 bool,
	arg1 int32,
	arg2 int32,
	arg3 int32,
	arg4 int32,
) error

OnLayout calls android.media.tv.ad.TvAdView.onLayout.

func (*TvAdView) OnMeasure

func (m *TvAdView) OnMeasure(arg0 int32, arg1 int32) error

OnMeasure calls android.media.tv.ad.TvAdView.onMeasure.

func (*TvAdView) OnUnhandledInputEvent

func (m *TvAdView) OnUnhandledInputEvent(arg0 *jni.Object) (bool, error)

OnUnhandledInputEvent calls android.media.tv.ad.TvAdView.onUnhandledInputEvent.

func (*TvAdView) OnVisibilityChanged

func (m *TvAdView) OnVisibilityChanged(arg0 *jni.Object, arg1 int32) error

OnVisibilityChanged calls android.media.tv.ad.TvAdView.onVisibilityChanged.

func (*TvAdView) PrepareAdService

func (m *TvAdView) PrepareAdService(arg0 string, arg1 string) error

PrepareAdService calls android.media.tv.ad.TvAdView.prepareAdService.

func (*TvAdView) Reset

func (m *TvAdView) Reset() error

Reset calls android.media.tv.ad.TvAdView.reset.

func (*TvAdView) ResetAdService

func (m *TvAdView) ResetAdService() error

ResetAdService calls android.media.tv.ad.TvAdView.resetAdService.

func (*TvAdView) SendCurrentChannelUri

func (m *TvAdView) SendCurrentChannelUri(arg0 *jni.Object) error

SendCurrentChannelUri calls android.media.tv.ad.TvAdView.sendCurrentChannelUri.

func (*TvAdView) SendCurrentTvInputId

func (m *TvAdView) SendCurrentTvInputId(arg0 string) error

SendCurrentTvInputId calls android.media.tv.ad.TvAdView.sendCurrentTvInputId.

func (*TvAdView) SendCurrentVideoBounds

func (m *TvAdView) SendCurrentVideoBounds(arg0 *jni.Object) error

SendCurrentVideoBounds calls android.media.tv.ad.TvAdView.sendCurrentVideoBounds.

func (*TvAdView) SendSigningResult

func (m *TvAdView) SendSigningResult(arg0 string, arg1 *jni.Object) error

SendSigningResult calls android.media.tv.ad.TvAdView.sendSigningResult.

func (*TvAdView) SetCallback

func (m *TvAdView) SetCallback(arg0 *jni.Object, arg1 *jni.Object) error

SetCallback calls android.media.tv.ad.TvAdView.setCallback.

func (*TvAdView) SetOnUnhandledInputEventListener

func (m *TvAdView) SetOnUnhandledInputEventListener(arg0 *jni.Object) error

SetOnUnhandledInputEventListener calls android.media.tv.ad.TvAdView.setOnUnhandledInputEventListener.

func (*TvAdView) SetTvView

func (m *TvAdView) SetTvView(arg0 *jni.Object) (bool, error)

SetTvView calls android.media.tv.ad.TvAdView.setTvView.

func (*TvAdView) SetZOrderMediaOverlay

func (m *TvAdView) SetZOrderMediaOverlay(arg0 bool) error

SetZOrderMediaOverlay calls android.media.tv.ad.TvAdView.setZOrderMediaOverlay.

func (*TvAdView) SetZOrderOnTop

func (m *TvAdView) SetZOrderOnTop(arg0 bool) error

SetZOrderOnTop calls android.media.tv.ad.TvAdView.setZOrderOnTop.

func (*TvAdView) StartAdService

func (m *TvAdView) StartAdService() error

StartAdService calls android.media.tv.ad.TvAdView.startAdService.

func (*TvAdView) StopAdService

func (m *TvAdView) StopAdService() error

StopAdService calls android.media.tv.ad.TvAdView.stopAdService.

type TvAdViewOnUnhandledInputEventListener

type TvAdViewOnUnhandledInputEventListener struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdViewOnUnhandledInputEventListener wraps android.media.tv.ad.TvAdView$OnUnhandledInputEventListener.

func (*TvAdViewOnUnhandledInputEventListener) OnUnhandledInputEvent

func (m *TvAdViewOnUnhandledInputEventListener) OnUnhandledInputEvent(arg0 *jni.Object) (bool, error)

OnUnhandledInputEvent calls android.media.tv.ad.TvAdView$OnUnhandledInputEventListener.onUnhandledInputEvent.

type TvAdViewTvAdCallback

type TvAdViewTvAdCallback struct {
	VM  *jni.VM
	Obj *jni.GlobalRef
}

TvAdViewTvAdCallback wraps android.media.tv.ad.TvAdView$TvAdCallback.

func (*TvAdViewTvAdCallback) OnRequestCurrentChannelUri

func (m *TvAdViewTvAdCallback) OnRequestCurrentChannelUri(arg0 string) error

OnRequestCurrentChannelUri calls android.media.tv.ad.TvAdView$TvAdCallback.onRequestCurrentChannelUri.

func (*TvAdViewTvAdCallback) OnRequestCurrentTvInputId

func (m *TvAdViewTvAdCallback) OnRequestCurrentTvInputId(arg0 string) error

OnRequestCurrentTvInputId calls android.media.tv.ad.TvAdView$TvAdCallback.onRequestCurrentTvInputId.

func (*TvAdViewTvAdCallback) OnRequestCurrentVideoBounds

func (m *TvAdViewTvAdCallback) OnRequestCurrentVideoBounds(arg0 string) error

OnRequestCurrentVideoBounds calls android.media.tv.ad.TvAdView$TvAdCallback.onRequestCurrentVideoBounds.

func (*TvAdViewTvAdCallback) OnRequestSigning

func (m *TvAdViewTvAdCallback) OnRequestSigning(
	arg0 string,
	arg1 string,
	arg2 string,
	arg3 string,
	arg4 *jni.Object,
) error

OnRequestSigning calls android.media.tv.ad.TvAdView$TvAdCallback.onRequestSigning.

func (*TvAdViewTvAdCallback) OnRequestTrackInfoList

func (m *TvAdViewTvAdCallback) OnRequestTrackInfoList(arg0 string) error

OnRequestTrackInfoList calls android.media.tv.ad.TvAdView$TvAdCallback.onRequestTrackInfoList.

func (*TvAdViewTvAdCallback) OnStateChanged

func (m *TvAdViewTvAdCallback) OnStateChanged(
	arg0 string,
	arg1 int32,
	arg2 int32,
) error

OnStateChanged calls android.media.tv.ad.TvAdView$TvAdCallback.onStateChanged.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL