# Hierarchy For All Packages

Package Hierarchies:

- com.castlabs.sdk.debug,
- com.castlabs.sdk.debug.metric,
- com.castlabs.sdk.debug.view

## Class Hierarchy

- java.lang.Object
  - com.castlabs.sdk.debug.DebugPlugin.Builder
  - com.castlabs.sdk.debug.DebugRequestResponseModifier (implements com.castlabs.android.network.RequestModifier, com.castlabs.android.network.ResponseModifier)
  - androidx.fragment.app.Fragment (implements android.content.ComponentCallbacks, androidx.lifecycle.LifecycleOwner, androidx.savedstate.SavedStateRegistryOwner, android.view.View.OnCreateContextMenuListener, androidx.lifecycle.ViewModelStoreOwner)
    - com.castlabs.sdk.debug.view.AbrPlotsFragment
    - com.castlabs.sdk.debug.view.AbstractSingleListFragment<DataObject> (implements com.castlabs.sdk.debug.view.ExtendedPlayerViewProvider.Listener)
      - com.castlabs.sdk.debug.view.DownloadsFragment
      - com.castlabs.sdk.debug.view.PlayerStatsFragment
      - com.castlabs.sdk.debug.view.RenditionsFragment
      - com.castlabs.sdk.debug.view.TrackSelectionsFragment
    - com.castlabs.sdk.debug.view.PlayerDataFragment
    - com.castlabs.sdk.debug.view.PlayerSettingsFragment
  - com.castlabs.sdk.debug.metric.Metric
    - com.castlabs.sdk.debug.metric.BandwidthMetric
    - com.castlabs.sdk.debug.metric.BufferAheadMetric
    - com.castlabs.sdk.debug.metric.BufferBehindMetric
    - com.castlabs.sdk.debug.metric.ChunkDownloadTimeMetric
    - com.castlabs.sdk.debug.metric.PlayingQualityMetric
    - com.castlabs.sdk.debug.metric.RateLimitMetric
    - com.castlabs.sdk.debug.metric.SelectedQualityMetric (implements com.castlabs.android.player.TrackSelectionListener)
  - com.castlabs.android.Plugin
    - com.castlabs.sdk.debug.DebugPlugin
  - com.castlabs.sdk.debug.RateLimitTracer
  - com.castlabs.sdk.debug.RateLimitTracer.Trace
  - com.castlabs.sdk.debug.view.RateLimitTraces
  - com.castlabs.sdk.debug.Utils
  - android.view.View (implements android.view.accessibility.AccessibilityEventSource, android.graphics.drawable.Drawable.Callback, android.view.KeyEvent.Callback)
    - com.castlabs.sdk.debug.view.MediaSegmentView
    - android.view.ViewGroup (implements android.view.ViewManager, android.view.ViewParent)
      - com.github.mikephil.charting.charts.Chart<T> (implements com.github.mikephil.charting.interfaces.dataprovider.ChartInterface)
        - com.github.mikephil.charting.charts.BarLineChartBase<T> (implements com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider)
          - com.github.mikephil.charting.charts.BarChart (implements com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider)
            - com.github.mikephil.charting.charts.HorizontalBarChart
              - com.castlabs.sdk.debug.view.PlayerStateChart (implements com.castlabs.sdk.debug.view.PlayerChart, com.castlabs.android.player.PlayerListener)
          - com.github.mikephil.charting.charts.LineChart (implements com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider)
            - com.castlabs.sdk.debug.view.PlayerMetricChart (implements com.castlabs.sdk.debug.metric.Metric.Plotter, com.castlabs.sdk.debug.view.PlayerChart)

## Interface Hierarchy

- com.castlabs.sdk.debug.view.ExtendedPlayerViewProvider.Listener
- com.castlabs.sdk.debug.metric.Metric.Plotter
- com.castlabs.sdk.debug.view.PlayerChart
- com.castlabs.sdk.debug.view.PlayerSettingsFragment.SettingsView
- com.castlabs.android.views.PlayerViewProvider
  - com.castlabs.sdk.debug.view.ExtendedPlayerViewProvider
- com.castlabs.sdk.debug.RateLimiter

## Annotation Type Hierarchy

- com.castlabs.sdk.debug.view.PlayerMetricChart.MetricType (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.castlabs.sdk.debug.DebugPlugin.DebugOverlayPosition