InsetsChangeEvent.java 967B

12345678910111213141516171819202122232425262728293031323334
  1. package com.th3rdwave.safeareacontext;
  2. import com.facebook.react.bridge.Arguments;
  3. import com.facebook.react.bridge.WritableMap;
  4. import com.facebook.react.uimanager.events.Event;
  5. import com.facebook.react.uimanager.events.RCTEventEmitter;
  6. /* package */ class InsetsChangeEvent extends Event<InsetsChangeEvent> {
  7. static final String EVENT_NAME = "topInsetsChange";
  8. private EdgeInsets mInsets;
  9. private Rect mFrame;
  10. InsetsChangeEvent(int viewTag, EdgeInsets insets, Rect frame) {
  11. super(viewTag);
  12. mInsets = insets;
  13. mFrame = frame;
  14. }
  15. @Override
  16. public String getEventName() {
  17. return EVENT_NAME;
  18. }
  19. @Override
  20. public void dispatch(RCTEventEmitter rctEventEmitter) {
  21. WritableMap event = Arguments.createMap();
  22. event.putMap("insets", SerializationUtils.edgeInsetsToJsMap(mInsets));
  23. event.putMap("frame", SerializationUtils.rectToJsMap(mFrame));
  24. rctEventEmitter.receiveEvent(getViewTag(), getEventName(), event);
  25. }
  26. }