LifeCycleDelegate.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.uddream.plugin;
  2. import android.os.Bundle;
  3. import android.util.Log;
  4. /**
  5. * Created by Glen on 2016/9/8.
  6. */
  7. public abstract class LifeCycleDelegate<T> {
  8. protected final T target;
  9. public LifeCycleDelegate(T target) {
  10. this.target = target;
  11. }
  12. public abstract void onCreate(Bundle savedInstanceState);
  13. public abstract void onResume();
  14. public abstract void onPause();
  15. public abstract void onDestroy();
  16. public abstract void setUserVisibleHint(boolean isVisibleToUser);
  17. public abstract void onHiddenChanged(boolean hidden);
  18. public abstract void onSaveInstanceState(Bundle outState);
  19. public abstract void onRestoreInstanceState(Bundle savedInstanceState);
  20. @SuppressWarnings("unused")
  21. public static LifeCycleDelegate create(Object object) {
  22. return new Empty(object);
  23. }
  24. public static class Empty extends LifeCycleDelegate<Object> {
  25. public Empty(Object target) {
  26. super(target);
  27. }
  28. @Override
  29. public void onCreate(Bundle savedInstanceState) {
  30. Log.e("Delegate", "onCreate");
  31. }
  32. @Override
  33. public void onResume() {
  34. Log.e("Delegate", "onResume");
  35. }
  36. @Override
  37. public void onPause() {
  38. Log.e("Delegate", "onPause");
  39. }
  40. @Override
  41. public void onDestroy() {
  42. Log.e("Delegate", "onDestroy");
  43. }
  44. @Override
  45. public void setUserVisibleHint(boolean isVisibleToUser) {
  46. }
  47. @Override
  48. public void onHiddenChanged(boolean hidden) {
  49. }
  50. @Override
  51. public void onSaveInstanceState(Bundle outState) {
  52. }
  53. @Override
  54. public void onRestoreInstanceState(Bundle savedInstanceState) {
  55. }
  56. }
  57. }