Package com.castlabs.sdk.debug.view

## Class PlayerMetricChart

- java.lang.Object
- - android.view.View
  - - android.view.ViewGroup
    - - com.github.mikephil.charting.charts.Chart<T>
      - - com.github.mikephil.charting.charts.BarLineChartBase<com.github.mikephil.charting.data.LineData>
        - - com.github.mikephil.charting.charts.LineChart
          - - com.castlabs.sdk.debug.view.PlayerMetricChart

- All Implemented Interfaces:
    `Drawable.Callback`, `AccessibilityEventSource`, `KeyEvent.Callback`, `ViewManager`, `ViewParent`, `Metric.Plotter`, `PlayerChart`, `com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider`, `com.github.mikephil.charting.interfaces.dataprovider.ChartInterface`, `com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider`

      public class PlayerMetricChart
      extends com.github.mikephil.charting.charts.LineChart
      implements PlayerChart, Metric.Plotter

  Chart that shows line graph displaying one or more `Metric`s.

  By default no metrics are shown, so you should call `enableMetrics(int)` with the desired `PlayerMetricChart.MetricType`s. You can also add metrics to plot with the `addMetric(Metric)` method.

  *NOTE* that you must set the metrics before calling `setPlayerController(PlayerController)`

  Since:
    4.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `PlayerMetricChart.MetricType` |

    - ### Nested classes/interfaces inherited from class android.view.ViewGroup

      `ViewGroup.LayoutParams, ViewGroup.MarginLayoutParams, ViewGroup.OnHierarchyChangeListener`

    - ### Nested classes/interfaces inherited from class android.view.View

      `View.AccessibilityDelegate, View.BaseSavedState, View.DragShadowBuilder, View.MeasureSpec, View.OnApplyWindowInsetsListener, View.OnAttachStateChangeListener, View.OnCapturedPointerListener, View.OnClickListener, View.OnContextClickListener, View.OnCreateContextMenuListener, View.OnDragListener, View.OnFocusChangeListener, View.OnGenericMotionListener, View.OnHoverListener, View.OnKeyListener, View.OnLayoutChangeListener, View.OnLongClickListener, View.OnScrollChangeListener, View.OnSystemUiVisibilityChangeListener, View.OnTouchListener, View.OnUnhandledKeyEventListener`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static long` | `DEFAULT_MAXIMUM_DATA_AGE_MS` | Maximum age data in this Chart will be kept
    `static long` | `DEFAULT_RENDER_UPDATE_INTERVAL_MS` | Period between Chart updates
    `static int` | `METRIC_ABR_BANDWIDTH_ESTIMATION` | Adds a `BandwidthMetric`
    `static int` | `METRIC_ABR_PLAYING_QUALITY` | Adds a `PlayingQualityMetric`
    `static int` | `METRIC_ABR_SELECTED_QUALITY` | Adds a `SelectedQualityMetric`
    `static int` | `METRIC_BUFFER_AHEAD` | Adds a `BufferAheadMetric`
    `static int` | `METRIC_BUFFER_BEHIND` | Adds a `BufferBehindMetric`
    `static int` | `METRIC_CHUNK_AUDIO_DOWNLOAD_TIME` | Adds a `ChunkDownloadTimeMetric` with `ChunkDownloadTimeMetric.MODE_AUDIO`
    `static int` | `METRIC_CHUNK_VIDEO_DOWNLOAD_TIME` | Adds a `ChunkDownloadTimeMetric` with `ChunkDownloadTimeMetric.MODE_VIDEO`
    `static int` | `METRIC_RATE_LIMIT` | Adds a `RateLimitMetric`

    - ### Fields inherited from class com.github.mikephil.charting.charts.Chart

      `LOG_TAG, PAINT_CENTER_TEXT, PAINT_DESCRIPTION, PAINT_GRID_BACKGROUND, PAINT_HOLE, PAINT_INFO, PAINT_LEGEND_LABEL`

    - ### Fields inherited from class android.view.ViewGroup

      `FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE`

    - ### Fields inherited from class android.view.View

      `ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_ACCESSIBILITY_ACTION, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PlayerMetricChart​(Context context)` |
    `PlayerMetricChart​(Context context, AttributeSet attrs)` |
    `PlayerMetricChart​(Context context, AttributeSet attrs, int defStyle)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addMetric​(Metric metric)` | Adds a `Metric` to be drawn in this Chart.
    `void` | `enableMetrics​(int metrics)` | Enables the specified Metrics.
    `long` | `getMaximumDataAgeMs()` | Maximum time data should be kept.
    `boolean` | `isMetricEnabled​(int metric)` | Whether a certain Metric is enabled or not
    `void` | `requestPlot​(Metric metric)` | The metric needs to be redrawn.
    `void` | `setMaximumDataAgeMs​(long maximumDataAgeMs)` | How much time the data should be kept and drawn.
    `void` | `setPlayerController​(PlayerController playerController)` | Sets the player controller to which to bind and extract data from.
    `void` | `setRenderUpdateInterval​(int renderUpdateInterval)` | Adjust how often the View is redrawn
    `void` | `showQualities()` | Enables Video qualities plotting.
    `void` | `showQualitiesAxis​(com.github.mikephil.charting.components.YAxis.AxisDependency axisDependency)` | Enables Video qualities plotting.
    `void` | `unsetPlayerController()` | Performs all the necessary cleanup and removes the previously set listeners (if any).

    - ### Methods inherited from class com.github.mikephil.charting.charts.LineChart

      `getLineData`

    - ### Methods inherited from class com.github.mikephil.charting.charts.BarLineChartBase

      `calculateOffsets, centerViewTo, centerViewToAnimated, centerViewToY, computeScroll, fitScreen, getAxis, getAxisLeft, getAxisRight, getDataSetByTouchPoint, getDrawListener, getEntryByTouchPoint, getHighestVisibleX, getLowestVisibleX, getMaxVisibleCount, getMinOffset, getPaint, getPixelForValues, getPosition, getRendererLeftYAxis, getRendererRightYAxis, getRendererXAxis, getScaleX, getScaleY, getTransformer, getValuesByTouchPoint, getValuesByTouchPoint, getVisibleXRange, getYChartMax, getYChartMin, hasNoDragOffset, isAnyAxisInverted, isAutoScaleMinMaxEnabled, isClipValuesToContentEnabled, isDoubleTapToZoomEnabled, isDragEnabled, isDragXEnabled, isDragYEnabled, isDrawBordersEnabled, isFullyZoomedOut, isHighlightPerDragEnabled, isInverted, isKeepPositionOnRotation, isPinchZoomEnabled, isScaleXEnabled, isScaleYEnabled, moveViewTo, moveViewToAnimated, moveViewToX, notifyDataSetChanged, onTouchEvent, resetTracking, resetViewPortOffsets, resetZoom, setAutoScaleMinMaxEnabled, setBorderColor, setBorderWidth, setClipValuesToContent, setDoubleTapToZoomEnabled, setDragEnabled, setDragOffsetX, setDragOffsetY, setDragXEnabled, setDragYEnabled, setDrawBorders, setDrawGridBackground, setGridBackgroundColor, setHighlightPerDragEnabled, setKeepPositionOnRotation, setMaxVisibleValueCount, setMinOffset, setOnDrawListener, setPaint, setPinchZoom, setRendererLeftYAxis, setRendererRightYAxis, setScaleEnabled, setScaleMinima, setScaleXEnabled, setScaleYEnabled, setViewPortOffsets, setVisibleXRange, setVisibleXRangeMaximum, setVisibleXRangeMinimum, setVisibleYRange, setVisibleYRangeMaximum, setVisibleYRangeMinimum, setXAxisRenderer, zoom, zoom, zoomAndCenterAnimated, zoomIn, zoomOut, zoomToCenter`

    - ### Methods inherited from class com.github.mikephil.charting.charts.Chart

      `addViewportJob, animateX, animateX, animateX, animateXY, animateXY, animateXY, animateY, animateY, animateY, clear, clearAllViewportJobs, clearValues, disableScroll, enableScroll, getAnimator, getCenter, getCenterOffsets, getCenterOfView, getChartBitmap, getContentRect, getData, getDefaultValueFormatter, getDescription, getDragDecelerationFrictionCoef, getExtraBottomOffset, getExtraLeftOffset, getExtraRightOffset, getExtraTopOffset, getHighlightByTouchPoint, getHighlighted, getHighlighter, getJobs, getLegend, getLegendRenderer, getMarker, getMarkerView, getMaxHighlightDistance, getOnChartGestureListener, getOnTouchListener, getRenderer, getViewPortHandler, getXAxis, getXChartMax, getXChartMin, getXRange, getYMax, getYMin, highlightValue, highlightValue, highlightValue, highlightValue, highlightValue, highlightValue, highlightValues, isDragDecelerationEnabled, isDrawMarkersEnabled, isDrawMarkerViewsEnabled, isEmpty, isHighlightPerTapEnabled, isLogEnabled, removeViewportJob, saveToGallery, saveToGallery, saveToPath, setData, setDescription, setDragDecelerationEnabled, setDragDecelerationFrictionCoef, setDrawMarkers, setDrawMarkerViews, setExtraBottomOffset, setExtraLeftOffset, setExtraOffsets, setExtraRightOffset, setExtraTopOffset, setHardwareAccelerationEnabled, setHighlighter, setHighlightPerTapEnabled, setLogEnabled, setMarker, setMarkerView, setMaxHighlightDistance, setNoDataText, setNoDataTextColor, setNoDataTextTypeface, setOnChartGestureListener, setOnChartValueSelectedListener, setOnTouchListener, setRenderer, setTouchEnabled, setUnbindEnabled, valuesToHighlight`

    - ### Methods inherited from class android.view.ViewGroup

      `addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, generateLayoutParams, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, shouldDelayChildPressedState, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout`

    - ### Methods inherited from class android.view.View

      `addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearViewTranslationCallback, combineMeasuredStates, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, 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, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, 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, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, 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, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onRtlPropertiesChanged, onScreenStateChanged, onScrollCaptureSearch, onStartTemporaryDetach, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, 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, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, 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, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider

      `getData, getHighestVisibleX, getLowestVisibleX, getTransformer, isInverted`

    - ### Methods inherited from interface com.github.mikephil.charting.interfaces.dataprovider.ChartInterface

      `getCenterOffsets, getCenterOfView, getContentRect, getDefaultValueFormatter, getHeight, getMaxHighlightDistance, getMaxVisibleCount, getWidth, getXChartMax, getXChartMin, getXRange, getYChartMax, getYChartMin`

    - ### Methods inherited from interface com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider

      `getAxis`

    - ### Methods inherited from interface android.view.ViewParent

      `canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout`

