react-native-navigation的迁移库

AnimationsOptions.java 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.reactnativenavigation.parse;
  2. import org.json.JSONObject;
  3. public class AnimationsOptions {
  4. public static AnimationsOptions parse(JSONObject json) {
  5. AnimationsOptions options = new AnimationsOptions();
  6. if (json == null) return options;
  7. options.push = NestedAnimationsOptions.parse(json.optJSONObject("push"));
  8. options.pop = NestedAnimationsOptions.parse(json.optJSONObject("pop"));
  9. options.setStackRoot = NestedAnimationsOptions.parse(json.optJSONObject("setStackRoot"));
  10. options.setRoot = new AnimationOptions(json.optJSONObject("setRoot"));
  11. options.showModal = new AnimationOptions(json.optJSONObject("showModal"));
  12. options.dismissModal = new AnimationOptions(json.optJSONObject("dismissModal"));
  13. return options;
  14. }
  15. public NestedAnimationsOptions push = new NestedAnimationsOptions();
  16. public NestedAnimationsOptions pop = new NestedAnimationsOptions();
  17. public NestedAnimationsOptions setStackRoot = new NestedAnimationsOptions();
  18. public AnimationOptions setRoot = new AnimationOptions();
  19. public AnimationOptions showModal = new AnimationOptions();
  20. public AnimationOptions dismissModal = new AnimationOptions();
  21. public void mergeWith(AnimationsOptions other) {
  22. push.mergeWith(other.push);
  23. pop.mergeWith(other.pop);
  24. setRoot.mergeWith(other.setRoot);
  25. setStackRoot.mergeWith(other.setStackRoot);
  26. showModal.mergeWith(other.showModal);
  27. dismissModal.mergeWith(other.dismissModal);
  28. }
  29. void mergeWithDefault(AnimationsOptions defaultOptions) {
  30. push.mergeWithDefault(defaultOptions.push);
  31. pop.mergeWithDefault(defaultOptions.pop);
  32. setStackRoot.mergeWithDefault(defaultOptions.setStackRoot);
  33. setRoot.mergeWithDefault(defaultOptions.setRoot);
  34. showModal.mergeWithDefault(defaultOptions.showModal);
  35. dismissModal.mergeWithDefault(defaultOptions.dismissModal);
  36. }
  37. }