Add LogManager for reading the logs in react-native

This commit is contained in:
Jannis Mattheis
2018-05-20 15:00:13 +02:00
parent d60bdb462c
commit ee36ae14bb
5 changed files with 58 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
package de.gotify;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class GotifyPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(new LogManager(reactContext));
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}

View File

@@ -0,0 +1,32 @@
package de.gotify;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
public class LogManager extends ReactContextBaseJavaModule {
LogManager(final ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "LogManager";
}
@ReactMethod
public void clear(Callback callback) {
Log.get().clear();
callback.invoke();
}
@ReactMethod
public void getLog(Callback callback) {
StringBuilder log = new StringBuilder();
for (String line : Log.get()) {
log.append(line).append("\n");
}
callback.invoke(log.toString());
}
}

View File

@@ -29,6 +29,7 @@ public class MainApplication extends Application implements ReactApplication {
new MainReactPackage(),
new RNSharedPreferencesReactPackage(),
new RNDeviceInfo(),
new GotifyPackage(),
new VectorIconsPackage()
);
}