react-native-navigation的迁移库

ContextProvider.java 811B

123456789101112131415161718192021222324252627282930313233
  1. package com.reactnativenavigation.utils;
  2. import android.support.annotation.Nullable;
  3. import com.reactnativenavigation.activities.BaseReactActivity;
  4. import java.lang.ref.WeakReference;
  5. /**
  6. * Created by guyc on 10/03/16.
  7. */
  8. public class ContextProvider {
  9. private static WeakReference<BaseReactActivity> sActivityWR;
  10. public static void setActivityContext(BaseReactActivity activity) {
  11. if (sActivityWR == null) {
  12. sActivityWR = new WeakReference<>(activity);
  13. }
  14. }
  15. @Nullable
  16. public static BaseReactActivity getActivityContext() {
  17. return sActivityWR != null ? sActivityWR.get() : null;
  18. }
  19. public static void clearActivityContext() {
  20. if (sActivityWR != null) {
  21. sActivityWR.clear();
  22. }
  23. sActivityWR = null;
  24. }
  25. }