diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-04-06 16:11:18 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-04-09 10:39:24 -0700 |
commit | 72f4a080b611311560b727a127011748698ca74e (patch) | |
tree | 287f1aeb03532a5fe4a0b65dad2332cfb5bb7340 | |
parent | d078f62f67821576199aefc02a77fdc0d5b5b3ff (diff) | |
download | android_packages_providers_DownloadProvider-72f4a080b611311560b727a127011748698ca74e.tar.gz android_packages_providers_DownloadProvider-72f4a080b611311560b727a127011748698ca74e.tar.bz2 android_packages_providers_DownloadProvider-72f4a080b611311560b727a127011748698ca74e.zip |
Give DownloadManager a useful user agent.
Include platform version, model, and build, when available. Matches
current logic used by Browser.
Bug: 6257336
Change-Id: I0addfd944aff13bd4ce4226bb8d6328da6b0f5d5
-rw-r--r-- | src/com/android/providers/downloads/Constants.java | 34 | ||||
-rw-r--r-- | src/com/android/providers/downloads/DownloadThread.java | 2 |
2 files changed, 33 insertions, 3 deletions
diff --git a/src/com/android/providers/downloads/Constants.java b/src/com/android/providers/downloads/Constants.java index 977f00b9..27e2179e 100644 --- a/src/com/android/providers/downloads/Constants.java +++ b/src/com/android/providers/downloads/Constants.java @@ -16,7 +16,9 @@ package com.android.providers.downloads; +import android.os.Build; import android.os.Environment; +import android.text.TextUtils; import android.util.Log; /** @@ -89,7 +91,37 @@ public class Constants { public static final String RECOVERY_DIRECTORY = "recovery"; /** The default user agent used for downloads */ - public static final String DEFAULT_USER_AGENT = "AndroidDownloadManager"; + public static final String DEFAULT_USER_AGENT; + + static { + final StringBuilder builder = new StringBuilder(); + + final boolean validRelease = !TextUtils.isEmpty(Build.VERSION.RELEASE); + final boolean validId = !TextUtils.isEmpty(Build.ID); + final boolean includeModel = "REL".equals(Build.VERSION.CODENAME) + && !TextUtils.isEmpty(Build.MODEL); + + builder.append("AndroidDownloadManager"); + if (validRelease) { + builder.append("/").append(Build.VERSION.RELEASE); + } + builder.append(" (Linux; U; Android"); + if (validRelease) { + builder.append(" ").append(Build.VERSION.RELEASE); + } + if (includeModel || validId) { + builder.append(";"); + if (includeModel) { + builder.append(" ").append(Build.MODEL); + } + if (validId) { + builder.append(" Build/").append(Build.ID); + } + } + builder.append(")"); + + DEFAULT_USER_AGENT = builder.toString(); + } /** The MIME type of APKs */ public static final String MIMETYPE_APK = "application/vnd.android.package"; diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java index d8ea68df..7108cec3 100644 --- a/src/com/android/providers/downloads/DownloadThread.java +++ b/src/com/android/providers/downloads/DownloadThread.java @@ -72,8 +72,6 @@ public class DownloadThread extends Thread { */ private String userAgent() { String userAgent = mInfo.mUserAgent; - if (userAgent != null) { - } if (userAgent == null) { userAgent = Constants.DEFAULT_USER_AGENT; } |