-
- All Implemented Interfaces:
-
android.graphics.drawable.Drawable.Callback
,android.view.KeyEvent.Callback
,android.view.accessibility.AccessibilityEventSource
,com.brightcove.player.mediacontroller.OnBrightcoveSeekBarChangeListener
public class BrightcoveSeekBar extends SeekBar implements OnBrightcoveSeekBarChangeListener
Provides a seek bar object that also manages arbitrary markers for chapters, ads or some other purpose. This class is heavily based on work done by Kate Kelly and Tim Parsons as part of the Tina project.
-
-
Field Summary
Fields Modifier and Type Field Description private int
markerHeight
-
Constructor Summary
Constructors Constructor Description BrightcoveSeekBar(Context context)
BrightcoveSeekBar(Context context, AttributeSet attrs)
BrightcoveSeekBar(Context context, AttributeSet attrs, int defStyle)
-
Method Summary
Modifier and Type Method Description int
getMarkerHeight()
Gets marker height. void
setMarkerHeight(int markerHeight)
Sets the new marker height. void
addMarker(int marker)
Deprecated. void
addMarker(long marker)
Adds a marker to the list of markers. void
clearMarkers()
Clears the set of markers. void
removeMarker(Integer marker)
Deprecated. void
removeMarker(Long marker)
Removes the marker specified. String
getMarkerColor()
Marker color attribute getter. float
getMarkerWidth()
Marker width attribute getter. void
setMarkerColor(int value)
Sets a new value for the marker color. void
setMarkerWidth(float value)
Sets a new value for the marker width. void
setShouldMarkerOverdrawThumb(boolean shouldMarkerOverdrawThumb)
void
onBrightcoveProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
Notification that the progress level has changed. void
onBrightcoveStartTrackingTouch(SeekBar seekBar)
Notification that the user has started a touch gesture. void
onBrightcoveStopTrackingTouch(SeekBar seekBar)
Notification that the user has finished a touch gesture. void
onInitializeAccessibilityEvent(AccessibilityEvent event)
-
Methods inherited from class android.widget.SeekBar
getAccessibilityClassName, setOnSeekBarChangeListener
-
Methods inherited from class android.widget.AbsSeekBar
drawableHotspotChanged, getKeyProgressIncrement, getSplitTrack, getThumb, getThumbOffset, getThumbTintBlendMode, getThumbTintList, getThumbTintMode, getTickMark, getTickMarkTintBlendMode, getTickMarkTintList, getTickMarkTintMode, jumpDrawablesToCurrentState, onKeyDown, onRtlPropertiesChanged, onTouchEvent, setKeyProgressIncrement, setMax, setMin, setSplitTrack, setSystemGestureExclusionRects, setThumb, setThumbOffset, setThumbTintBlendMode, setThumbTintList, setThumbTintMode, setTickMark, setTickMarkTintBlendMode, setTickMarkTintList, setTickMarkTintMode
-
Methods inherited from class android.widget.ProgressBar
getCurrentDrawable, getIndeterminateDrawable, getIndeterminateTintBlendMode, getIndeterminateTintList, getIndeterminateTintMode, getInterpolator, getMax, getMaxHeight, getMaxWidth, getMin, getMinHeight, getMinWidth, getProgress, getProgressBackgroundTintBlendMode, getProgressBackgroundTintList, getProgressBackgroundTintMode, getProgressDrawable, getProgressTintBlendMode, getProgressTintList, getProgressTintMode, getSecondaryProgress, getSecondaryProgressTintBlendMode, getSecondaryProgressTintList, getSecondaryProgressTintMode, incrementProgressBy, incrementSecondaryProgressBy, invalidateDrawable, isAnimating, isIndeterminate, onRestoreInstanceState, onSaveInstanceState, onVisibilityAggregated, postInvalidate, setIndeterminate, setIndeterminateDrawable, setIndeterminateDrawableTiled, setIndeterminateTintBlendMode, setIndeterminateTintList, setIndeterminateTintMode, setInterpolator, setMaxHeight, setMaxWidth, setMinHeight, setMinWidth, setProgress, setProgressBackgroundTintBlendMode, setProgressBackgroundTintList, setProgressBackgroundTintMode, setProgressDrawable, setProgressDrawableTiled, setProgressTintBlendMode, setProgressTintList, setProgressTintMode, setSecondaryProgress, setSecondaryProgressTintBlendMode, setSecondaryProgressTintList, setSecondaryProgressTintMode, setStateDescription
-
Methods inherited from class android.view.View
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, addTouchables, animate, announceForAccessibility, autofill, bringToFront, buildDrawingCache, buildLayer, callOnClick, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, checkInputConnectionProxy, clearAnimation, clearFocus, clearViewTranslationCallback, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerCaptureChanged, dispatchPopulateAccessibilityEvent, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchScrollCaptureSearch, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, draw, findFocus, findOnBackInvokedDispatcher, findViewById, findViewWithTag, findViewsWithText, focusSearch, forceHasOverlappingRendering, forceLayout, gatherTransparentRegion, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAllowedHandwritingDelegatePackageName, getAllowedHandwritingDelegatorPackageName, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getHandler, getHandwritingBoundsOffsetBottom, getHandwritingBoundsOffsetLeft, getHandwritingBoundsOffsetRight, getHandwritingBoundsOffsetTop, getHandwritingDelegatorCallback, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getOverlay, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getPreferKeepClearRects, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchDelegate, getTouchables, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocus, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasTransientState, hasWindowFocus, inflate, invalidate, invalidateOutline, isAccessibilityDataSensitive, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isAutoHandwritingEnabled, isClickable, isContextClickable, isCredential, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHandwritingDelegate, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPreferKeepClear, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollContainer, isScrollbarFadingEnabled, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, layout, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onResolvePointerIcon, onScreenStateChanged, onScrollCaptureSearch, onStartTemporaryDetach, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performHapticFeedback, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreDefaultFocus, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDataSensitive, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAllowedHandwritingDelegatePackage, setAllowedHandwritingDelegatorPackage, setAlpha, setAnimation, setAnimationMatrix, setAutoHandwritingEnabled, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHandwritingBoundsOffsets, setHandwritingDelegatorCallback, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setIsCredential, setIsHandwritingDelegate, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPreferKeepClear, setPreferKeepClearRects, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollX, setScrollY, setScrollbarFadingEnabled, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setWindowInsetsAnimationCallback, setX, setY, setZ, showContextMenu, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
BrightcoveSeekBar
BrightcoveSeekBar(Context context)
-
BrightcoveSeekBar
BrightcoveSeekBar(Context context, AttributeSet attrs)
-
BrightcoveSeekBar
BrightcoveSeekBar(Context context, AttributeSet attrs, int defStyle)
-
-
Method Detail
-
getMarkerHeight
int getMarkerHeight()
Gets marker height.This value is set on the constructor if checkTvMode is true.If it returns 0, the height of the marker will be the height of the progress bar (including padding).
-
setMarkerHeight
void setMarkerHeight(int markerHeight)
Sets the new marker height.
-
addMarker
@Deprecated() void addMarker(int marker)
Deprecated. Instead use {addMarker}
-
addMarker
void addMarker(long marker)
Adds a marker to the list of markers. Filtering of pre-roll or post-roll markers should be done by the caller.The seekbar will be redrawn to show the marker.
- Parameters:
marker
- a point in milliseconds on the seekbar which should be marked.
-
clearMarkers
void clearMarkers()
Clears the set of markers.
-
removeMarker
void removeMarker(Integer marker)
Deprecated. Instead use {removeMarker}
-
removeMarker
void removeMarker(Long marker)
Removes the marker specified.
- Parameters:
marker
- a point in milliseconds on the seekbar which will be removed.
-
getMarkerColor
String getMarkerColor()
Marker color attribute getter. Provided for Activity and configuration change lifecycle instance saving.
-
getMarkerWidth
float getMarkerWidth()
Marker width attribute getter. Provided for Activity lifecycle and configuration change instance saving.
-
setMarkerColor
void setMarkerColor(int value)
Sets a new value for the marker color. Provided for initialization, Activity lifecycle restoration and configuration change handling.
- Parameters:
value
- The new marker color value.
-
setMarkerWidth
void setMarkerWidth(float value)
Sets a new value for the marker width. Provided for initialization, Activity lifecycle restoration and configuration change handling.
- Parameters:
value
- The new marker width value.
-
setShouldMarkerOverdrawThumb
void setShouldMarkerOverdrawThumb(boolean shouldMarkerOverdrawThumb)
- Parameters:
shouldMarkerOverdrawThumb
- whether the markers should draw on top of the thumb.
-
onBrightcoveProgressChanged
void onBrightcoveProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
Notification that the progress level has changed. Clients can use the fromUser parameterto distinguish user-initiated changes from those that occurred programmatically.
- Parameters:
seekBar
- The SeekBar whose progress has changedprogress
- The current progress level.fromUser
- True if the progress change was initiated by the user.
-
onBrightcoveStartTrackingTouch
void onBrightcoveStartTrackingTouch(SeekBar seekBar)
Notification that the user has started a touch gesture. Clients may want to use thisto disable advancing the seekbar.
- Parameters:
seekBar
- The SeekBar in which the touch gesture began
-
onBrightcoveStopTrackingTouch
void onBrightcoveStopTrackingTouch(SeekBar seekBar)
Notification that the user has finished a touch gesture. Clients may want to use thisto re-enable advancing the seekbar.
- Parameters:
seekBar
- The SeekBar in which the touch gesture began
-
onInitializeAccessibilityEvent
void onInitializeAccessibilityEvent(AccessibilityEvent event)
-
-
-
-