summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-04-06 16:11:18 -0700
committerJeff Sharkey <jsharkey@android.com>2012-04-09 10:39:24 -0700
commit72f4a080b611311560b727a127011748698ca74e (patch)
tree287f1aeb03532a5fe4a0b65dad2332cfb5bb7340
parentd078f62f67821576199aefc02a77fdc0d5b5b3ff (diff)
downloadandroid_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.java34
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java2
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;
}