-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMainActivity.java
66 lines (56 loc) · 2.17 KB
/
MainActivity.java
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package io.github.v7lin.redux;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.TextView;
import java.util.UUID;
import io.github.v7lin.redux.model.Todo;
import io.github.v7lin.redux.model.User;
import io.github.v7lin.redux.redux.State;
import io.github.v7lin.redux.redux.TodoRedux;
import io.github.v7lin.redux.redux.UserRedux;
import redux.StreamController;
public final class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.change_user).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
User user = new User(UUID.randomUUID().toString(), UUID.randomUUID().toString());
State.store(MainActivity.this)
.dispatch(new UserRedux.UserChangedAction(user));
}
});
findViewById(R.id.add_todo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Todo todo = new Todo(UUID.randomUUID().toString(), UUID.randomUUID().toString());
State.store(MainActivity.this)
.dispatch(new TodoRedux.AddTodoAction(todo));
}
});
State.store(this)
.streamController()
.registerObserver(stateSetObserver);
}
private StreamController.StateSetObserver<State> stateSetObserver = new StreamController.StateSetObserver<State>() {
@Override
public void onChanged(State state) {
TextView info = findViewById(R.id.info);
if (info != null) {
info.setMovementMethod(ScrollingMovementMethod.getInstance());
info.setText(state.toString());
}
}
};
@Override
protected void onDestroy() {
State.store(this)
.streamController()
.unregisterObserver(stateSetObserver);
super.onDestroy();
}
}