Skip to content

Commit 57b2726

Browse files
authored
Merge pull request #2 from getyoti/ED-623
[BUG][ED-623] Move scenario initialisation to the application onCreate
2 parents 9988726 + 64cab6c commit 57b2726

File tree

7 files changed

+80
-57
lines changed

7 files changed

+80
-57
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ We have included both config below :
136136
[See this code in one of our sample apps](./sample-app/src/main/java/com/yoti/mobile/android/sdk/sampleapp/ShareAttributesResultBroadcastReceiver.java)
137137

138138

139-
You will now need to specify your Client SDK ID and Scenario ID ready from your application dashboard.
139+
You will now need to specify your Client SDK ID and Scenario ID from your application dashboard.
140140
The SDK can be initialised like this:
141141

142142

@@ -157,7 +157,8 @@ try {
157157
YotiSDK.addScenario(scenario);
158158
```
159159

160-
[See this code in one of our sample apps](./sample-app/src/main/java/com/yoti/mobile/android/sdk/sampleapp/MainActivity.java)
160+
It is very important that this initialisation is done in the onCreate method fo your Application.
161+
[See this code in one of our sample apps](./sample-app/src/main/java/com/yoti/mobile/android/sdk/sampleapp/SampleApp.java)
161162

162163
In order to set a listener for the events on the Yoti button you can specify one this way:
163164

sample-app-2/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33
package="com.yoti.sampleapp2">
44

55
<uses-permission android:name="android.permission.INTERNET" />
6+
67
<application
8+
android:name="com.yoti.mobile.android.sampleapp2.SampleApp2"
79
android:allowBackup="true"
810
android:icon="@mipmap/ic_launcher"
911
android:label="@string/app_name"
1012
android:roundIcon="@mipmap/ic_launcher_round"
1113
android:supportsRtl="true"
1214
android:theme="@style/AppTheme">
15+
1316
<activity android:name="com.yoti.mobile.android.sampleapp2.MainActivity">
1417
<intent-filter>
1518
<action android:name="android.intent.action.MAIN" />

sample-app-2/src/main/java/com/yoti/mobile/android/sampleapp2/MainActivity.java

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@
66
import android.widget.ProgressBar;
77
import android.widget.TextView;
88

9-
import com.yoti.mobile.android.sdk.YotiSDK;
109
import com.yoti.mobile.android.sdk.YotiSDKButton;
1110
import com.yoti.mobile.android.sdk.exceptions.YotiSDKException;
12-
import com.yoti.mobile.android.sdk.exceptions.YotiSDKNotValidScenarioException;
13-
import com.yoti.mobile.android.sdk.model.Scenario;
1411
import com.yoti.sampleapp2.R;
1512

1613
public class MainActivity extends AppCompatActivity {
@@ -24,8 +21,6 @@ protected void onCreate(Bundle savedInstanceState) {
2421
final ProgressBar progress = findViewById(R.id.progress);
2522
final TextView message = findViewById(R.id.text);
2623

27-
createYoti();
28-
2924
yotiSDKButton.setOnYotiScenarioListener(new YotiSDKButton.OnYotiButtonClickListener() {
3025
@Override
3126
public void onStartScenario() {
@@ -43,23 +38,6 @@ public void onStartScenarioError(YotiSDKException cause) {
4338
});
4439
}
4540

46-
47-
private void createYoti() {
48-
Scenario scenario = null;
49-
try {
50-
scenario = new Scenario.Builder()
51-
.setUseCaseId("yoti_btn_1")
52-
.setClientSDKId("d28feaf4-d62d-40e3-88ae-d619e9a5b906")
53-
.setScenarioId("60b8e997-4a5c-40b2-86e8-29c4521b7015")
54-
.setCallbackAction("com.yoti.services.CALLBACK")
55-
.create();
56-
} catch (YotiSDKNotValidScenarioException e) {
57-
e.printStackTrace();
58-
}
59-
60-
YotiSDK.addScenario(scenario);
61-
}
62-
6341
}
6442

6543

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.yoti.mobile.android.sampleapp2;
2+
3+
import android.app.Application;
4+
5+
import com.yoti.mobile.android.sdk.YotiSDK;
6+
import com.yoti.mobile.android.sdk.exceptions.YotiSDKNotValidScenarioException;
7+
import com.yoti.mobile.android.sdk.model.Scenario;
8+
9+
public class SampleApp2 extends Application {
10+
11+
@Override
12+
public void onCreate() {
13+
super.onCreate();
14+
15+
Scenario scenario = null;
16+
17+
try {
18+
scenario = new Scenario.Builder()
19+
.setUseCaseId("yoti_btn_1")
20+
.setClientSDKId("d28feaf4-d62d-40e3-88ae-d619e9a5b906")
21+
.setScenarioId("60b8e997-4a5c-40b2-86e8-29c4521b7015")
22+
.setCallbackAction("com.yoti.services.CALLBACK")
23+
.create();
24+
} catch (YotiSDKNotValidScenarioException e) {
25+
e.printStackTrace();
26+
}
27+
28+
YotiSDK.addScenario(scenario);
29+
}
30+
}

sample-app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<uses-permission android:name="android.permission.INTERNET" />
66

77
<application
8+
android:name=".SampleApp"
89
android:allowBackup="true"
910
android:icon="@mipmap/ic_launcher"
1011
android:label="@string/app_name"

sample-app/src/main/java/com/yoti/mobile/android/sdk/sampleapp/MainActivity.java

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,13 @@
22

33
import android.support.v7.app.AppCompatActivity;
44
import android.os.Bundle;
5-
import android.util.Log;
65
import android.view.View;
76
import android.widget.ProgressBar;
87
import android.widget.TextView;
98

109
import com.yoti.mobile.android.sdk.YotiSDKButton;
11-
import com.yoti.mobile.android.sdk.YotiSDK;
1210
import com.yoti.mobile.android.sdk.exceptions.YotiSDKException;
1311
import com.yoti.mobile.android.sdk.exceptions.YotiSDKNoYotiAppException;
14-
import com.yoti.mobile.android.sdk.exceptions.YotiSDKNotValidScenarioException;
15-
import com.yoti.mobile.android.sdk.model.CustomCertificate;
16-
import com.yoti.mobile.android.sdk.model.Scenario;
1712

1813
public class MainActivity extends AppCompatActivity {
1914

@@ -25,8 +20,6 @@ protected void onCreate(Bundle savedInstanceState) {
2520

2621
setContentView(R.layout.activity_main);
2722

28-
setupYotiShareScenario();
29-
3023
final YotiSDKButton yotiSDKButton = (YotiSDKButton) findViewById(R.id.button);
3124
final ProgressBar progress = (ProgressBar) findViewById(R.id.progress);
3225
final TextView message = (TextView)findViewById(R.id.text);
@@ -72,30 +65,4 @@ public void onYotiAppNotInstalledError(YotiSDKNoYotiAppException cause) {
7265
}
7366
}
7467

75-
private void setupYotiShareScenario() {
76-
CustomCertificate customCertificate = new CustomCertificate();
77-
customCertificate.setCertificateResourceId(R.raw.certificate);
78-
customCertificate.setAlias("test");
79-
customCertificate.setPassword("test123");
80-
customCertificate.setStoreName("TEST");
81-
82-
try {
83-
Scenario scenario = new Scenario.Builder()
84-
.setUseCaseId("get_user_phone_1")
85-
.setClientSDKId("4c5ecbe4-dbc1-4e42-9a36-7fc81dd32bea")
86-
.setScenarioId("35e0cf80-c8dc-4dd3-ac66-023d2c2e496c")
87-
.setCallbackAction("com.test.app.YOTI_CALLBACK")
88-
.setBackendCallbackAction("com.test.app.BACKEND_CALLBACK")
89-
.setCustomCertificate(customCertificate)
90-
.create();
91-
92-
YotiSDK.addScenario(scenario);
93-
94-
YotiSDK.enableSDKLogging(true);
95-
96-
} catch (YotiSDKNotValidScenarioException e) {
97-
Log.e(TAG, "Invalid scenario!!", e);
98-
}
99-
100-
}
10168
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.yoti.mobile.android.sdk.sampleapp;
2+
3+
import android.app.Application;
4+
import android.util.Log;
5+
6+
import com.yoti.mobile.android.sdk.YotiSDK;
7+
import com.yoti.mobile.android.sdk.exceptions.YotiSDKNotValidScenarioException;
8+
import com.yoti.mobile.android.sdk.model.CustomCertificate;
9+
import com.yoti.mobile.android.sdk.model.Scenario;
10+
11+
import static android.content.ContentValues.TAG;
12+
13+
public class SampleApp extends Application {
14+
15+
@Override
16+
public void onCreate() {
17+
super.onCreate();
18+
19+
CustomCertificate customCertificate = new CustomCertificate();
20+
customCertificate.setCertificateResourceId(R.raw.certificate);
21+
customCertificate.setAlias("test");
22+
customCertificate.setPassword("test123");
23+
customCertificate.setStoreName("TEST");
24+
25+
try {
26+
Scenario scenario = new Scenario.Builder()
27+
.setUseCaseId("get_user_phone_1")
28+
.setClientSDKId("d10b19d3-fa50-48ab-bd8c-f5a099205e6c")
29+
.setScenarioId("17807359-a933-4b77-baa2-3c2fdb5608f2")
30+
.setCallbackAction("com.test.app.YOTI_CALLBACK")
31+
.setBackendCallbackAction("com.test.app.BACKEND_CALLBACK")
32+
.setCustomCertificate(customCertificate)
33+
.create();
34+
35+
YotiSDK.addScenario(scenario);
36+
37+
YotiSDK.enableSDKLogging(true);
38+
39+
} catch (YotiSDKNotValidScenarioException e) {
40+
Log.e(TAG, "Invalid scenario!!", e);
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)