Skip to content

Commit 57b2168

Browse files
elliotykimthomaszurkan-optimizely
authored andcommitted
Handle errors so apps don't crash (#126)
* Try-catch errors when building OptimizelyClient Summary: Test Plan: Reviewers: Subscribers: JIRA Issues: * Try-catch errors when building OptimizelyClient Summary: Try-catch errors when building OptimizelyClient Test Plan: tests Reviewers: #oasis_team_review JIRA Issues: OASIS-1516 Differential Revision: https://phabricator.optimizely.com/D16771
1 parent 4bf2672 commit 57b2168

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

android-sdk/src/androidTest/java/com/optimizely/ab/android/sdk/OptimizelyManagerTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@
2828
import android.support.test.runner.AndroidJUnit4;
2929

3030
import com.optimizely.ab.android.datafile_handler.DatafileHandler;
31-
import com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler;
3231
import com.optimizely.ab.android.datafile_handler.DatafileService;
32+
import com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler;
3333
import com.optimizely.ab.android.event_handler.DefaultEventHandler;
3434
import com.optimizely.ab.android.shared.ServiceScheduler;
3535
import com.optimizely.ab.android.user_profile.DefaultUserProfileService;
36-
import com.optimizely.ab.config.parser.ConfigParseException;
37-
3836
import com.optimizely.ab.bucketing.UserProfileService;
37+
import com.optimizely.ab.config.parser.ConfigParseException;
3938
import com.optimizely.ab.event.EventHandler;
4039

4140
import org.junit.Before;
@@ -250,7 +249,7 @@ public void injectOptimizelyHandlesInvalidDatafile() {
250249
fail("Timed out");
251250
}
252251

253-
verify(logger).error(eq("Unable to build optimizely instance"), any(Exception.class));
252+
verify(logger).error(eq("Unable to build OptimizelyClient instance"), any(Exception.class));
254253

255254
}
256255

android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyManager.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,16 @@
3131

3232
import com.optimizely.ab.Optimizely;
3333
import com.optimizely.ab.android.datafile_handler.DatafileHandler;
34-
import com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler;
3534
import com.optimizely.ab.android.datafile_handler.DatafileLoadedListener;
3635
import com.optimizely.ab.android.datafile_handler.DatafileService;
37-
import com.optimizely.ab.android.event_handler.EventIntentService;
36+
import com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler;
3837
import com.optimizely.ab.android.event_handler.DefaultEventHandler;
38+
import com.optimizely.ab.android.event_handler.EventIntentService;
3939
import com.optimizely.ab.android.user_profile.DefaultUserProfileService;
4040
import com.optimizely.ab.bucketing.UserProfileService;
4141
import com.optimizely.ab.config.parser.ConfigParseException;
4242
import com.optimizely.ab.error.ErrorHandler;
4343
import com.optimizely.ab.event.EventHandler;
44-
import com.optimizely.ab.event.internal.EventBuilder;
4544
import com.optimizely.ab.event.internal.payload.Event;
4645

4746
import org.slf4j.Logger;
@@ -134,6 +133,8 @@ public OptimizelyClient initialize(@NonNull Context context, @NonNull String dat
134133
logger.error("Unable to parse compiled data file", e);
135134
} catch (Exception e) {
136135
logger.error("Unable to build OptimizelyClient instance", e);
136+
} catch (Error e) {
137+
logger.error("Unable to build OptimizelyClient instance", e);
137138
}
138139

139140
datafileHandler.downloadDatafile(context, projectId, null);
@@ -360,7 +361,9 @@ public void onStartComplete(UserProfileService userProfileService) {
360361
}
361362
}
362363
} catch (Exception e) {
363-
logger.error("Unable to build optimizely instance", e);
364+
logger.error("Unable to build OptimizelyClient instance", e);
365+
} catch (Error e) {
366+
logger.error("Unable to build OptimizelyClient instance", e);
364367
}
365368
}
366369

0 commit comments

Comments
 (0)