Example #1
0
  public void setupStreamList(final List<VideoStream> videoStreams) {
    if (activity != null) {
      selectedVideoStream = 0;

      // this array will be shown in the dropdown menu for selecting the stream/resolution.
      String[] itemArray = new String[videoStreams.size()];
      for (int i = 0; i < videoStreams.size(); i++) {
        VideoStream item = videoStreams.get(i);
        itemArray[i] = MediaFormat.getNameById(item.format) + " " + item.resolution;
      }
      int defaultResolution = getDefaultResolution(videoStreams);

      ArrayAdapter<String> itemAdapter =
          new ArrayAdapter<>(
              activity.getBaseContext(), android.R.layout.simple_spinner_dropdown_item, itemArray);

      ActionBar ab = activity.getSupportActionBar();
      // todo: make this throwsable
      assert ab != null : "Could not get actionbar";
      ab.setListNavigationCallbacks(
          itemAdapter,
          new ActionBar.OnNavigationListener() {
            @Override
            public boolean onNavigationItemSelected(int itemPosition, long itemId) {
              selectedVideoStream = (int) itemId;
              return true;
            }
          });

      ab.setSelectedNavigationItem(defaultResolution);
    }
  }