Skip to content

Commit 30f67c2

Browse files
committed
Improving error handling in sample app 2.
YM-15454
1 parent bbee195 commit 30f67c2

File tree

4 files changed

+28
-12
lines changed

4 files changed

+28
-12
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.yoti.mobile.android.sdk.exceptions.YotiSDKException;
1212
import com.yoti.sampleapp2.R;
1313

14+
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.BACKEND_DATA_ERROR_EXTRA;
1415
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.PROFILE_EXTRA;
1516

1617
public class MainActivity extends AppCompatActivity {
@@ -74,6 +75,11 @@ private void processExtraData(Intent intent) {
7475
yotiSDKButton.setVisibility(View.VISIBLE);
7576
progress.setVisibility(View.GONE);
7677
message.setText("");
78+
79+
} else if (intent.getBooleanExtra(BACKEND_DATA_ERROR_EXTRA, false)) {
80+
yotiSDKButton.setVisibility(View.GONE);
81+
progress.setVisibility(View.GONE);
82+
message.setText(R.string.loc_error_processing_backend_response);
7783
}
7884
}
7985
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class ProfileActivity extends AppCompatActivity {
2020
public static final String MOBILE_EXTRA = "com.yoti.services.MOBILE_EXTRA";
2121
public static final String GENDER_EXTRA = "com.yoti.services.GENDER_EXTRA";
2222
public static final String PROFILE_EXTRA = "com.yoti.services.PROFILE_EXTRA";
23+
public static final String BACKEND_DATA_ERROR_EXTRA = "com.yoti.services.BACKEND_DATA_ERROR_EXTRA";
2324

2425
@Override
2526
protected void onCreate(Bundle savedInstanceState) {

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

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import javax.net.ssl.HttpsURLConnection;
1919

2020
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.ADDRESS_EXTRA;
21+
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.BACKEND_DATA_ERROR_EXTRA;
2122
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.DOB_EXTRA;
2223
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.EMAIL_EXTRA;
2324
import static com.yoti.mobile.android.sampleapp2.ProfileActivity.GENDER_EXTRA;
@@ -91,18 +92,25 @@ private void handleActionRetrieveProfile(String callbackUrl, String token, Strin
9192
}
9293

9394
Gson g = new GsonBuilder().create();
94-
Profile profile = g.fromJson(new String(response), Profile.class);
95-
96-
Intent intent = new Intent(this, MainActivity.class);
97-
intent.putExtra(NAME_EXTRA, profile.getGivenNames() + " " + profile.getFamilyName());
98-
intent.putExtra(EMAIL_EXTRA, profile.getEmailAddress());
99-
intent.putExtra(IMAGE_EXTRA, profile.getSelfie());
100-
intent.putExtra(DOB_EXTRA, profile.getDateOfBirth());
101-
intent.putExtra(ADDRESS_EXTRA, profile.getPostalAddress());
102-
intent.putExtra(MOBILE_EXTRA, profile.getMobNum());
103-
intent.putExtra(GENDER_EXTRA, profile.getGender());
104-
intent.putExtra(PROFILE_EXTRA, true);
105-
startActivity(intent);
95+
96+
try {
97+
Profile profile = g.fromJson(new String(response), Profile.class);
98+
99+
Intent intent = new Intent(this, MainActivity.class);
100+
intent.putExtra(NAME_EXTRA, profile.getGivenNames() + " " + profile.getFamilyName());
101+
intent.putExtra(EMAIL_EXTRA, profile.getEmailAddress());
102+
intent.putExtra(IMAGE_EXTRA, profile.getSelfie());
103+
intent.putExtra(DOB_EXTRA, profile.getDateOfBirth());
104+
intent.putExtra(ADDRESS_EXTRA, profile.getPostalAddress());
105+
intent.putExtra(MOBILE_EXTRA, profile.getMobNum());
106+
intent.putExtra(GENDER_EXTRA, profile.getGender());
107+
intent.putExtra(PROFILE_EXTRA, true);
108+
startActivity(intent);
109+
} catch (Exception e) {
110+
Intent intent = new Intent(this, MainActivity.class);
111+
intent.putExtra(BACKEND_DATA_ERROR_EXTRA, true);
112+
startActivity(intent);
113+
}
106114

107115
}
108116

sample-app-2/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<string name="app_name">Yoti Android-SDK-Demo</string>
33
<string name="loc_error_unknow">Something went wrong :(</string>
44
<string name="loc_loading_message">Retrieving your data...</string>
5+
<string name="loc_error_processing_backend_response">There was an error processing the response from the backend but all the SDK functionality went well!</string>
56
</resources>

0 commit comments

Comments
 (0)