Skip to content

Commit 9af75d5

Browse files
committed
Added methods to run with enqueue tokens and keys
1 parent 38e45c9 commit 9af75d5

File tree

18 files changed

+468
-127
lines changed

18 files changed

+468
-127
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
/private_key_sender.asc
1515
/public_key_sender.asc
1616
.idea
17-
*.gpg
17+
*.gpg
18+
**/build

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ allprojects {
3737
groupId = 'com.queue-it.androidsdk'
3838
libraryName = 'com.queue_it.androidsdk'
3939
libraryDescription = 'Android SDK to integrate with Queue-it'
40-
libraryVersion = "2.0.34"
40+
libraryVersion = "2.0.35"
4141
organization = "Queue-it"
4242
organizationUrl = "https://queue-it.com"
4343

demoapp/src/library/java/com/queue_it/shopdemo/MainActivity.java

Lines changed: 61 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.content.Context;
44
import android.content.Intent;
55
import android.content.SharedPreferences;
6+
67
import com.google.android.material.floatingactionbutton.FloatingActionButton;
78

89
import android.os.Bundle;
@@ -19,34 +20,59 @@
1920
import com.queue_it.androidsdk.Error;
2021

2122
public class MainActivity extends AppCompatActivity {
23+
RadioButton enableCacheRadioButton;
24+
FloatingActionButton queue_button;
25+
EditText customerIdEditText;
26+
EditText eventIdEditText;
27+
EditText layoutNameEditText;
28+
EditText languageEditText;
29+
EditText enqueueTokenEditText;
30+
EditText enqueueKeyEditText;
31+
RadioButton testRadioButton;
32+
33+
private void runQueue(QueueITEngine queueITEngine) throws QueueITException {
34+
String enqueueToken = enqueueTokenEditText.getText().toString();
35+
String enqueueKey = enqueueKeyEditText.getText().toString();
36+
if (enqueueToken.length() > 0) {
37+
queueITEngine.runWithEnqueueToken(MainActivity.this, enqueueToken, !enableCacheRadioButton.isChecked());
38+
} else if (enqueueKey.length() > 0) {
39+
queueITEngine.runWithEnqueueKey(MainActivity.this, enqueueKey, !enableCacheRadioButton.isChecked());
40+
} else {
41+
queueITEngine.run(MainActivity.this, !enableCacheRadioButton.isChecked());
42+
}
43+
}
2244

2345
@Override
2446
protected void onCreate(Bundle savedInstanceState) {
2547
super.onCreate(savedInstanceState);
2648
setContentView(R.layout.activity_main);
2749

28-
final FloatingActionButton queue_button = (FloatingActionButton)findViewById(R.id.queue_button);
29-
30-
final EditText customerIdEditText = (EditText)findViewById(R.id.customerid_edittext);
31-
final EditText eventIdEditText = (EditText)findViewById(R.id.eventid_edittext);
32-
final EditText layoutNameEditText = (EditText)findViewById(R.id.layoutname_edittext);
33-
final EditText languageEditText = (EditText)findViewById(R.id.language_edittext);
34-
final RadioButton testRadioButton = (RadioButton)findViewById(R.id.radio_environment_test);
35-
final RadioButton enableCacheRadioButton = (RadioButton)findViewById(R.id.radio_cache_enabled);
36-
50+
queue_button = findViewById(R.id.queue_button);
51+
customerIdEditText = findViewById(R.id.customerid_edittext);
52+
eventIdEditText = findViewById(R.id.eventid_edittext);
53+
layoutNameEditText = findViewById(R.id.layoutname_edittext);
54+
languageEditText = findViewById(R.id.language_edittext);
55+
testRadioButton = findViewById(R.id.radio_environment_test);
56+
enableCacheRadioButton = findViewById(R.id.radio_cache_enabled);
3757
customerIdEditText.addTextChangedListener(getRequiredTextValidator(customerIdEditText));
3858
eventIdEditText.addTextChangedListener(getRequiredTextValidator(eventIdEditText));
59+
enqueueTokenEditText = findViewById(R.id.enqueuetoken_edittext);
60+
enqueueKeyEditText = findViewById(R.id.enqueuekey_edittext);
3961

4062
final SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
4163
String customerId = sharedPreferences.getString("customerId", "");
4264
String eventOrAliasId = sharedPreferences.getString("eventOrAliasId", "");
4365
String layoutName = sharedPreferences.getString("layoutName", "");
4466
String language = sharedPreferences.getString("language", "");
67+
String enqueueToken = sharedPreferences.getString("enqueueToken", "");
68+
String enqueueKey = sharedPreferences.getString("enqueueKey", "");
4569

4670
customerIdEditText.setText(customerId);
4771
eventIdEditText.setText(eventOrAliasId);
4872
layoutNameEditText.setText(layoutName);
4973
languageEditText.setText(language);
74+
enqueueTokenEditText.setText(enqueueToken);
75+
enqueueKeyEditText.setText(enqueueKey);
5076

5177
queue_button.setOnClickListener(new View.OnClickListener() {
5278
@Override
@@ -63,17 +89,32 @@ public void onClick(View v) {
6389
String eventOrAliasId = eventIdEditText.getText().toString();
6490
String layoutName = layoutNameEditText.getText().toString();
6591
String language = languageEditText.getText().toString();
92+
String enqueueToken = enqueueTokenEditText.getText().toString();
93+
String enqueueKey = enqueueKeyEditText.getText().toString();
6694

6795
SharedPreferences.Editor editor = sharedPreferences.edit();
6896
editor.putString("customerId", customerId);
6997
editor.putString("eventOrAliasId", eventOrAliasId);
7098
editor.putString("layoutName", layoutName);
7199
editor.putString("language", language);
100+
editor.putString("enqueueToken", enqueueToken);
101+
editor.putString("enqueueKey", enqueueKey);
72102
editor.commit();
73103

74104
Toast.makeText(getApplicationContext(), "Please wait for your turn.", Toast.LENGTH_SHORT).show();
75105

76106
QueueITEngine queueITEngine = new QueueITEngine(MainActivity.this, customerId, eventOrAliasId, layoutName, language, new QueueListener() {
107+
108+
@Override
109+
public void onSessionRestart(QueueITEngine queueITEngine) {
110+
try {
111+
runQueue(queueITEngine);
112+
} catch (QueueITException e) {
113+
Toast.makeText(getApplicationContext(), "Please try again.", Toast.LENGTH_LONG).show();
114+
queue_button.setEnabled(true);
115+
}
116+
}
117+
77118
@Override
78119
public void onQueuePassed(QueuePassedInfo queuePassedInfo) {
79120
showResultActivity("You passed the queue! Your token: " + queuePassedInfo.getQueueItToken(), true);
@@ -111,48 +152,42 @@ public void onError(Error error, String errorMessage) {
111152

112153
});
113154
try {
114-
queueITEngine.run(MainActivity.this, !enableCacheRadioButton.isChecked());
115-
}
116-
catch (QueueITException e) {
155+
runQueue(queueITEngine);
156+
} catch (QueueITException e) {
117157
Toast.makeText(getApplicationContext(), "Please try again.", Toast.LENGTH_LONG).show();
118158
queue_button.setEnabled(true);
119159
}
120160
}
121161
});
122162
}
123163

124-
private void showResultActivity(String result, boolean success)
125-
{
164+
private void showResultActivity(String result, boolean success) {
126165
Intent intent = new Intent(this, ResultActivity.class);
127166
intent.putExtra("success", success);
128167
intent.putExtra("result", result);
129168
startActivity(intent);
130169
}
131170

132-
private boolean isAlphaNumeric(String s){
171+
private boolean isAlphaNumeric(String s) {
133172
String pattern = "^[a-zA-Z0-9]*$";
134173
return s.matches(pattern);
135174
}
136175

137-
private void hideKeyboard()
138-
{
176+
private void hideKeyboard() {
139177
View view = this.getCurrentFocus();
140178
if (view != null) {
141-
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
179+
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
142180
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
143181
}
144182
}
145183

146-
private TextValidator getRequiredTextValidator(TextView textView)
147-
{
184+
private TextValidator getRequiredTextValidator(TextView textView) {
148185
return new TextValidator(textView) {
149-
@Override public void validate(TextView textView, String text) {
150-
if (TextUtils.isEmpty(text))
151-
{
186+
@Override
187+
public void validate(TextView textView, String text) {
188+
if (TextUtils.isEmpty(text)) {
152189
textView.setError("Field required");
153-
}
154-
else if (!isAlphaNumeric(text))
155-
{
190+
} else if (!isAlphaNumeric(text)) {
156191
textView.setError("Must be alphanumeric");
157192
}
158193
}

demoapp/src/library/res/layout/activity_main.xml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,34 @@
8888
android:id="@+id/language_edittext"
8989
android:layout_weight="1" />
9090
</TableRow>
91+
<TableRow>
92+
<TextView
93+
android:layout_width="wrap_content"
94+
android:layout_height="wrap_content"
95+
android:gravity="right"
96+
android:padding="10dip"
97+
android:text="Enqueue Token" />
98+
<EditText
99+
android:layout_width="wrap_content"
100+
android:layout_height="wrap_content"
101+
android:padding="5dip"
102+
android:id="@+id/enqueuetoken_edittext"
103+
android:layout_weight="1" />
104+
</TableRow>
105+
<TableRow>
106+
<TextView
107+
android:layout_width="wrap_content"
108+
android:layout_height="wrap_content"
109+
android:gravity="right"
110+
android:padding="10dip"
111+
android:text="Enqueue Key" />
112+
<EditText
113+
android:layout_width="wrap_content"
114+
android:layout_height="wrap_content"
115+
android:padding="5dip"
116+
android:id="@+id/enqueuekey_edittext"
117+
android:layout_weight="1" />
118+
</TableRow>
91119
<TableRow>
92120
<TextView
93121
android:layout_width="wrap_content"

0 commit comments

Comments
 (0)