Subversion Repository Public Repository

litesoft

Diff Revisions 474 vs 903 for /trunk/Java/GWT/Client/src/org/litesoft/GWT/client/UserAgent.java

Diff revisions: vs.
  @@ -18,32 +18,40 @@
18 18 return sInstance;
19 19 }
20 20
21 - private Platform mPlatform;
22 - private BrowserFamily mFamily;
23 - protected String mReally;
21 + private final DeviceType mDeviceType;
22 + private final Platform mPlatform;
23 + private final BrowserFamily mFamily;
24 + private final String mReally;
25 + private final Integer mVersion;
24 26
25 - protected UserAgent()
27 + protected UserAgent( BrowserFamily pFamily, String pReally, Integer pVersion )
26 28 {
27 - this( BrowserFamily.Other, "" );
29 + String zLowercaseUserAgent = getBrowserUserAgent().toLowerCase();
30 + mDeviceType = DeviceType.fromUserAgent( zLowercaseUserAgent );
31 + mPlatform = Platform.fromUserAgent( mDeviceType, zLowercaseUserAgent );
32 + mFamily = pFamily;
33 + mReally = (pVersion == null) ? pReally : pReally + pVersion;
34 + mVersion = pVersion;
28 35 }
29 36
30 37 protected UserAgent( BrowserFamily pFamily, String pReally )
31 38 {
32 - mFamily = pFamily;
33 - mReally = pReally;
34 - String zUserAgent = getBrowserUserAgent().toLowerCase();
35 - if ( zUserAgent.contains( "win" ) )
36 - {
37 - mPlatform = Platform.Win;
38 - }
39 - else if ( zUserAgent.contains( "mac" ) )
40 - {
41 - mPlatform = Platform.Mac;
42 - }
43 - else
44 - {
45 - mPlatform = Platform.Other;
46 - }
39 + this( pFamily, pReally, null );
40 + }
41 +
42 + protected UserAgent( BrowserFamily pFamily )
43 + {
44 + this( pFamily, "" );
45 + }
46 +
47 + protected UserAgent()
48 + {
49 + this( BrowserFamily.Other );
50 + }
51 +
52 + public DeviceType getDeviceType()
53 + {
54 + return mDeviceType;
47 55 }
48 56
49 57 public Platform getPlatform()
  @@ -61,6 +69,11 @@
61 69 return mReally;
62 70 }
63 71
72 + public Integer getVersion()
73 + {
74 + return mVersion;
75 + }
76 +
64 77 public boolean isLegacyIE()
65 78 {
66 79 return false;