Skip to content

Commit a28e1c2

Browse files
authored
Added a try-catch to the getDecorView line in setCurActivity (#933)
* In a unity issue (#239) this was reported with no chance of reproducing it
1 parent dcac630 commit a28e1c2

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/ActivityLifecycleHandler.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,18 @@ private static void setCurActivity(Activity activity) {
9292
entry.getValue().available(curActivity);
9393
}
9494

95-
ViewTreeObserver treeObserver = curActivity.getWindow().getDecorView().getViewTreeObserver();
96-
for (Map.Entry<String, OSSystemConditionController.OSSystemConditionObserver> entry : sSystemConditionObservers.entrySet()) {
97-
KeyboardListener keyboardListener = new KeyboardListener(entry.getValue(), entry.getKey());
98-
treeObserver.addOnGlobalLayoutListener(keyboardListener);
99-
sKeyboardListeners.put(entry.getKey(), keyboardListener);
95+
try {
96+
ViewTreeObserver treeObserver = curActivity.getWindow().getDecorView().getViewTreeObserver();
97+
for (Map.Entry<String, OSSystemConditionController.OSSystemConditionObserver> entry : sSystemConditionObservers.entrySet()) {
98+
KeyboardListener keyboardListener = new KeyboardListener(entry.getValue(), entry.getKey());
99+
treeObserver.addOnGlobalLayoutListener(keyboardListener);
100+
sKeyboardListeners.put(entry.getKey(), keyboardListener);
101+
}
102+
} catch (RuntimeException e) {
103+
// Related to Unity Issue #239 on Github
104+
// https://github.com/OneSignal/OneSignal-Unity-SDK/issues/239
105+
// RuntimeException at ActivityLifecycleHandler.setCurActivity on Android (Unity 2.9.0)
106+
e.printStackTrace();
100107
}
101108
}
102109

0 commit comments

Comments
 (0)