Clean up IMA demo
Also do some minor cleanup in other demo apps. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=173146425
@ -34,7 +34,6 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
<category android:name="android.intent.category.BROWSABLE"/>
|
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string name="application_name">ExoCast Demo</string>
|
<string name="application_name">Exo Cast Demo</string>
|
||||||
|
|
||||||
<string name="media_route_menu_title">ExoCast</string>
|
<string name="media_route_menu_title">Cast</string>
|
||||||
|
|
||||||
<string name="error_unsupported_drm">DRM scheme not supported by this device.</string>
|
<string name="error_unsupported_drm">DRM scheme not supported by this device.</string>
|
||||||
|
|
||||||
|
@ -17,22 +17,30 @@ apply plugin: 'com.android.application'
|
|||||||
android {
|
android {
|
||||||
compileSdkVersion project.ext.compileSdkVersion
|
compileSdkVersion project.ext.compileSdkVersion
|
||||||
buildToolsVersion project.ext.buildToolsVersion
|
buildToolsVersion project.ext.buildToolsVersion
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.google.android.exoplayer2.imademo"
|
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion project.ext.targetSdkVersion
|
targetSdkVersion project.ext.targetSdkVersion
|
||||||
versionCode 1
|
|
||||||
versionName "1.0"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled false
|
shrinkResources true
|
||||||
|
minifyEnabled true
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android.txt')
|
||||||
}
|
}
|
||||||
|
debug {
|
||||||
|
jniDebuggable = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lintOptions {
|
||||||
|
// The demo app does not have translations.
|
||||||
|
disable 'MissingTranslation'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'com.android.support:appcompat-v7:' + supportLibraryVersion
|
|
||||||
compile project(modulePrefix + 'library-core')
|
compile project(modulePrefix + 'library-core')
|
||||||
compile project(modulePrefix + 'library-ui')
|
compile project(modulePrefix + 'library-ui')
|
||||||
compile project(modulePrefix + 'extension-ima')
|
compile project(modulePrefix + 'extension-ima')
|
||||||
|
@ -1,21 +1,39 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<!-- Copyright (C) 2017 The Android Open Source Project
|
||||||
package="com.google.android.exoplayer2.imademo">
|
|
||||||
|
|
||||||
<application
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
android:allowBackup="true"
|
you may not use this file except in compliance with the License.
|
||||||
android:icon="@mipmap/ic_launcher"
|
You may obtain a copy of the License at
|
||||||
android:label="@string/app_name"
|
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
android:supportsRtl="true"
|
|
||||||
android:theme="@style/AppTheme">
|
Unless required by applicable law or agreed to in writing, software
|
||||||
<activity android:name=".MainActivity">
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.google.android.exoplayer2.imademo"
|
||||||
|
android:versionCode="2504"
|
||||||
|
android:versionName="2.5.4">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="26"/>
|
||||||
|
|
||||||
|
<application android:label="@string/application_name" android:icon="@mipmap/ic_launcher"
|
||||||
|
android:largeHeap="true" android:allowBackup="false">
|
||||||
|
|
||||||
|
<activity android:name="com.google.android.exoplayer2.imademo.MainActivity"
|
||||||
|
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
|
||||||
|
android:label="@string/application_name"
|
||||||
|
android:theme="@style/PlayerTheme">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
@ -17,14 +17,15 @@ package com.google.android.exoplayer2.imademo;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.ExoPlayerFactory;
|
import com.google.android.exoplayer2.ExoPlayerFactory;
|
||||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||||
import com.google.android.exoplayer2.ext.ima.ImaAdsLoader;
|
import com.google.android.exoplayer2.ext.ima.ImaAdsLoader;
|
||||||
import com.google.android.exoplayer2.ext.ima.ImaAdsMediaSource;
|
|
||||||
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
|
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
|
||||||
import com.google.android.exoplayer2.extractor.ExtractorsFactory;
|
import com.google.android.exoplayer2.extractor.ExtractorsFactory;
|
||||||
import com.google.android.exoplayer2.source.ExtractorMediaSource;
|
import com.google.android.exoplayer2.source.ExtractorMediaSource;
|
||||||
import com.google.android.exoplayer2.source.MediaSource;
|
import com.google.android.exoplayer2.source.MediaSource;
|
||||||
|
import com.google.android.exoplayer2.source.ads.AdsMediaSource;
|
||||||
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
||||||
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
||||||
import com.google.android.exoplayer2.trackselection.TrackSelection;
|
import com.google.android.exoplayer2.trackselection.TrackSelection;
|
||||||
@ -37,61 +38,69 @@ import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
|
|||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class deals with ExoPlayer, the IMA plugin, and all video playback.
|
* Manages the {@link ExoPlayer}, the IMA plugin and all video playback.
|
||||||
*/
|
*/
|
||||||
class DemoPlayer {
|
/* package */ final class DemoPlayer {
|
||||||
|
|
||||||
private final ImaAdsLoader mAdsLoader;
|
private final ImaAdsLoader adsLoader;
|
||||||
private SimpleExoPlayer mPlayer;
|
|
||||||
private long mContentPosition;
|
|
||||||
|
|
||||||
DemoPlayer(Context context) {
|
private SimpleExoPlayer player;
|
||||||
String adTag = context.getString(R.string.ad_tag_url);
|
private long contentPosition;
|
||||||
mAdsLoader = new ImaAdsLoader(context, Uri.parse(adTag));
|
|
||||||
|
public DemoPlayer(Context context) {
|
||||||
|
String adTag = context.getString(R.string.ad_tag_url);
|
||||||
|
adsLoader = new ImaAdsLoader(context, Uri.parse(adTag));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init(Context context, SimpleExoPlayerView simpleExoPlayerView) {
|
||||||
|
// Create a default track selector.
|
||||||
|
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
||||||
|
TrackSelection.Factory videoTrackSelectionFactory =
|
||||||
|
new AdaptiveTrackSelection.Factory(bandwidthMeter);
|
||||||
|
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
|
||||||
|
|
||||||
|
// Create a player instance.
|
||||||
|
player = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
|
||||||
|
|
||||||
|
// Bind the player to the view.
|
||||||
|
simpleExoPlayerView.setPlayer(player);
|
||||||
|
|
||||||
|
// Produces DataSource instances through which media data is loaded.
|
||||||
|
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,
|
||||||
|
Util.getUserAgent(context, context.getString(R.string.application_name)));
|
||||||
|
|
||||||
|
// Produces Extractor instances for parsing the content media (i.e. not the ad).
|
||||||
|
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
|
||||||
|
|
||||||
|
// This is the MediaSource representing the content media (i.e. not the ad).
|
||||||
|
String contentUrl = context.getString(R.string.content_url);
|
||||||
|
MediaSource contentMediaSource = new ExtractorMediaSource(
|
||||||
|
Uri.parse(contentUrl), dataSourceFactory, extractorsFactory, null, null);
|
||||||
|
|
||||||
|
// Compose the content media source into a new AdsMediaSource with both ads and content.
|
||||||
|
MediaSource mediaSourceWithAds = new AdsMediaSource(contentMediaSource, dataSourceFactory,
|
||||||
|
adsLoader, simpleExoPlayerView.getOverlayFrameLayout());
|
||||||
|
|
||||||
|
// Prepare the player with the source.
|
||||||
|
player.seekTo(contentPosition);
|
||||||
|
player.prepare(mediaSourceWithAds);
|
||||||
|
player.setPlayWhenReady(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reset() {
|
||||||
|
if (player != null) {
|
||||||
|
contentPosition = player.getContentPosition();
|
||||||
|
player.release();
|
||||||
|
player = null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void init(Context context, SimpleExoPlayerView simpleExoPlayerView) {
|
public void release() {
|
||||||
// Create a default track selector.
|
if (player != null) {
|
||||||
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
player.release();
|
||||||
TrackSelection.Factory videoTrackSelectionFactory =
|
player = null;
|
||||||
new AdaptiveTrackSelection.Factory(bandwidthMeter);
|
|
||||||
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
|
|
||||||
|
|
||||||
// Create a simple ExoPlayer instance.
|
|
||||||
mPlayer = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
|
|
||||||
|
|
||||||
// Bind the player to the view.
|
|
||||||
simpleExoPlayerView.setPlayer(mPlayer);
|
|
||||||
|
|
||||||
// Produces DataSource instances through which media data is loaded.
|
|
||||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,
|
|
||||||
Util.getUserAgent(context, context.getString(R.string.app_name)));
|
|
||||||
// Produces Extractor instances for parsing the media data.
|
|
||||||
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
|
|
||||||
// This is the MediaSource representing the non-ad, content media to be played.
|
|
||||||
String contentUrl = context.getString(R.string.content_url);
|
|
||||||
MediaSource contentMediaSource = new ExtractorMediaSource(
|
|
||||||
Uri.parse(contentUrl), dataSourceFactory, extractorsFactory, null, null);
|
|
||||||
// Compose the content media source into a new ImaAdMediaSource with both ads and content.
|
|
||||||
MediaSource mediaSourceWithAds = new ImaAdsMediaSource(
|
|
||||||
contentMediaSource,
|
|
||||||
dataSourceFactory,
|
|
||||||
mAdsLoader,
|
|
||||||
simpleExoPlayerView.getOverlayFrameLayout());
|
|
||||||
// Prepare the player with the source.
|
|
||||||
mPlayer.seekTo(mContentPosition);
|
|
||||||
mPlayer.prepare(mediaSourceWithAds);
|
|
||||||
mPlayer.setPlayWhenReady(true);
|
|
||||||
}
|
}
|
||||||
|
adsLoader.release();
|
||||||
|
}
|
||||||
|
|
||||||
void reset() {
|
|
||||||
if (mPlayer != null) {
|
|
||||||
mContentPosition = mPlayer.getContentPosition();
|
|
||||||
mPlayer.release();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void release() {
|
|
||||||
mAdsLoader.release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -15,43 +15,44 @@
|
|||||||
*/
|
*/
|
||||||
package com.google.android.exoplayer2.imademo;
|
package com.google.android.exoplayer2.imademo;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
|
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main Activity for the ExoPlayer IMA plugin example. ExoPlayer objects are created by DemoPlayer,
|
* Main Activity for the IMA plugin demo. {@link ExoPlayer} objects are created by
|
||||||
* which this class instantiates.
|
* {@link DemoPlayer}, which this class instantiates.
|
||||||
*/
|
*/
|
||||||
public class MainActivity extends AppCompatActivity {
|
public final class MainActivity extends Activity {
|
||||||
|
|
||||||
private DemoPlayer mPlayer;
|
private SimpleExoPlayerView playerView;
|
||||||
private SimpleExoPlayerView mView;
|
private DemoPlayer player;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.main_activity);
|
||||||
|
playerView = findViewById(R.id.player_view);
|
||||||
|
player = new DemoPlayer(this);
|
||||||
|
}
|
||||||
|
|
||||||
mView = (SimpleExoPlayerView) findViewById(R.id.simpleExoPlayerView);
|
@Override
|
||||||
mPlayer = new DemoPlayer(this);
|
public void onResume() {
|
||||||
}
|
super.onResume();
|
||||||
|
player.init(this, playerView);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onPause() {
|
||||||
super.onResume();
|
super.onPause();
|
||||||
mPlayer.init(this, mView);
|
player.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onDestroy() {
|
||||||
super.onPause();
|
player.release();
|
||||||
mPlayer.reset();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroy() {
|
|
||||||
mPlayer.release();
|
|
||||||
super.onDestroy();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<FrameLayout
|
|
||||||
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"
|
|
||||||
tools:context="com.google.android.exoplayer2.imademo.MainActivity">
|
|
||||||
|
|
||||||
<com.google.android.exoplayer2.ui.SimpleExoPlayerView
|
|
||||||
android:id="@+id/simpleExoPlayerView"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"/>
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
@ -13,10 +13,9 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<com.google.android.exoplayer2.ui.SimpleExoPlayerView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<style name="PlayerTheme" parent="android:Theme.Holo">
|
android:id="@+id/player_view"
|
||||||
<item name="android:windowBackground">@android:color/black</item>
|
android:layout_width="match_parent"
|
||||||
</style>
|
android:layout_height="match_parent"
|
||||||
|
android:keepScreenOn="true"/>
|
||||||
</resources>
|
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 14 KiB |
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<color name="colorPrimary">#3F51B5</color>
|
|
||||||
<color name="colorPrimaryDark">#303F9F</color>
|
|
||||||
<color name="colorAccent">#FF4081</color>
|
|
||||||
</resources>
|
|
@ -1,5 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2017 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Exo IMA Demo</string>
|
|
||||||
|
<string name="application_name">Exo IMA Demo</string>
|
||||||
|
|
||||||
<string name="content_url"><![CDATA[http://rmcdn.2mdn.net/MotifFiles/html/1248596/android_1330378998288.mp4]]></string>
|
<string name="content_url"><![CDATA[http://rmcdn.2mdn.net/MotifFiles/html/1248596/android_1330378998288.mp4]]></string>
|
||||||
|
|
||||||
<string name="ad_tag_url"><![CDATA[https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=]]></string>
|
<string name="ad_tag_url"><![CDATA[https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=]]></string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1,11 +1,23 @@
|
|||||||
<resources>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2017 The Android Open Source Project
|
||||||
|
|
||||||
<!-- Base application theme. -->
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
you may not use this file except in compliance with the License.
|
||||||
<!-- Customize your theme here. -->
|
You may obtain a copy of the License at
|
||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<style name="PlayerTheme" parent="android:Theme.Holo">
|
||||||
|
<item name="android:windowNoTitle">true</item>
|
||||||
|
<item name="android:windowBackground">@android:color/black</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
|
||||||
<string name="application_name">ExoPlayer</string>
|
<string name="application_name">ExoPlayer</string>
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<style name="PlayerTheme" parent="android:Theme.Holo">
|
<style name="PlayerTheme" parent="android:Theme.Holo">
|
||||||
|