mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
支持鸿蒙设备 UA 解析(pr#1301@Gitee)
This commit is contained in:
parent
1b468245c5
commit
b7b5fbea71
@ -52,6 +52,7 @@ public class OS extends UserAgentInfo {
|
|||||||
new OS("Windows", "windows"), //
|
new OS("Windows", "windows"), //
|
||||||
new OS("OSX", "os x (\\d+)[._](\\d+)", "os x (\\d+([._]\\d+)*)"), //
|
new OS("OSX", "os x (\\d+)[._](\\d+)", "os x (\\d+([._]\\d+)*)"), //
|
||||||
new OS("Android", "Android", "Android (\\d+([._]\\d+)*)"),//
|
new OS("Android", "Android", "Android (\\d+([._]\\d+)*)"),//
|
||||||
|
new OS("Harmony", "OpenHarmony", "OpenHarmony (\\d+([._]\\d+)*)"), //
|
||||||
new OS("Android", "XiaoMi|MI\\s+", "\\(X(\\d+([._]\\d+)*)"),//
|
new OS("Android", "XiaoMi|MI\\s+", "\\(X(\\d+([._]\\d+)*)"),//
|
||||||
new OS("Linux", "linux"), //
|
new OS("Linux", "linux"), //
|
||||||
new OS("Wii", "wii", "wii libnup/(\\d+([._]\\d+)*)"), //
|
new OS("Wii", "wii", "wii libnup/(\\d+([._]\\d+)*)"), //
|
||||||
|
@ -52,6 +52,10 @@ public class Platform extends UserAgentInfo {
|
|||||||
* android
|
* android
|
||||||
*/
|
*/
|
||||||
public static final Platform ANDROID = new Platform("Android", "android");
|
public static final Platform ANDROID = new Platform("Android", "android");
|
||||||
|
/**
|
||||||
|
* harmony
|
||||||
|
*/
|
||||||
|
public static final Platform HARMONY = new Platform("Harmony", "OpenHarmony");
|
||||||
/**
|
/**
|
||||||
* android
|
* android
|
||||||
*/
|
*/
|
||||||
@ -72,6 +76,7 @@ public class Platform extends UserAgentInfo {
|
|||||||
IPHONE, //
|
IPHONE, //
|
||||||
new Platform("Android", "XiaoMi|MI\\s+"), //
|
new Platform("Android", "XiaoMi|MI\\s+"), //
|
||||||
ANDROID, //
|
ANDROID, //
|
||||||
|
HARMONY, //
|
||||||
GOOGLE_TV, //
|
GOOGLE_TV, //
|
||||||
new Platform("htcFlyer", "htc_flyer"), //
|
new Platform("htcFlyer", "htc_flyer"), //
|
||||||
new Platform("Symbian", "symbian(os)?"), //
|
new Platform("Symbian", "symbian(os)?"), //
|
||||||
@ -160,4 +165,13 @@ public class Platform extends UserAgentInfo {
|
|||||||
return this.equals(ANDROID) || this.equals(GOOGLE_TV);
|
return this.equals(ANDROID) || this.equals(GOOGLE_TV);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否为Harmony平台
|
||||||
|
*
|
||||||
|
* @return 是否为Harmony平台
|
||||||
|
*/
|
||||||
|
public boolean isHarmony() {
|
||||||
|
return this.equals(HARMONY);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -505,4 +505,15 @@ public class UserAgentUtilTest {
|
|||||||
assertEquals("Mac", ua.getPlatform().toString());
|
assertEquals("Mac", ua.getPlatform().toString());
|
||||||
assertFalse(ua.isMobile());
|
assertFalse(ua.isMobile());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void parseHarmonyUATest() {
|
||||||
|
final String uaStr = "Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile ";
|
||||||
|
final UserAgent ua = UserAgentUtil.parse(uaStr);
|
||||||
|
assertEquals("Harmony", ua.getPlatform().toString());
|
||||||
|
assertTrue(ua.getPlatform().isHarmony());
|
||||||
|
assertEquals("Harmony", ua.getOs().toString());
|
||||||
|
assertEquals("4.1", ua.getOsVersion());
|
||||||
|
assertTrue(ua.isMobile());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user