Add LogManager for reading the logs in react-native
This commit is contained in:
22
android/app/src/main/java/de/gotify/GotifyPackage.java
Normal file
22
android/app/src/main/java/de/gotify/GotifyPackage.java
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
32
android/app/src/main/java/de/gotify/LogManager.java
Normal file
32
android/app/src/main/java/de/gotify/LogManager.java
Normal 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,6 +29,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|||||||
new MainReactPackage(),
|
new MainReactPackage(),
|
||||||
new RNSharedPreferencesReactPackage(),
|
new RNSharedPreferencesReactPackage(),
|
||||||
new RNDeviceInfo(),
|
new RNDeviceInfo(),
|
||||||
|
new GotifyPackage(),
|
||||||
new VectorIconsPackage()
|
new VectorIconsPackage()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
3
src/native/LogManager.js
Normal file
3
src/native/LogManager.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import {NativeModules} from 'react-native';
|
||||||
|
|
||||||
|
export default NativeModules.LogManager;
|
||||||
Reference in New Issue
Block a user