diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/DemoUtil.java b/demo/src/main/java/com/google/android/exoplayer/demo/DemoUtil.java index 91f9be9e92..9b9002f52b 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/DemoUtil.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/DemoUtil.java @@ -56,19 +56,6 @@ public class DemoUtil { defaultCookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ORIGINAL_SERVER); } - public static String getUserAgent(Context context) { - String versionName; - try { - String packageName = context.getPackageName(); - PackageInfo info = context.getPackageManager().getPackageInfo(packageName, 0); - versionName = info.versionName; - } catch (NameNotFoundException e) { - versionName = "?"; - } - return "ExoPlayerDemo/" + versionName + " (Linux;Android " + Build.VERSION.RELEASE + - ") " + "ExoPlayerLib/" + ExoPlayerLibraryInfo.VERSION; - } - public static byte[] executePost(String url, byte[] data, Map requestProperties) throws MalformedURLException, IOException { HttpURLConnection urlConnection = null; diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java b/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java index 725fc07028..55dae970e6 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java @@ -219,7 +219,7 @@ public class PlayerActivity extends Activity implements SurfaceHolder.Callback, // Internal methods private RendererBuilder getRendererBuilder() { - String userAgent = DemoUtil.getUserAgent(this); + String userAgent = Util.getUserAgent(this, "ExoPlayerDemo"); switch (contentType) { case DemoUtil.TYPE_SS: return new SmoothStreamingRendererBuilder(userAgent, contentUri.toString(), diff --git a/library/src/main/java/com/google/android/exoplayer/util/Util.java b/library/src/main/java/com/google/android/exoplayer/util/Util.java index cb0bb6c814..ea47b595fc 100644 --- a/library/src/main/java/com/google/android/exoplayer/util/Util.java +++ b/library/src/main/java/com/google/android/exoplayer/util/Util.java @@ -16,9 +16,14 @@ package com.google.android.exoplayer.util; import com.google.android.exoplayer.C; +import com.google.android.exoplayer.ExoPlayerLibraryInfo; import com.google.android.exoplayer.upstream.DataSource; import com.google.android.exoplayer.upstream.DataSpec; +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager.NameNotFoundException; +import android.os.Build; import android.text.TextUtils; import java.io.IOException; @@ -495,4 +500,24 @@ public final class Util { return result; } + /** + * Returns a user agent string based on the given application name and the library version. + * + * @param context A valid context of the calling application. + * @param applicationName String that will be prefix'ed to the generated user agent. + * @return A user agent string generated using the applicationName and the library version. + */ + public static String getUserAgent(Context context, String applicationName) { + String versionName; + try { + String packageName = context.getPackageName(); + PackageInfo info = context.getPackageManager().getPackageInfo(packageName, 0); + versionName = info.versionName; + } catch (NameNotFoundException e) { + versionName = "?"; + } + return applicationName + "/" + versionName + " (Linux;Android " + Build.VERSION.RELEASE + + ") " + "ExoPlayerLib/" + ExoPlayerLibraryInfo.VERSION; + } + }