+++ /dev/null
-package adullact.publicrowdfunding.controller.project.all;
-
-import android.app.AlertDialog;
-import android.app.SearchManager;
-import android.content.Context;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.ArrayAdapter;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.SearchView;
-import android.widget.SearchView.OnCloseListener;
-import android.widget.SearchView.OnQueryTextListener;
-
-import java.util.ArrayList;
-
-import adullact.publicrowdfunding.R;
-import adullact.publicrowdfunding.controller.adaptor.ProjectAdaptor;
-import adullact.publicrowdfunding.controller.project.details.ProjectPagerFragment;
-import adullact.publicrowdfunding.model.local.callback.HoldAllToDo;
-import adullact.publicrowdfunding.model.local.ressource.Project;
-import adullact.publicrowdfunding.model.local.utilities.Share;
-import adullact.publicrowdfunding.model.local.utilities.SyncServerToLocal;
-
-/**
- * @author Ferrand and Nelaupe
- */
-public class ListProjectsFragment extends Fragment {
-
- private ListView listeProjets;
-
- private SwipeRefreshLayout swipeView;
-
- private ArrayAdapter<Project> adapter;
-
- private LinearLayout loading;
-
- private SyncServerToLocal sync;
-
- private ArrayList<Project> p_project_displayed;
-
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
-
- final View view = inflater.inflate(R.layout.fragment_liste_projet,
- container, false);
-
- p_project_displayed = new ArrayList<Project>();
-
- listeProjets = (ListView) view.findViewById(R.id.liste);
-
- loading = (LinearLayout) view.findViewById(R.id.loading);
- loading.setVisibility(View.VISIBLE);
-
- adapter = new ProjectAdaptor(this.getActivity().getBaseContext(),
- R.layout.adaptor_project, p_project_displayed, getActivity());
-
- listeProjets.setAdapter(adapter);
- swipeView = (SwipeRefreshLayout) view.findViewById(R.id.refresher);
- swipeView.setVisibility(View.GONE);
- swipeView.setEnabled(false);
-
- swipeView.setColorScheme(R.color.blue, R.color.green, R.color.yellow,
- R.color.red);
- swipeView
- .setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- //swipeView.setRefreshing(true);
- //reload();
- fragmentReload();
- }
-
- });
-
- listeProjets.setOnItemClickListener(new OnItemClickListener() {
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
- FragmentTransaction ft = getFragmentManager().beginTransaction();
- ft.setCustomAnimations(R.anim.fade_enter, R.anim.fade_exit);
- Bundle bundle = new Bundle();
- bundle.putString("idProject", p_project_displayed.get(position).getResourceId());
-
- Fragment fragment = new ProjectPagerFragment();
- fragment.setArguments(bundle);
- ft.addToBackStack(null);
- fragment.setHasOptionsMenu(true);
- ft.replace(R.id.content_frame, fragment);
- ft.commit();
-
- }
- });
-
- listeProjets.setOnScrollListener(new AbsListView.OnScrollListener() {
- @Override
- public void onScrollStateChanged(AbsListView absListView, int i) {
-
- }
-
- @Override
- public void onScroll(AbsListView absListView, int firstVisibleItem,
- int visibleItemCount, int totalItemCount) {
- if (firstVisibleItem == 0)
- swipeView.setEnabled(true);
- else
- swipeView.setEnabled(false);
- }
- });
- reload();
- return view;
-
- }
-
- public void refresh() {
- adapter.clear();
- adapter.addAll(p_project_displayed);
- adapter.notifyDataSetChanged();
- swipeView.setRefreshing(false);
- loading.setVisibility(View.GONE);
- swipeView.setVisibility(View.VISIBLE);
-
- }
-
- @Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-
- try{
- menu.clear();
- }catch(Exception e){
- e.printStackTrace();
- }
- inflater.inflate(R.menu.menu_main, menu);
- super.onCreateOptionsMenu(menu, inflater);
- }
-
-
- @Override
- public void onPrepareOptionsMenu(Menu menu) {
-
- }
-
- public String getByRessource(int ressource){
- return this.getResources().getString(ressource);
- }
-
- public void sort() {
- ArrayAdapter<String> adapter = null;
-
- if (Share.position == null) {
- String names[] = { getByRessource(R.string.biggest_project), getByRessource(R.string.smallest_project),
- getByRessource(R.string.most_avanced) };
- adapter = new ArrayAdapter<String>(getActivity(),
- android.R.layout.simple_list_item_1, names);
- } else {
- String names[] = {getByRessource(R.string.biggest_project), getByRessource(R.string.smallest_project),
- getByRessource(R.string.most_avanced), getByRessource(R.string.closest)};
- adapter = new ArrayAdapter<String>(getActivity(),
- android.R.layout.simple_list_item_1, names);
- }
- AlertDialog.Builder alertDialog = new AlertDialog.Builder(
- getActivity());
- LayoutInflater inflater = getActivity().getLayoutInflater();
- View convertView = (View) inflater.inflate(R.layout.listeview, null);
- alertDialog.setView(convertView);
- alertDialog.setTitle(getByRessource(R.string.sort_by));
- ListView lv = (ListView) convertView.findViewById(R.id.liste);
-
- lv.setAdapter(adapter);
- final AlertDialog dialog = alertDialog.create();
- lv.setOnItemClickListener(new OnItemClickListener() {
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
-
- switch (position) {
- case 0:
- p_project_displayed = sync.sortByRequestingProjectMaxToMin();
- refresh();
- dialog.dismiss();
-
- break;
- case 1:
- p_project_displayed = sync.sortByRequestingProjectMinToMax();
- refresh();
- dialog.dismiss();
- break;
- case 2:
- p_project_displayed = sync.sortByAlmostFunded();
- refresh();
- dialog.dismiss();
- break;
- case 3:
- p_project_displayed = sync.sortByProximity();
- refresh();
- dialog.dismiss();
- break;
-
- }
- }
- });
-
- dialog.show();
-
- }
-
- public void reload() {
- sync = SyncServerToLocal.getInstance();
- sync.sync(new HoldAllToDo<Project>() {
- @Override
- public void holdAll(ArrayList<Project> projects) {
- ArrayList<Project> allSync = new ArrayList<Project>(sync
- .restrictToValidatedProjects());
- p_project_displayed = allSync;
-
- refresh();
-
- }
- });
- }
-
- public void search(MenuItem searchItem) {
-
- SearchView searchView = (SearchView) searchItem.getActionView();
- SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
- if (null != searchManager) {
- searchView.setSearchableInfo(searchManager
- .getSearchableInfo(getActivity().getComponentName()));
- }
- searchView.setIconifiedByDefault(true);
- searchView.setOnCloseListener(new OnCloseListener() {
-
- @Override
- public boolean onClose() {
- p_project_displayed = new ArrayList<Project>(sync.getProjects());
- refresh();
- return false;
- }
-
- });
-
- searchView.setOnQueryTextListener(new OnQueryTextListener() {
-
- public boolean onQueryTextSubmit(String query) {
-
- p_project_displayed = sync.searchInName(query);
- refresh();
-
- return false;
- }
-
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
-
- });
-
- }
-
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
-
- switch (item.getItemId()) {
- case R.id.action_search:
- search(item);
- break;
- case R.id.action_sort:
- sort();
- break;
- default:
- return super.onOptionsItemSelected(item);
- }
- return true;
- }
-
- public void fragmentReload(){
-
- sync = SyncServerToLocal.getInstance();
- sync.forceSyncAll(new HoldAllToDo<Project>() {
- @Override
- public void holdAll(ArrayList<Project> projects) {
-
- ArrayList<Project> allSync = new ArrayList<Project>(sync
- .restrictToValidatedProjects());
- p_project_displayed = allSync;
-
- refresh();
-
- }
- });
- }
-
-}
\ No newline at end of file