doum
6 天以前 2b287056e2f59518888d05a1bbc7e5a55fbd84d5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.doumee.lib_coremodel.base.livedata;
 
import androidx.annotation.IntDef;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.Observer;
 
import com.doumee.lib_coremodel.bean.event.ActionEventData;
 
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
 
public class ActionEvent extends SingleLiveEvent<ActionEventData>{
 
    public void observe(LifecycleOwner owner, ActionObserver observer) {
        super.observe(owner, new Observer<ActionEventData>() {
            @Override
            public void onChanged(ActionEventData actionEventData) {
                observer.onStatusChanged(actionEventData);
            }
        });
    }
 
    public interface ActionObserver{
        void onStatusChanged(ActionEventData data);
    }
 
    /**
     * 状态
     */
    @IntDef({ActionEvent.Action.START_ACTIVITY, ActionEvent.Action.FINISH,
            ActionEvent.Action.DO, ActionEvent.Action.TOAST})
    @Retention(RetentionPolicy.SOURCE)
    public @interface Action {
        int START_ACTIVITY = 0;
        int FINISH = 1;
        int DO=2;
        int TOAST=3;
    }
 
    public static final class ParameterField {
        public static String CLASS = "CLASS";
        public static String CANONICAL_NAME = "CANONICAL_NAME";
        public static String BUNDLE = "BUNDLE";
    }
}