disable download button for live content in demo app
PiperOrigin-RevId: 274585052
This commit is contained in:
parent
c32ad60e0b
commit
ce6252151a
@ -107,6 +107,7 @@ public class PlayerActivity extends AppCompatActivity
|
|||||||
|
|
||||||
public static final String URI_EXTRA = "uri";
|
public static final String URI_EXTRA = "uri";
|
||||||
public static final String EXTENSION_EXTRA = "extension";
|
public static final String EXTENSION_EXTRA = "extension";
|
||||||
|
public static final String IS_LIVE_EXTRA = "is_live";
|
||||||
|
|
||||||
public static final String DRM_SCHEME_EXTRA = "drm_scheme";
|
public static final String DRM_SCHEME_EXTRA = "drm_scheme";
|
||||||
public static final String DRM_LICENSE_URL_EXTRA = "drm_license_url";
|
public static final String DRM_LICENSE_URL_EXTRA = "drm_license_url";
|
||||||
|
@ -23,6 +23,7 @@ import static com.google.android.exoplayer2.demo.PlayerActivity.DRM_MULTI_SESSIO
|
|||||||
import static com.google.android.exoplayer2.demo.PlayerActivity.DRM_SCHEME_EXTRA;
|
import static com.google.android.exoplayer2.demo.PlayerActivity.DRM_SCHEME_EXTRA;
|
||||||
import static com.google.android.exoplayer2.demo.PlayerActivity.DRM_SCHEME_UUID_EXTRA;
|
import static com.google.android.exoplayer2.demo.PlayerActivity.DRM_SCHEME_UUID_EXTRA;
|
||||||
import static com.google.android.exoplayer2.demo.PlayerActivity.EXTENSION_EXTRA;
|
import static com.google.android.exoplayer2.demo.PlayerActivity.EXTENSION_EXTRA;
|
||||||
|
import static com.google.android.exoplayer2.demo.PlayerActivity.IS_LIVE_EXTRA;
|
||||||
import static com.google.android.exoplayer2.demo.PlayerActivity.URI_EXTRA;
|
import static com.google.android.exoplayer2.demo.PlayerActivity.URI_EXTRA;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -40,32 +41,38 @@ import java.util.UUID;
|
|||||||
public static UriSample createFromIntent(Uri uri, Intent intent, String extrasKeySuffix) {
|
public static UriSample createFromIntent(Uri uri, Intent intent, String extrasKeySuffix) {
|
||||||
String extension = intent.getStringExtra(EXTENSION_EXTRA + extrasKeySuffix);
|
String extension = intent.getStringExtra(EXTENSION_EXTRA + extrasKeySuffix);
|
||||||
String adsTagUriString = intent.getStringExtra(AD_TAG_URI_EXTRA + extrasKeySuffix);
|
String adsTagUriString = intent.getStringExtra(AD_TAG_URI_EXTRA + extrasKeySuffix);
|
||||||
|
boolean isLive =
|
||||||
|
intent.getBooleanExtra(IS_LIVE_EXTRA + extrasKeySuffix, /* defaultValue= */ false);
|
||||||
Uri adTagUri = adsTagUriString != null ? Uri.parse(adsTagUriString) : null;
|
Uri adTagUri = adsTagUriString != null ? Uri.parse(adsTagUriString) : null;
|
||||||
return new UriSample(
|
return new UriSample(
|
||||||
/* name= */ null,
|
/* name= */ null,
|
||||||
DrmInfo.createFromIntent(intent, extrasKeySuffix),
|
|
||||||
uri,
|
uri,
|
||||||
extension,
|
extension,
|
||||||
|
isLive,
|
||||||
|
DrmInfo.createFromIntent(intent, extrasKeySuffix),
|
||||||
adTagUri,
|
adTagUri,
|
||||||
/* sphericalStereoMode= */ null);
|
/* sphericalStereoMode= */ null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Uri uri;
|
public final Uri uri;
|
||||||
public final String extension;
|
public final String extension;
|
||||||
|
public final boolean isLive;
|
||||||
public final DrmInfo drmInfo;
|
public final DrmInfo drmInfo;
|
||||||
public final Uri adTagUri;
|
public final Uri adTagUri;
|
||||||
public final String sphericalStereoMode;
|
@Nullable public final String sphericalStereoMode;
|
||||||
|
|
||||||
public UriSample(
|
public UriSample(
|
||||||
String name,
|
String name,
|
||||||
DrmInfo drmInfo,
|
|
||||||
Uri uri,
|
Uri uri,
|
||||||
String extension,
|
String extension,
|
||||||
|
boolean isLive,
|
||||||
|
DrmInfo drmInfo,
|
||||||
Uri adTagUri,
|
Uri adTagUri,
|
||||||
String sphericalStereoMode) {
|
@Nullable String sphericalStereoMode) {
|
||||||
super(name);
|
super(name);
|
||||||
this.uri = uri;
|
this.uri = uri;
|
||||||
this.extension = extension;
|
this.extension = extension;
|
||||||
|
this.isLive = isLive;
|
||||||
this.drmInfo = drmInfo;
|
this.drmInfo = drmInfo;
|
||||||
this.adTagUri = adTagUri;
|
this.adTagUri = adTagUri;
|
||||||
this.sphericalStereoMode = sphericalStereoMode;
|
this.sphericalStereoMode = sphericalStereoMode;
|
||||||
@ -74,12 +81,14 @@ import java.util.UUID;
|
|||||||
@Override
|
@Override
|
||||||
public void addToIntent(Intent intent) {
|
public void addToIntent(Intent intent) {
|
||||||
intent.setAction(PlayerActivity.ACTION_VIEW).setData(uri);
|
intent.setAction(PlayerActivity.ACTION_VIEW).setData(uri);
|
||||||
|
intent.putExtra(PlayerActivity.IS_LIVE_EXTRA, isLive);
|
||||||
intent.putExtra(PlayerActivity.SPHERICAL_STEREO_MODE_EXTRA, sphericalStereoMode);
|
intent.putExtra(PlayerActivity.SPHERICAL_STEREO_MODE_EXTRA, sphericalStereoMode);
|
||||||
addPlayerConfigToIntent(intent, /* extrasKeySuffix= */ "");
|
addPlayerConfigToIntent(intent, /* extrasKeySuffix= */ "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addToPlaylistIntent(Intent intent, String extrasKeySuffix) {
|
public void addToPlaylistIntent(Intent intent, String extrasKeySuffix) {
|
||||||
intent.putExtra(PlayerActivity.URI_EXTRA + extrasKeySuffix, uri.toString());
|
intent.putExtra(PlayerActivity.URI_EXTRA + extrasKeySuffix, uri.toString());
|
||||||
|
intent.putExtra(PlayerActivity.IS_LIVE_EXTRA + extrasKeySuffix, isLive);
|
||||||
addPlayerConfigToIntent(intent, extrasKeySuffix);
|
addPlayerConfigToIntent(intent, extrasKeySuffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,6 +205,9 @@ public class SampleChooserActivity extends AppCompatActivity
|
|||||||
if (uriSample.drmInfo != null) {
|
if (uriSample.drmInfo != null) {
|
||||||
return R.string.download_drm_unsupported;
|
return R.string.download_drm_unsupported;
|
||||||
}
|
}
|
||||||
|
if (uriSample.isLive) {
|
||||||
|
return R.string.download_live_unsupported;
|
||||||
|
}
|
||||||
if (uriSample.adTagUri != null) {
|
if (uriSample.adTagUri != null) {
|
||||||
return R.string.download_ads_unsupported;
|
return R.string.download_ads_unsupported;
|
||||||
}
|
}
|
||||||
@ -294,6 +297,7 @@ public class SampleChooserActivity extends AppCompatActivity
|
|||||||
String sampleName = null;
|
String sampleName = null;
|
||||||
Uri uri = null;
|
Uri uri = null;
|
||||||
String extension = null;
|
String extension = null;
|
||||||
|
boolean isLive = false;
|
||||||
String drmScheme = null;
|
String drmScheme = null;
|
||||||
String drmLicenseUrl = null;
|
String drmLicenseUrl = null;
|
||||||
String[] drmKeyRequestProperties = null;
|
String[] drmKeyRequestProperties = null;
|
||||||
@ -318,6 +322,9 @@ public class SampleChooserActivity extends AppCompatActivity
|
|||||||
case "drm_scheme":
|
case "drm_scheme":
|
||||||
drmScheme = reader.nextString();
|
drmScheme = reader.nextString();
|
||||||
break;
|
break;
|
||||||
|
case "is_live":
|
||||||
|
isLive = reader.nextBoolean();
|
||||||
|
break;
|
||||||
case "drm_license_url":
|
case "drm_license_url":
|
||||||
drmLicenseUrl = reader.nextString();
|
drmLicenseUrl = reader.nextString();
|
||||||
break;
|
break;
|
||||||
@ -370,9 +377,10 @@ public class SampleChooserActivity extends AppCompatActivity
|
|||||||
} else {
|
} else {
|
||||||
return new UriSample(
|
return new UriSample(
|
||||||
sampleName,
|
sampleName,
|
||||||
drmInfo,
|
|
||||||
uri,
|
uri,
|
||||||
extension,
|
extension,
|
||||||
|
isLive,
|
||||||
|
drmInfo,
|
||||||
adTagUri != null ? Uri.parse(adTagUri) : null,
|
adTagUri != null ? Uri.parse(adTagUri) : null,
|
||||||
sphericalStereoMode);
|
sphericalStereoMode);
|
||||||
}
|
}
|
||||||
@ -486,7 +494,7 @@ public class SampleChooserActivity extends AppCompatActivity
|
|||||||
ImageButton downloadButton = view.findViewById(R.id.download_button);
|
ImageButton downloadButton = view.findViewById(R.id.download_button);
|
||||||
downloadButton.setTag(sample);
|
downloadButton.setTag(sample);
|
||||||
downloadButton.setColorFilter(
|
downloadButton.setColorFilter(
|
||||||
canDownload ? (isDownloaded ? 0xFF42A5F5 : 0xFFBDBDBD) : 0xFFEEEEEE);
|
canDownload ? (isDownloaded ? 0xFF42A5F5 : 0xFFBDBDBD) : 0xFF666666);
|
||||||
downloadButton.setImageResource(
|
downloadButton.setImageResource(
|
||||||
isDownloaded ? R.drawable.ic_download_done : R.drawable.ic_download);
|
isDownloaded ? R.drawable.ic_download_done : R.drawable.ic_download);
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,8 @@
|
|||||||
|
|
||||||
<string name="download_scheme_unsupported">This demo app only supports downloading http streams</string>
|
<string name="download_scheme_unsupported">This demo app only supports downloading http streams</string>
|
||||||
|
|
||||||
|
<string name="download_live_unsupported">This demo app does not support downloading live content</string>
|
||||||
|
|
||||||
<string name="download_ads_unsupported">IMA does not support offline ads</string>
|
<string name="download_ads_unsupported">IMA does not support offline ads</string>
|
||||||
|
|
||||||
<string name="prefer_extension_decoders">Prefer extension decoders</string>
|
<string name="prefer_extension_decoders">Prefer extension decoders</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user