From 1d528b80eaa85449a02f800f507e13e4e5186ea8 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Fri, 1 May 2015 20:24:27 +0100 Subject: [PATCH] Move getUserAgent from DemoUtil to library's Util. --- .../android/exoplayer/demo/DemoUtil.java | 13 ---------- .../exoplayer/demo/PlayerActivity.java | 2 +- .../google/android/exoplayer/util/Util.java | 25 +++++++++++++++++++ 3 files changed, 26 insertions(+), 14 deletions(-) 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; + } + }