Skip to content

Commit

Permalink
Update player version to 3.102.0 and add samples
Browse files Browse the repository at this point in the history
  • Loading branch information
krocard committed Feb 11, 2025
1 parent dd25362 commit 510d63b
Show file tree
Hide file tree
Showing 178 changed files with 2,002 additions and 977 deletions.
1 change: 1 addition & 0 deletions Analytics/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ android {

dependencies {
implementation supportDependencies.appCompat
implementation supportDependencies.androidx_activity
implementation bitmovinPlayerDependencies.bitmovinPlayer
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,15 @@
package com.bitmovin.player.samples.analytics;

import android.os.Bundle;
import android.view.Window;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.view.WindowInsetsControllerCompat;

import com.bitmovin.analytics.api.AnalyticsConfig;
import com.bitmovin.analytics.api.CustomData;
Expand All @@ -29,9 +36,21 @@ public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
EdgeToEdge.enable(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.root), (view, insets) -> {
Insets bars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
view.setPadding(bars.left, bars.top, bars.right, bars.bottom);
return WindowInsetsCompat.CONSUMED;
});
Window window = getWindow();
WindowInsetsControllerCompat insetsController = WindowCompat.getInsetsController(window,
window.getDecorView());
insetsController.setAppearanceLightStatusBars(true);
insetsController.setAppearanceLightNavigationBars(true);

playerView = findViewById(R.id.bitmovinPlayerView);

initializePlayer();
Expand Down
1 change: 1 addition & 0 deletions Analytics/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bitmovin.player.samples.analytics.MainActivity">
Expand Down
1 change: 1 addition & 0 deletions AnalyticsKotlin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ android {

dependencies {
implementation supportDependencies.appCompat
implementation supportDependencies.androidx_activity_ktx
implementation bitmovinPlayerDependencies.bitmovinPlayer
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
package com.bitmovin.player.samples.analytics

import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import com.bitmovin.analytics.api.AnalyticsConfig
import com.bitmovin.analytics.api.CustomData
import com.bitmovin.analytics.api.SourceMetadata
Expand All @@ -20,9 +25,19 @@ class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { view, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updatePadding(insets.left, insets.top, insets.right, insets.bottom)
WindowInsetsCompat.CONSUMED
}
WindowCompat.getInsetsController(window, window.decorView).apply {
isAppearanceLightStatusBars = true
isAppearanceLightNavigationBars = true
}

initializePlayer()
}
Expand Down
1 change: 1 addition & 0 deletions BasicCasting/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ android {

dependencies {
implementation supportDependencies.appCompat
implementation supportDependencies.androidx_activity
implementation bitmovinPlayerDependencies.bitmovinPlayer

implementation "com.google.android.gms:play-services-cast-framework:$playServicesCastVersion" //only needed if Chromecast is used
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,24 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import androidx.activity.EdgeToEdge;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.view.WindowInsetsControllerCompat;

import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
Expand All @@ -31,16 +40,26 @@
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity
{
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ListAdapter listAdapter;

@Override
protected void onCreate(Bundle savedInstanceState)
{
protected void onCreate(Bundle savedInstanceState) {
EdgeToEdge.enable(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.root), (view, insets) -> {
Insets bars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
view.setPadding(bars.left, bars.top, bars.right, bars.bottom);
return WindowInsetsCompat.CONSUMED;
});
Window window = getWindow();
WindowInsetsControllerCompat insetsController = WindowCompat.getInsetsController(window,
window.getDecorView());
insetsController.setAppearanceLightStatusBars(true);
insetsController.setAppearanceLightNavigationBars(true);

// Update the context the BitmovinCastManager is using
// This should be done in every Activity's onCreate using the cast function
BitmovinCastManager.getInstance().updateContext(this);
Expand All @@ -50,19 +69,16 @@ protected void onCreate(Bundle savedInstanceState)
this.listView = findViewById(R.id.listview);
this.listAdapter = new ListAdapter(this, 0, exampleListItems);
this.listView.setAdapter(this.listAdapter);
this.listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
this.listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
onListItemClicked((ListItem) parent.getItemAtPosition(position));
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu_activity_main, menu);

Expand All @@ -72,59 +88,49 @@ public boolean onCreateOptionsMenu(Menu menu)
return true;
}

private void onListItemClicked(ListItem item)
{
private void onListItemClicked(ListItem item) {
Intent playerIntent = new Intent(this, PlayerActivity.class);
playerIntent.putExtra(PlayerActivity.SOURCE_URL, item.getUrl());
playerIntent.putExtra(PlayerActivity.SOURCE_TITLE, item.getTitle());
startActivity(playerIntent);
}

private List<ListItem> getExampleListItems()
{
private List<ListItem> getExampleListItems() {
List<ListItem> items = new ArrayList<ListItem>();
items.add(new ListItem("Sintel", "https://cdn.bitmovin.com/content/assets/sintel/sintel.mpd"));
items.add(new ListItem("Art of Motion", "https://cdn.bitmovin.com/content/assets/MI201109210084/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd"));
return items;
}

private static class ListItem
{
private static class ListItem {
private final String title;
private final String url;

public ListItem(String title, String url)
{
public ListItem(String title, String url) {
this.title = title;
this.url = url;
}

public String getTitle()
{
public String getTitle() {
return title;
}

public String getUrl()
{
public String getUrl() {
return url;
}
}

private static final class ListAdapter extends ArrayAdapter<ListItem>
{
public ListAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull List<ListItem> objects)
{
private static final class ListAdapter extends ArrayAdapter<ListItem> {
public ListAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull List<ListItem> objects) {
super(context, resource, objects);
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent)
{
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView;

if (view == null)
{
if (view == null) {
view = LayoutInflater.from(getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,15 @@
package com.bitmovin.player.samples.casting.basic;

import android.os.Bundle;
import android.view.Window;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.view.WindowInsetsControllerCompat;

import com.bitmovin.player.PlayerView;
import com.bitmovin.player.api.Player;
Expand All @@ -26,8 +33,20 @@ public class PlayerActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
EdgeToEdge.enable(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.root), (view, insets) -> {
Insets bars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
view.setPadding(bars.left, bars.top, bars.right, bars.bottom);
return WindowInsetsCompat.CONSUMED;
});
Window window = getWindow();
WindowInsetsControllerCompat insetsController = WindowCompat.getInsetsController(window,
window.getDecorView());
insetsController.setAppearanceLightStatusBars(true);
insetsController.setAppearanceLightNavigationBars(true);

// Update the context the BitmovinCastManager is using
// This should be done in every Activity's onCreate using the cast function
BitmovinCastManager.getInstance().updateContext(this);
Expand Down
33 changes: 17 additions & 16 deletions BasicCasting/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.bitmovin.player.samples.casting.basic.MainActivity">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bitmovin.player.samples.casting.basic.MainActivity">

<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"/>
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true" />

<!-- The MiniPlayer that shows up at the bottom of the activity if a cast session is running -->
<fragment
android:id="@+id/cast_mini_controller"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:castShowImageThumbnail="true"
android:visibility="gone"
class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment" />
android:id="@+id/cast_mini_controller"
class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="gone"
app:castShowImageThumbnail="true" />

</RelativeLayout>
1 change: 1 addition & 0 deletions BasicCasting/src/main/res/layout/activity_player.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bitmovin.player.samples.casting.basic.PlayerActivity">
Expand Down
1 change: 1 addition & 0 deletions BasicCastingKotlin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ android {

dependencies {
implementation supportDependencies.appCompat
implementation supportDependencies.androidx_activity_ktx
implementation bitmovinPlayerDependencies.bitmovinPlayer

implementation "com.google.android.gms:play-services-cast-framework:$playServicesCastVersion" //only needed if Chromecast is used
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ import android.view.ViewGroup
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import com.bitmovin.player.casting.BitmovinCastManager
import com.bitmovin.player.samples.casting.basic.databinding.ActivityMainBinding
import com.google.android.gms.cast.framework.CastButtonFactory
Expand All @@ -20,9 +24,16 @@ class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { view, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updatePadding(insets.left, insets.top, insets.right, insets.bottom)
WindowInsetsCompat.CONSUMED
}

// Update the context the BitmovinCastManager is using
// This should be done in every Activity's onCreate using the cast function
BitmovinCastManager.getInstance().updateContext(this)
Expand Down
Loading

0 comments on commit 510d63b

Please sign in to comment.