/**
* Copyright (c) 2015 unfoldingWord
* http://creativecommons.org/licenses/MIT/
* See LICENSE file for details.
* Contributors:
* PJ Fechner <pj@actsmedia.com>
*/
package fragments.selection;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListView;
import org.unfoldingword.mobile.R;
import java.util.List;
import adapters.sharing.SharingAdapter;
import adapters.sharing.SharingLanguageViewModel;
import model.daoModels.Project;
import model.daoModels.Version;
/**
* A fragment representing a list of Items.
*/
public class ShareSelectionFragment extends Fragment {
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String PROJECTS_PARAM = "PROJECTS_PARAM";
private List<Version> selectedVersions;
private ExpandableListView listView;
private SharingAdapter adapter;
public static ShareSelectionFragment newInstance(Project[] versions) {
ShareSelectionFragment fragment = new ShareSelectionFragment();
Bundle args = new Bundle();
args.putSerializable(PROJECTS_PARAM, versions);
fragment.setArguments(args);
return fragment;
}
/**
* Mandatory empty constructor for the fragment manager to instantiate the
* fragment (e.g. upon screen orientation changes).
*/
public ShareSelectionFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_share_selection, container, false);
setupViews(view);
return view;
}
private void setupViews(View view){
listView = (ExpandableListView) view.findViewById(R.id.share_selection_list_view);
List<SharingLanguageViewModel> data = getData();
if(data != null) {
adapter = new SharingAdapter(this, data);
listView.setAdapter(adapter);
}
}
private List<SharingLanguageViewModel> getData(){
Project[] projects = (Project[]) getArguments().getSerializable(PROJECTS_PARAM);
return SharingLanguageViewModel.createViewModels(getActivity().getApplicationContext(), projects);
}
public List<Version> getSelectedVersions(){
return adapter.getSelectedVersions();
}
}