Package 

Class BrightcoveSeekBar

  • 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
    • 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)
    • 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

         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(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 changed
        progress - 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