/** * Copyright (C) 2014 android10.org. All rights reserved. * * @author Fernando Cejas (the android10 coder) */ package com.fernandocejas.android10.sample.presentation.view.fragment; import android.content.Context; import android.databinding.DataBindingUtil; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.fernandocejas.android10.sample.presentation.R; import com.fernandocejas.android10.sample.presentation.UserDetailsBinding; import com.fernandocejas.android10.sample.presentation.viewmodel.UserDetailsViewModel; /** * Fragment that shows details of a certain user. */ public class UserDetailsFragment extends BaseFragment<UserDetailsViewModel, UserDetailsBinding> { public final static String TAG = UserDetailsFragment.class.getSimpleName(); private static final String ARGUMENT_KEY_USER_ID = "org.android10.ARGUMENT_USER_ID"; private int userId; public UserDetailsFragment() { super(); } public static UserDetailsFragment newInstance(int userId) { UserDetailsFragment userDetailsFragment = new UserDetailsFragment(); Bundle argumentsBundle = new Bundle(); argumentsBundle.putInt(ARGUMENT_KEY_USER_ID, userId); userDetailsFragment.setArguments(argumentsBundle); return userDetailsFragment; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setViewModel(new UserDetailsViewModel()); setBinding(DataBindingUtil.<UserDetailsBinding>inflate(inflater, R.layout.fragment_user_details, container, false)); getBinding().setViewModel(getViewModel()); return getBinding().getRoot(); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); this.initialize(); } @Override public void onResume() { super.onResume(); } @Override public void onPause() { super.onPause(); } @Override public void onDestroyView() { super.onDestroyView(); } @Override public void onDestroy() { super.onDestroy(); } private void initialize() { this.userId = getArguments().getInt(ARGUMENT_KEY_USER_ID); getViewModel().loadUserDetailsCommand(userId); } @Override public Context getContext() { return getActivity().getApplicationContext(); } }