/** * Builds a new {@link NoPlayer} instance. * * @param context The {@link Context} associated with the player. * @return a {@link NoPlayer} instance. * @throws UnableToCreatePlayerException thrown when the configuration is not supported and there is no way to recover. * @see NoPlayer */ public NoPlayer build(Context context) throws UnableToCreatePlayerException { Context applicationContext = context.getApplicationContext(); Handler handler = new Handler(Looper.getMainLooper()); ProvisionExecutorCreator provisionExecutorCreator = new ProvisionExecutorCreator(); DrmSessionCreatorFactory drmSessionCreatorFactory = new DrmSessionCreatorFactory( AndroidDeviceVersion.newInstance(), provisionExecutorCreator, handler ); NoPlayerCreator noPlayerCreator = new NoPlayerCreator( applicationContext, prioritizedPlayerTypes, NoPlayerExoPlayerCreator.newInstance(handler), NoPlayerMediaPlayerCreator.newInstance(handler), drmSessionCreatorFactory ); return noPlayerCreator.create(drmType, drmHandler, downgradeSecureDecoder); }
@Test public void whenCreatingPlayerWithDrmTypeWidevineModularDownload_thenReturnsExoPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.WIDEVINE_MODULAR_DOWNLOAD, DOWNLOADED_MODULAR_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(EXO_PLAYER); } }
@Test public void whenCreatingPlayerWithDrmTypeWidevineModularStream_thenReturnsExoPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.WIDEVINE_MODULAR_STREAM, STREAMING_MODULAR_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(EXO_PLAYER); }
@Test public void whenCreatingPlayerWithDrmTypeWidevineClassic_thenReturnsMediaPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.WIDEVINE_CLASSIC, DrmHandler.NO_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(MEDIA_PLAYER); }
@Test public void whenCreatingPlayerWithDrmTypeWidevineClassic_thenReturnsMediaPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.WIDEVINE_CLASSIC, DrmHandler.NO_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(MEDIA_PLAYER); }
@Test public void whenCreatingPlayerWithDrmTypeWidevineModularStream_thenReturnsExoPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.WIDEVINE_MODULAR_STREAM, STREAMING_MODULAR_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(EXO_PLAYER); }
@Test public void whenCreatingPlayerWithDrmTypeNone_thenReturnsMediaPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.NONE, DrmHandler.NO_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(MEDIA_PLAYER); }
@Test public void whenCreatingPlayerWithDrmTypeNone_thenReturnsExoPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.NONE, DrmHandler.NO_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(EXO_PLAYER); }
@Test public void whenCreatingPlayerWithDrmTypeWidevineModularDownload_thenReturnsExoPlayer() { NoPlayer player = noPlayerCreator.create(DrmType.WIDEVINE_MODULAR_DOWNLOAD, DOWNLOADED_MODULAR_DRM, USE_SECURE_CODEC); assertThat(player).isEqualTo(EXO_PLAYER); } }