-
Notifications
You must be signed in to change notification settings - Fork 2
/
PageViewModel.java
46 lines (34 loc) · 1.1 KB
/
PageViewModel.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
package it.cosenonjaviste.core.page;
import android.databinding.ObservableBoolean;
import android.support.annotation.NonNull;
import javax.inject.Inject;
import it.codingjam.lifecyclebinder.BindLifeCycle;
import it.cosenonjaviste.core.Navigator;
import it.cosenonjaviste.core.base.ViewModel;
import it.cosenonjaviste.model.Post;
public class PageViewModel extends ViewModel<Post, PageModel> {
public ObservableBoolean loading = new ObservableBoolean();
@Inject @BindLifeCycle Navigator navigator;
@Inject public PageViewModel() {
}
@NonNull @Override protected PageModel createModel() {
return new PageModel();
}
public Post getPost() {
return model.getPost();
}
@Override public void resume() {
super.resume();
if (model.getPost() == null) {
model.setPost(getArgument());
loading.set(true);
}
}
public void htmlLoaded() {
loading.set(false);
}
public void share() {
Post post = model.getPost();
navigator.share(post.title(), post.title() + " - " + post.url());
}
}