public MainViewModel(Context context, DataListener dataListener) { this.context = context; this.dataListener = dataListener; infoMessageVisibility = new ObservableInt(View.VISIBLE); progressVisibility = new ObservableInt(View.INVISIBLE); recyclerViewVisibility = new ObservableInt(View.INVISIBLE); searchButtonVisibility = new ObservableInt(View.GONE); infoMessage = new ObservableField<>(context.getString(R.string.default_info_message)); }
public RepositoryViewModel(Context context, final Repository repository) { this.repository = repository; this.context = context; this.ownerName = new ObservableField<>(); this.ownerEmail = new ObservableField<>(); this.ownerLocation = new ObservableField<>(); this.ownerLayoutVisibility = new ObservableInt(View.INVISIBLE); this.ownerEmailVisibility = new ObservableInt(View.VISIBLE); this.ownerLocationVisibility = new ObservableInt(View.VISIBLE); // Trigger loading the rest of the user data as soon as the view model is created. // It's odd having to trigger this from here. Cases where accessing to the data model // needs to happen because of a change in the Activity/Fragment lifecycle // (i.e. an activity created) don't work very well with this MVVM pattern. // It also makes this class more difficult to test. Hopefully a better solution will be found loadFullUser(repository.owner.url); }
public MainViewModel(@NonNull MainViewModelContact.MainView mainView, @NonNull Context mContext) { this.mainView = mainView; this.mContext = mContext; dataProgress = new ObservableInt(View.GONE); designList = new ObservableInt(View.VISIBLE); designButton = new ObservableInt(View.VISIBLE); initializeViews(); initPage(); getData(); }
public CommentViewModel(Comment comment) { user = new ObservableField<>(new UserViewModel(comment.user)); body = new ObservableString(comment.body); likesCount = new ObservableInt(comment.likesCount); createdAt = new ObservableField<>(comment.createdAt); anim = new ObservableInt(ViewBindingConfig.AnimInit); point = new Point(); }
public ShotItemViewModel(Shot shot, int left, int right) { id = new ObservableLong(shot.id); title = new ObservableString(shot.title); user = new ObservableField<>(new UserViewModel(shot.user)); description = new ObservableString(shot.description); createdAt = new ObservableField<>(shot.createdAt); likesCount = new ObservableInt(shot.likesCount); commentsCount = new ObservableInt(shot.commentsCount); bucketsCount = new ObservableInt(shot.bucketsCount); viewsCount = new ObservableInt(shot.viewsCount); tags = new ObservableArrayList<>(); tags.addAll(shot.tags); url = new ObservableString(shot.htmlUrl); marginLeft = new ObservableInt(left); marginRight = new ObservableInt(right); Image image = shot.images; this.image = new ObservableString(image.hidpi != null ? image.hidpi : image.normal != null ? image.normal : image.teaser); thumbnail = new ObservableString(image.teaser); }