Files
react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java
Andy Street 08db896321 Add GuardedRunnable to run blocks of code on the UI thread with automatic redboxing
Summary: Like GuardedAsyncTask, et al, but for Runnables.

Reviewed By: achen1

Differential Revision: D4537287

fbshipit-source-id: 8ae60c7007843c0b7d8e5c3835d0847921fb3db5
2017-02-09 11:30:36 -08:00

29 lines
703 B
Java

// Copyright 2004-present Facebook. All Rights Reserved.
package com.facebook.react.bridge;
/**
* Abstract base for a Runnable that should have any RuntimeExceptions it throws
* handled by the {@link com.facebook.react.bridge.NativeModuleCallExceptionHandler} registered if
* the app is in dev mode.
*/
public abstract class GuardedRunnable implements Runnable {
private final ReactContext mReactContext;
public GuardedRunnable(ReactContext reactContext) {
mReactContext = reactContext;
}
@Override
public final void run() {
try {
runGuarded();
} catch (RuntimeException e) {
mReactContext.handleException(e);
}
}
public abstract void runGuarded();
}