mirror of
https://github.com/status-im/instabug-reactnative.git
synced 2025-03-03 14:40:54 +00:00
✨ Add new feature for setting the floating button edge and offset on Android.
This commit is contained in:
parent
bd0bfa1175
commit
acfd914cfe
@ -37,6 +37,8 @@ export default class InstabugSample extends Component {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
|
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
|
||||||
this.state = {
|
this.state = {
|
||||||
dataSource: ds.cloneWithRows(this._genRows({})),
|
dataSource: ds.cloneWithRows(this._genRows({})),
|
||||||
|
@ -10,6 +10,7 @@ import com.facebook.react.uimanager.ViewManager;
|
|||||||
import com.instabug.library.Instabug;
|
import com.instabug.library.Instabug;
|
||||||
import com.instabug.library.InstabugColorTheme;
|
import com.instabug.library.InstabugColorTheme;
|
||||||
import com.instabug.library.invocation.InstabugInvocationEvent;
|
import com.instabug.library.invocation.InstabugInvocationEvent;
|
||||||
|
import com.instabug.library.invocation.util.InstabugFloatingButtonEdge;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -26,7 +27,8 @@ public class RNInstabugReactnativePackage implements ReactPackage {
|
|||||||
private InstabugColorTheme instabugColorTheme = InstabugColorTheme.InstabugColorThemeLight;
|
private InstabugColorTheme instabugColorTheme = InstabugColorTheme.InstabugColorThemeLight;
|
||||||
|
|
||||||
public RNInstabugReactnativePackage(String androidApplicationToken, Application androidApplication,
|
public RNInstabugReactnativePackage(String androidApplicationToken, Application androidApplication,
|
||||||
String invocationEventValue, String primaryColor) {
|
String invocationEventValue, String primaryColor,
|
||||||
|
InstabugFloatingButtonEdge floatingButtonEdge, int offset) {
|
||||||
this.androidApplication = androidApplication;
|
this.androidApplication = androidApplication;
|
||||||
this.mAndroidApplicationToken = androidApplicationToken;
|
this.mAndroidApplicationToken = androidApplicationToken;
|
||||||
|
|
||||||
@ -55,9 +57,69 @@ public class RNInstabugReactnativePackage implements ReactPackage {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
Instabug.setPrimaryColor(Color.parseColor(primaryColor));
|
Instabug.setPrimaryColor(Color.parseColor(primaryColor));
|
||||||
|
Instabug.setFloatingButtonEdge(floatingButtonEdge);
|
||||||
|
Instabug.setFloatingButtonOffsetFromTop(offset);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
//FloatingButtonEdge
|
||||||
|
private final String FLOATING_BUTTON_EDGE_RIGHT = "right";
|
||||||
|
private final String FLOATING_BUTTON_EDGE_LEFT = "left";
|
||||||
|
|
||||||
|
String androidApplicationToken;
|
||||||
|
Application application;
|
||||||
|
String invocationEvent;
|
||||||
|
String primaryColor;
|
||||||
|
InstabugFloatingButtonEdge floatingButtonEdge;
|
||||||
|
int offset;
|
||||||
|
|
||||||
|
public Builder(String androidApplicationToken, Application application) {
|
||||||
|
this.androidApplicationToken = androidApplicationToken;
|
||||||
|
this.application = application;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setInvocationEvent(String invocationEvent) {
|
||||||
|
this.invocationEvent = invocationEvent;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setPrimaryColor(String primaryColor) {
|
||||||
|
this.primaryColor = primaryColor;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setFloatingEdge(String floatingEdge) {
|
||||||
|
this.floatingButtonEdge = getFloatingButtonEdge(floatingEdge);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setFloatingButtonOffsetFromTop(int offset) {
|
||||||
|
this.offset = offset;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RNInstabugReactnativePackage build() {
|
||||||
|
return new RNInstabugReactnativePackage(androidApplicationToken,application,invocationEvent,primaryColor,floatingButtonEdge,offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
private InstabugFloatingButtonEdge getFloatingButtonEdge(String floatingButtonEdgeValue) {
|
||||||
|
InstabugFloatingButtonEdge floatingButtonEdge = InstabugFloatingButtonEdge.RIGHT;
|
||||||
|
try {
|
||||||
|
if (floatingButtonEdgeValue.equals(FLOATING_BUTTON_EDGE_LEFT)) {
|
||||||
|
floatingButtonEdge = InstabugFloatingButtonEdge.LEFT;
|
||||||
|
} else if (floatingButtonEdgeValue.equals(FLOATING_BUTTON_EDGE_RIGHT)) {
|
||||||
|
floatingButtonEdge = InstabugFloatingButtonEdge.RIGHT;
|
||||||
|
}
|
||||||
|
return floatingButtonEdge;
|
||||||
|
|
||||||
|
} catch(Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return floatingButtonEdge;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||||
List<NativeModule> modules = new ArrayList<>();
|
List<NativeModule> modules = new ArrayList<>();
|
||||||
|
8
index.js
8
index.js
@ -852,11 +852,9 @@ module.exports = {
|
|||||||
* @readonly
|
* @readonly
|
||||||
* @enum {number}
|
* @enum {number}
|
||||||
*/
|
*/
|
||||||
rectEdge: {
|
floatingButtonEdge: {
|
||||||
minX: Instabug.rectMinXEdge,
|
left: Instabug.rectMinXEdge,
|
||||||
minY: Instabug.rectMinYEdge,
|
right: Instabug.rectMaxXEdge,
|
||||||
maxX: Instabug.rectMaxXEdge,
|
|
||||||
maxY: Instabug.rectMaxYEdge
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "instabug-reactnative",
|
"name": "instabug-reactnative",
|
||||||
"version": "1.1.6",
|
"version": "1.1.8",
|
||||||
"description": "React Native plugin for integrating the Instabug SDK",
|
"description": "React Native plugin for integrating the Instabug SDK",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -23,7 +23,7 @@
|
|||||||
"homepage": "https://github.com/Instabug/instabug-reactnative#readme",
|
"homepage": "https://github.com/Instabug/instabug-reactnative#readme",
|
||||||
"rnpm": {
|
"rnpm": {
|
||||||
"android": {
|
"android": {
|
||||||
"packageInstance": "new RNInstabugReactnativePackage(\"YOUR_ANDROID_APPLICATION_TOKEN\",MainApplication.this,\"shake\",\"#1D82DC\")"
|
"packageInstance": "new RNInstabugReactnativePackage.Builder(\"YOUR_ANDROID_APPLICATION_TOKEN\",MainApplication.this)\n.setInvocationEvent(\"shake\")\n.build()"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user