| package com.matter.casting; |
| |
| import android.util.Log; |
| import com.matter.casting.core.CastingPlayer; |
| import com.matter.casting.core.Endpoint; |
| import java.util.List; |
| |
| /** A utility that selects an endpoint based on some criterion */ |
| public class EndpointSelectorExample { |
| private static final String TAG = EndpointSelectorExample.class.getSimpleName(); |
| private static final Integer SAMPLE_ENDPOINT_VID = 65521; |
| |
| /** |
| * Returns the first Endpoint in the list of Endpoints associated with the selectedCastingPlayer |
| * whose VendorID matches the EndpointSelectorExample.SAMPLE_ENDPOINT_VID |
| */ |
| public static Endpoint selectFirstEndpointByVID(CastingPlayer selectedCastingPlayer) { |
| Endpoint endpoint = null; |
| if (selectedCastingPlayer != null) { |
| List<Endpoint> endpoints = selectedCastingPlayer.getEndpoints(); |
| if (endpoints == null) { |
| Log.e(TAG, "No Endpoints found on CastingPlayer"); |
| } else { |
| endpoint = |
| endpoints |
| .stream() |
| .filter(e -> SAMPLE_ENDPOINT_VID.equals(e.getVendorId())) |
| .findFirst() |
| .get(); |
| } |
| } |
| return endpoint; |
| } |
| } |