Skip to content

Commit 9f328e4

Browse files
committed
Merge pull request #131 from longbai/ua_trim
fixed useragent invalid string
2 parents 9cb3062 + b550b23 commit 9f328e4

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

library/src/main/java/com/qiniu/android/http/UserAgent.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.qiniu.android.http;
22

3+
import android.os.Build;
4+
import android.text.TextUtils;
5+
36
import com.qiniu.android.common.Constants;
47

58
import java.util.Random;
@@ -30,10 +33,35 @@ private static String genId() {
3033

3134
private static String getUserAgent(String id) {
3235
return format("QiniuAndroid/%s (%s; %s; %s)", Constants.VERSION,
33-
android.os.Build.VERSION.RELEASE, android.os.Build.MODEL, id);
36+
android.os.Build.VERSION.RELEASE, device(), id);
3437
}
3538

3639
public String toString() {
3740
return ua;
3841
}
42+
43+
private static String device()
44+
{
45+
String model = Build.MODEL.trim();
46+
String device = deviceName(Build.MANUFACTURER.trim(), model);
47+
if (TextUtils.isEmpty(device)) {
48+
device = deviceName(Build.BRAND.trim(), model);
49+
}
50+
return (device == null ? "" : device) + "-" + model;
51+
}
52+
53+
private static String deviceName(String manufacturer, String model)
54+
{
55+
String str = manufacturer.toLowerCase();
56+
if ((str.startsWith("unknown")) || (str.startsWith("alps")) ||
57+
(str.startsWith("android")) || (str.startsWith("sprd")) ||
58+
(str.startsWith("spreadtrum")) || (str.startsWith("rockchip")) ||
59+
(str.startsWith("wondermedia")) || (str.startsWith("mtk")) ||
60+
(str.startsWith("mt65")) || (str.startsWith("nvidia")) ||
61+
(str.startsWith("brcm")) || (str.startsWith("marvell")) ||
62+
(model.toLowerCase().contains(str))) {
63+
return null;
64+
}
65+
return manufacturer;
66+
}
3967
}

0 commit comments

Comments
 (0)