Bug 1280382 - Catch ClassCastException that may occur on return from generic method r?mcomella
MozReview-Commit-ID: BfiAMAEY1jY
--- a/mobile/android/thirdparty/com/adjust/sdk/ActivityHandler.java
+++ b/mobile/android/thirdparty/com/adjust/sdk/ActivityHandler.java
@@ -708,21 +708,30 @@ public class ActivityHandler extends Han
packageHandler.sendFirstPackage();
if (updateActivityState(System.currentTimeMillis())) {
writeActivityState();
}
}
private void readActivityState() {
- activityState = Util.readObject(adjustConfig.context, ACTIVITY_STATE_FILENAME, ACTIVITY_STATE_NAME);
+ try {
+ // readObject is a generic object, and can therefore return arbitrary generic objects
+ // that might not match the expected type. Therefore there will be an implicit cast
+ // here, which can fail:
+ activityState = Util.readObject(adjustConfig.context, ACTIVITY_STATE_FILENAME, ACTIVITY_STATE_NAME);
+ } catch (ClassCastException e) {
+ }
}
private void readAttribution() {
- attribution = Util.readObject(adjustConfig.context, ATTRIBUTION_FILENAME, ATTRIBUTION_NAME);
+ try {
+ attribution = Util.readObject(adjustConfig.context, ATTRIBUTION_FILENAME, ATTRIBUTION_NAME);
+ } catch (ClassCastException e) {
+ }
}
private void writeActivityState() {
Util.writeObject(activityState, adjustConfig.context, ACTIVITY_STATE_FILENAME, ACTIVITY_STATE_NAME);
}
private void writeAttribution() {
Util.writeObject(attribution, adjustConfig.context, ATTRIBUTION_FILENAME, ATTRIBUTION_NAME);