- - ### Field Detail

    - #### METRIC_BUFFER_AHEAD

          public static final int METRIC_BUFFER_AHEAD

      Adds a `BufferAheadMetric`
      See Also:
        Constant Field Values

    - #### METRIC_BUFFER_BEHIND

          public static final int METRIC_BUFFER_BEHIND

      Adds a `BufferBehindMetric`
      See Also:
        Constant Field Values

    - #### METRIC_CHUNK_VIDEO_DOWNLOAD_TIME

          public static final int METRIC_CHUNK_VIDEO_DOWNLOAD_TIME

      Adds a `ChunkDownloadTimeMetric` with `ChunkDownloadTimeMetric.MODE_VIDEO`
      See Also:
        Constant Field Values

    - #### METRIC_CHUNK_AUDIO_DOWNLOAD_TIME

          public static final int METRIC_CHUNK_AUDIO_DOWNLOAD_TIME

      Adds a `ChunkDownloadTimeMetric` with `ChunkDownloadTimeMetric.MODE_AUDIO`
      See Also:
        Constant Field Values

    - #### METRIC_ABR_BANDWIDTH_ESTIMATION

          public static final int METRIC_ABR_BANDWIDTH_ESTIMATION

      Adds a `BandwidthMetric`
      See Also:
        Constant Field Values

    - #### METRIC_ABR_PLAYING_QUALITY

          public static final int METRIC_ABR_PLAYING_QUALITY

      Adds a `PlayingQualityMetric`
      See Also:
        Constant Field Values

    - #### METRIC_ABR_SELECTED_QUALITY

          public static final int METRIC_ABR_SELECTED_QUALITY

      Adds a `SelectedQualityMetric`
      See Also:
        Constant Field Values

    - #### METRIC_RATE_LIMIT

          public static final int METRIC_RATE_LIMIT

      Adds a `RateLimitMetric`
      See Also:
        Constant Field Values

    - #### DEFAULT_MAXIMUM_DATA_AGE_MS

          public static final long DEFAULT_MAXIMUM_DATA_AGE_MS

      Maximum age data in this Chart will be kept
      See Also:
        Constant Field Values

    - #### DEFAULT_RENDER_UPDATE_INTERVAL_MS

          public static final long DEFAULT_RENDER_UPDATE_INTERVAL_MS

      Period between Chart updates
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PlayerMetricChart

          public PlayerMetricChart​(Context context)

    - #### PlayerMetricChart

          public PlayerMetricChart​(Context context,
                                   AttributeSet attrs)

    - #### PlayerMetricChart

          public PlayerMetricChart​(Context context,
                                   AttributeSet attrs,
                                   int defStyle)

  - ### Method Detail

    - #### enableMetrics

          public void enableMetrics​(int metrics)

      Enables the specified Metrics. Should be one or more of `PlayerMetricChart.MetricType`
      Parameters:
        `metrics` - Metrics to enable

    - #### isMetricEnabled

          public boolean isMetricEnabled​(int metric)

      Whether a certain Metric is enabled or not
      Parameters:
        `metric` - the Metric to test
      Returns:
        whether the provided Metric is enabled or not

    - #### setRenderUpdateInterval

          public void setRenderUpdateInterval​(int renderUpdateInterval)

      Adjust how often the View is redrawn
      Parameters:
        `renderUpdateInterval` - period between updates in milliseconds

    - #### showQualities

          public void showQualities()

      Enables Video qualities plotting. Same as calling `showQualitiesAxis(YAxis.AxisDependency)` with `YAxis.AxisDependency.LEFT`.

    - #### showQualitiesAxis

          public void showQualitiesAxis​(@Nullable
                                        com.github.mikephil.charting.components.YAxis.AxisDependency axisDependency)

      Enables Video qualities plotting. This will overlay the video qualities as horizontal lines bound to the specified axis.
      Parameters:
        `axisDependency` - axis which to bound the qualities to.

    - #### addMetric

          public void addMetric​(Metric metric)

      Adds a `Metric` to be drawn in this Chart.
      Parameters:
        `metric` - Metric to add

    - #### setPlayerController

          public void setPlayerController​(@NonNull
                                          PlayerController playerController)

      Description copied from interface: `PlayerChart`
      Sets the player controller to which to bind and extract data from.
      Specified by:
        `setPlayerController` in interface `PlayerChart`
      Parameters:
        `playerController` - PlayerController where to get the data from.

    - #### unsetPlayerController

          public void unsetPlayerController()

      Description copied from interface: `PlayerChart`
      Performs all the necessary cleanup and removes the previously set listeners (if any).
      Specified by:
        `unsetPlayerController` in interface `PlayerChart`

    - #### requestPlot

          public void requestPlot​(Metric metric)

      Description copied from interface: `Metric.Plotter`
      The metric needs to be redrawn. Probably due to data change
      Specified by:
        `requestPlot` in interface `Metric.Plotter`
      Parameters:
        `metric` - Metric to draw

    - #### getMaximumDataAgeMs

          public long getMaximumDataAgeMs()

      Description copied from interface: `Metric.Plotter`
      Maximum time data should be kept. Used to remove old data points.
      Specified by:
        `getMaximumDataAgeMs` in interface `Metric.Plotter`
      Returns:
        time data should be kept

    - #### setMaximumDataAgeMs

          public void setMaximumDataAgeMs​(long maximumDataAgeMs)

      How much time the data should be kept and drawn.
      Parameters:
        `maximumDataAgeMs` - Maximum data age in milliseconds