Skip to content

Commit efe223e

Browse files
committed
Merged PR 2513: Add SDK version to user-agent
SDK Version is now appended to the user-agent. AppEnqueue requests now contain the new user-agent value. Related work items: #7481
1 parent afe34bb commit efe223e

File tree

4 files changed

+32
-14
lines changed

4 files changed

+32
-14
lines changed

library/src/main/java/com/queue_it/androidsdk/QueueActivityBase.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.annotation.SuppressLint;
44
import android.app.Activity;
5+
import android.content.Context;
56
import android.net.Uri;
67
import android.net.http.SslError;
78
import android.os.Build;
@@ -108,9 +109,9 @@ public void initialize(Bundle savedInstanceState) {
108109
_context.setContentView(R.layout.activity_queue);
109110
readActivityUrls(savedInstanceState);
110111
cleanupWebView();
111-
final ProgressBar progressBar = (ProgressBar) _context.findViewById(R.id.progressBar);
112+
final ProgressBar progressBar = _context.findViewById(R.id.progressBar);
112113

113-
FrameLayout layout = (FrameLayout) _context.findViewById(R.id.relativeLayout);
114+
FrameLayout layout = _context.findViewById(R.id.relativeLayout);
114115
webview = new WebView(_context);
115116
layout.addView(webview);
116117
previousWebView = webview;
@@ -130,7 +131,7 @@ public void onProgressChanged(WebView view, int newProgress) {
130131
});
131132
webview.setWebViewClient(webviewClient);
132133
Log.v("QueueITEngine", "Loading initial URL: " + queueUrl);
133-
setUserAgent();
134+
setUserAgent(UserAgentManager.getUserAgent());
134135
webview.loadUrl(queueUrl);
135136
}
136137

@@ -172,10 +173,8 @@ private void disposeWebview(WebView webView) {
172173
_context.finish();
173174
}
174175

175-
private void setUserAgent(){
176-
String defaultUserAgent = new WebView(_context).getSettings().getUserAgentString();
177-
defaultUserAgent += "(sdk: " + QueueITEngine.getVerboseSdkVersion() + ")";
178-
System.setProperty("http.agent", defaultUserAgent);
179-
webview.getSettings().setUserAgentString(defaultUserAgent);
176+
private void setUserAgent(String userAgent) {
177+
System.setProperty("http.agent", userAgent);
178+
webview.getSettings().setUserAgentString(userAgent);
180179
}
181180
}

library/src/main/java/com/queue_it/androidsdk/QueueITEngine.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import android.provider.Settings;
1111
import android.text.TextUtils;
1212
import android.util.Log;
13-
import android.webkit.WebView;
1413

1514
import java.util.Calendar;
1615
import java.util.concurrent.atomic.AtomicBoolean;
@@ -44,6 +43,7 @@ public QueueITEngine(Activity applicationContext, String customerId, String even
4443
public QueueITEngine(Activity activityContext, String customerId, String eventOrAliasId, String layoutName,
4544
String language, QueueListener queueListener) {
4645
_requestInProgress = new AtomicBoolean(false);
46+
UserAgentManager.initialize(activityContext);
4747
if (TextUtils.isEmpty(customerId)) {
4848
throw new IllegalArgumentException("customerId must have a value");
4949
}
@@ -246,7 +246,7 @@ private String getUserId() {
246246

247247
private void tryEnqueue() {
248248
String userId = getUserId();
249-
String userAgent = new WebView(_context).getSettings().getUserAgentString();
249+
String userAgent = UserAgentManager.getUserAgent();
250250
String sdkVersion = getSdkVersion();
251251

252252
QueueServiceListener queueServiceListener = new QueueServiceListener() {
@@ -324,8 +324,4 @@ private void updateQueuePageUrl(String queueUrl) {
324324
public String getSdkVersion() {
325325
return "Android-" + BuildConfig.VERSION_NAME;
326326
}
327-
328-
public static String getVerboseSdkVersion(){
329-
return BuildConfig.LIBRARY_PACKAGE_NAME + "@" + BuildConfig.VERSION_NAME;
330-
}
331327
}

library/src/main/java/com/queue_it/androidsdk/QueueUrlHelper.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ public static Uri updateUrl(Uri queueUrl, String userId) {
2929
}
3030

3131
public static boolean urlUpdateNeeded(String queueUrl, String userId) {
32+
if(queueUrl==null || userId==null){
33+
return false;
34+
}
3235
Uri uri = Uri.parse(queueUrl);
3336
return urlUpdateNeeded(uri, userId);
3437
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.queue_it.androidsdk;
2+
3+
import android.app.Activity;
4+
import android.webkit.WebView;
5+
6+
public class UserAgentManager {
7+
public static final String SDKVersion = BuildConfig.LIBRARY_PACKAGE_NAME + "@" + BuildConfig.VERSION_NAME;
8+
private static String DeviceUserAgent;
9+
10+
private UserAgentManager(){
11+
}
12+
13+
public static void initialize(Activity context) {
14+
DeviceUserAgent = new WebView(context).getSettings().getUserAgentString();
15+
}
16+
17+
public static String getUserAgent() {
18+
return DeviceUserAgent + " (sdk: " + SDKVersion + ")";
19+
}
20+
}

0 commit comments

Comments
 (0)