From 15c33061c313615e1817ae2f92195d69ba2da87b Mon Sep 17 00:00:00 2001 From: geraugu Date: Fri, 24 Jul 2015 00:12:33 -0300 Subject: [PATCH] home e avaliacao de vereador implementado --- app/build.gradle | 6 +++--- app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java | 6 ++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/ComentarioActivity.java | 3 +-- app/src/main/java/com/monitorabrasil/monitoralegislativo/MainActivity.java | 2 +- app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticoFichaActivity.java | 5 ++--- app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticosActivity.java | 6 ++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/ProjetosActivity.java | 21 +++++++++++++++++++-- app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/ProjetoAdapter.java | 7 +++---- app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/TipoProjetoAdapter.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/EscolhaTipoProjeto.java | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java | 21 +++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java | 1 + app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/HomeFragment.java | 52 ++++++++++++++++++++++++---------------------------- app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/ListaProjetosFragment.java | 41 ++++++++++++++++++++++++++++++++++++----- app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java | 64 +++++++++++++++++++++++++++++++++++++++++++--------------------- app/src/main/res/layout/fragment_escolha_tipo_projeto.xml | 26 ++++++++++++++++++++++++++ app/src/main/res/layout/fragment_home.xml | 2 +- app/src/main/res/layout/fragment_lista_projetos.xml | 4 +--- app/src/main/res/layout/item_projeto.xml | 6 ++++++ app/src/main/res/layout/item_tipo_projeto.xml | 17 +++++++++++++++++ app/src/main/res/values/strings.xml | 3 +++ build/intermediates/gradle_project_sync_data.bin | Bin 590 -> 0 bytes 22 files changed, 476 insertions(+), 73 deletions(-) create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/TipoProjetoAdapter.java create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/EscolhaTipoProjeto.java create mode 100644 app/src/main/res/layout/fragment_escolha_tipo_projeto.xml create mode 100644 app/src/main/res/layout/item_tipo_projeto.xml diff --git a/app/build.gradle b/app/build.gradle index 1a2193f..d374379 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,8 +24,8 @@ android { applicationId "com.monitorabrasil.monitoramunicipio" minSdkVersion 16 targetSdkVersion 22 - versionCode 8 - versionName "0.8" + versionCode 10 + versionName "0.8.2" } buildTypes { release { @@ -43,7 +43,7 @@ dependencies { transitive = true } compile fileTree(dir: 'libs', include: 'Parse-*.jar') - compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') { + compile('com.crashlytics.sdk.android:crashlytics:2.5.0@aar') { transitive = true; } compile 'com.android.support:appcompat-v7:22.2.0' diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java index 6ce306a..566ce62 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java @@ -8,6 +8,8 @@ import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import com.crashlytics.android.answers.Answers; +import com.crashlytics.android.answers.ContentViewEvent; import com.monitorabrasil.monitoralegislativo.R; import com.monitorabrasil.monitoralegislativo.fragments.GastosCamaraFragment; @@ -18,6 +20,10 @@ public class CamaraActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camara); + Answers.getInstance().logContentView(new ContentViewEvent() + .putContentName("CamaraActivity") + .putContentType("Activity")); + GastosCamaraFragment frag = (GastosCamaraFragment) getSupportFragmentManager().findFragmentByTag("gastosCamaraFrag"); if(frag == null) { frag = new GastosCamaraFragment(); diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/ComentarioActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/ComentarioActivity.java index 053594e..820ff2f 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/ComentarioActivity.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/ComentarioActivity.java @@ -108,10 +108,9 @@ public class ComentarioActivity extends AppCompatActivity { LinearLayoutManager llm = new LinearLayoutManager(this); llm.setOrientation(LinearLayoutManager.VERTICAL); + llm.setReverseLayout(true); mRecyclerView.setLayoutManager(llm); - - } private ParseObject buscaPolitico(String id) { diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/MainActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/MainActivity.java index 19ea827..f292ad1 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/MainActivity.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/MainActivity.java @@ -178,7 +178,7 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr new PrimaryDrawerItem().withName("Home"), new DividerDrawerItem(), new PrimaryDrawerItem().withName("Vereadores"), - new SecondaryDrawerItem().withName("Projetos"), + new SecondaryDrawerItem().withName("Indicações"), new SecondaryDrawerItem().withName("Câmara") ) .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticoFichaActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticoFichaActivity.java index 50eb0a0..992134c 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticoFichaActivity.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticoFichaActivity.java @@ -93,11 +93,10 @@ public class PoliticoFichaActivity extends AppCompatActivity { adapter.addFragment(gastos, "Gastos"); //projetos - ListaProjetosFragment listaProjetosFragment = new ListaProjetosFragment(); - listaProjetosFragment.setArguments(getIntent().getExtras()); + ListaProjetosFragment listaProjetosFragment = ListaProjetosFragment.newInstance(null,idPolitico); + // listaProjetosFragment.setArguments(getIntent().getExtras()); adapter.addFragment(listaProjetosFragment, "Projetos"); - //adapter.addFragment(new CheeseListFragment(), "Category 3"); viewPager.setAdapter(adapter); viewPager.getAdapter().notifyDataSetChanged(); diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticosActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticosActivity.java index ea477f5..4ca1088 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticosActivity.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticosActivity.java @@ -8,6 +8,8 @@ import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import com.crashlytics.android.answers.Answers; +import com.crashlytics.android.answers.ContentViewEvent; import com.monitorabrasil.monitoralegislativo.R; import com.monitorabrasil.monitoralegislativo.fragments.ListaPoliticoFragment; @@ -18,6 +20,10 @@ public class PoliticosActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_politicos); + Answers.getInstance().logContentView(new ContentViewEvent() + .putContentName("PoliticosActivity") + .putContentType("Activity")); + ListaPoliticoFragment frag = (ListaPoliticoFragment) getSupportFragmentManager().findFragmentByTag("listaPoliticoFrag"); if(frag == null) { frag = new ListaPoliticoFragment(); diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/ProjetosActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/ProjetosActivity.java index 844f2eb..56f6535 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/ProjetosActivity.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/ProjetosActivity.java @@ -7,7 +7,10 @@ import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import com.crashlytics.android.answers.Answers; +import com.crashlytics.android.answers.ContentViewEvent; import com.monitorabrasil.monitoralegislativo.R; +import com.monitorabrasil.monitoralegislativo.fragments.EscolhaTipoProjeto; import com.monitorabrasil.monitoralegislativo.fragments.ListaPoliticoFragment; import com.monitorabrasil.monitoralegislativo.fragments.ListaProjetosFragment; @@ -17,13 +20,27 @@ public class ProjetosActivity extends ActionBarActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_projetos); - ListaProjetosFragment frag = (ListaProjetosFragment) getSupportFragmentManager().findFragmentByTag("listaProjFrag"); + + + Answers.getInstance().logContentView(new ContentViewEvent() + .putContentName("ProjetosActivity") + .putContentType("Activity")); + + EscolhaTipoProjeto frag = (EscolhaTipoProjeto) getSupportFragmentManager().findFragmentByTag("listaTipoProjFrag"); + if(frag == null) { + frag = new EscolhaTipoProjeto(); + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + ft.replace(R.id.rl_fragment_container, frag, "listaTipoProjFrag"); + ft.commit(); + } + + /*ListaProjetosFragment frag = (ListaProjetosFragment) getSupportFragmentManager().findFragmentByTag("listaProjFrag"); if(frag == null) { frag = new ListaProjetosFragment(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.rl_fragment_container, frag, "listaProjFrag"); ft.commit(); - } + }*/ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/ProjetoAdapter.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/ProjetoAdapter.java index 677e9e2..5831ac7 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/ProjetoAdapter.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/ProjetoAdapter.java @@ -40,9 +40,6 @@ public class ProjetoAdapter extends RecyclerView.Adapter { + + private List mDataset; + private RecyclerViewOnClickListenerHack mRecyclerViewOnClickListenerHack; + private FragmentActivity mActivity; + int[] cores = new int[]{R.color.cor1, R.color.cor2,R.color.cor3, R.color.cor4,R.color.cor5, R.color.cor6, + R.color.cor7, R.color.cor8,R.color.cor9, R.color.cor10}; + + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ + // each data item is just a string in this case + + public TextView txtTipoProjeto; + public ParseObject tipoProjeto; + + public ViewHolder(View v) { + super(v); + txtTipoProjeto = (TextView) v.findViewById(R.id.txtTipoProjeto); + itemView.setOnClickListener(this); + } + + @Override + public void onClick(View v) { + if(mRecyclerViewOnClickListenerHack != null){ + mRecyclerViewOnClickListenerHack.onClickListener(v, getPosition()); + } + } + } + + public TipoProjetoAdapter(List myDataset, FragmentActivity activity) { + mDataset = myDataset; + mActivity = activity; + } + + @Override + public TipoProjetoAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { + // create a new view + View v = LayoutInflater.from(viewGroup.getContext()) + .inflate(R.layout.item_tipo_projeto, viewGroup, false); + // set the view's size, margins, paddings and layout parameter + ViewHolder vh = new ViewHolder(v); + return vh; + } + + @Override + public void onBindViewHolder(final ViewHolder viewHolder, int i) { + + final ParseObject tipoProjeto = mDataset.get(i); + viewHolder.tipoProjeto = tipoProjeto; + + viewHolder.txtTipoProjeto.setText(tipoProjeto.getString("nome")); + int posCor=i; + if(i > 19) + posCor = i-20; + else + if(i > 9) + posCor = i-10; + + viewHolder.txtTipoProjeto.setBackgroundResource(cores[posCor]); + } + + + public void setRecyclerViewOnClickListenerHack(RecyclerViewOnClickListenerHack r){ + mRecyclerViewOnClickListenerHack = r; + } + + @Override + public int getItemCount() { + return mDataset.size(); + } + + public String getItem(int i){ + return mDataset.get(i).getString("nome"); + } +} diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/EscolhaTipoProjeto.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/EscolhaTipoProjeto.java new file mode 100644 index 0000000..a1efab0 --- /dev/null +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/EscolhaTipoProjeto.java @@ -0,0 +1,164 @@ +package com.monitorabrasil.monitoralegislativo.fragments; + +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentTransaction; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.monitorabrasil.monitoralegislativo.R; +import com.monitorabrasil.monitoralegislativo.adapters.TipoProjetoAdapter; +import com.monitorabrasil.monitoralegislativo.interfaces.RecyclerViewOnClickListenerHack; +import com.parse.FindCallback; +import com.parse.ParseObject; +import com.parse.ParseQuery; + +import java.util.List; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link EscolhaTipoProjeto.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link EscolhaTipoProjeto#newInstance} factory method to + * create an instance of this fragment. + */ +public class EscolhaTipoProjeto extends Fragment implements RecyclerViewOnClickListenerHack { + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + private RecyclerView mRecyclerView; + private TipoProjetoAdapter mAdapter; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + private OnFragmentInteractionListener mListener; + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment EscolhaTipoProjeto. + */ + // TODO: Rename and change types and number of parameters + public static EscolhaTipoProjeto newInstance(String param1, String param2) { + EscolhaTipoProjeto fragment = new EscolhaTipoProjeto(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + public EscolhaTipoProjeto() { + // Required empty public constructor + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_escolha_tipo_projeto, container, false); + + //tableview + mRecyclerView = (RecyclerView) view.findViewById(R.id.rv_escolha_tipo); + + // use this setting to improve performance if you know that changes + // in content do not change the layout size of the RecyclerView + mRecyclerView.setHasFixedSize(true); + + GridLayoutManager llm = new GridLayoutManager(getActivity(),2,GridLayoutManager.VERTICAL, false); + mRecyclerView.setLayoutManager(llm); + + //busca os tipos de projetos + buscaTiposProjetos(); + + return view; + } + + private void buscaTiposProjetos() { + ParseQuery query = ParseQuery.getQuery("TipoProjeto"); + query.addAscendingOrder("nome"); + query.findInBackground(new FindCallback() { + @Override + public void done(List list, com.parse.ParseException e) { + if (e == null) { + carregaList(list); + } else { + Log.d("score", "Error: " + e.getMessage()); + } + } + + + }); + } + + private void carregaList(List list) { + mAdapter = new TipoProjetoAdapter(list,getActivity()); + mAdapter.setRecyclerViewOnClickListenerHack(this); + mRecyclerView.setAdapter(mAdapter); + //pb.setVisibility(View.INVISIBLE); + } + + @Override + public void onClickListener(View view, int position) { + ListaProjetosFragment frag = (ListaProjetosFragment) getActivity().getSupportFragmentManager().findFragmentByTag("listaProjFrag"); + if(frag == null) { + frag = ListaProjetosFragment.newInstance(mAdapter.getItem(position),null); + FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); + ft.replace(R.id.rl_fragment_container, frag, "listaProjFrag"); + ft.addToBackStack(null); + ft.commit(); + } + + } + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed(Uri uri) { + if (mListener != null) { + mListener.onFragmentInteraction(uri); + } + } + + + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + public void onFragmentInteraction(Uri uri); + } + +} diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java index 8d42822..e4b957a 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java @@ -244,6 +244,27 @@ public class GastosCamaraFragment extends Fragment { case "MAI": ret=4; break; + case "JUN": + ret=5; + break; + case "JUL": + ret=6; + break; + case "AGO": + ret=7; + break; + case "SET": + ret=8; + break; + case "OUT": + ret=9; + break; + case "NOV": + ret=10; + break; + case "DEZ": + ret=11; + break; } return ret; diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java index d63f290..642c783 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java @@ -142,6 +142,7 @@ public class GastosFragment extends Fragment { ParseQuery query = ParseQuery.getQuery("Verba"); query.whereEqualTo("politico",politico); + query.orderByAscending("createdAt"); query.findInBackground(new FindCallback() { public void done(List gastos, ParseException e) { Iterator gastoIt = gastos.iterator(); diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/HomeFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/HomeFragment.java index 8f7dca4..46d5616 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/HomeFragment.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/HomeFragment.java @@ -122,39 +122,35 @@ public class HomeFragment extends Fragment implements RecyclerViewOnClickListene query.addAscendingOrder("mes_numero"); query.findInBackground(new FindCallback() { public void done(List gastos, ParseException e) { + if(null != gastos){ + Iterator gastoIt = gastos.iterator(); + + while (gastoIt.hasNext()) { + + ParseObject g = gastoIt.next(); + String mes = g.getString("mes"); + Float novoValor = Float.valueOf(g.getString("valor")); + Float valor = valorTotal.get(mes); + if (valor != null) { + valor = valor + novoValor; + valorTotal.remove(mes); + valorTotal.put(mes, valor); + } else { + valorTotal.put(mes, novoValor); + } + if (!xVals.contains(mes)) { + xVals.add(mes); + } - Iterator gastoIt = gastos.iterator(); - - while (gastoIt.hasNext()) { - - ParseObject g = gastoIt.next(); - String mes = g.getString("mes"); - Float novoValor = Float.valueOf(g.getString("valor")); - Float valor = valorTotal.get(mes); - if (valor != null) { - valor = valor + novoValor; - valorTotal.remove(mes); - valorTotal.put(mes, valor); - } else { - valorTotal.put(mes, novoValor); } - if (!xVals.contains(mes)) { - xVals.add(mes); + for (int j = 0; j < xVals.size(); j++) { + Float val = valorTotal.get(xVals.get(j)); + yVals1.add(new BarEntry(val, j)); } - - // - - - } - for (int j = 0; j < xVals.size(); j++) { - Float val = valorTotal.get(xVals.get(j)); - yVals1.add(new BarEntry(val, j)); + Grafico grafico = new Grafico("Todos", yVals1, xVals, R.color.cor10); + buildGraph(grafico); } - Grafico grafico = new Grafico("Todos", yVals1, xVals, R.color.cor10); - buildGraph(grafico); -// pb.setVisibility(View.INVISIBLE); - // setData(); } }); diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/ListaProjetosFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/ListaProjetosFragment.java index aae1154..e6d8d86 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/ListaProjetosFragment.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/ListaProjetosFragment.java @@ -32,6 +32,32 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli private ProjetoAdapter mAdapter; private List ob; private ProgressBar pb; + private static final String TIPO_PROJETO = "tipoProjeto"; + private static final String ID_POLITICO = "idPolitico"; + private String tipoProjeto; + private String idPolitico; + + + public static ListaProjetosFragment newInstance(String tipoProjeto, String idPolitico) { + ListaProjetosFragment fragment = new ListaProjetosFragment(); + Bundle args = new Bundle(); + args.putString(TIPO_PROJETO, tipoProjeto); + args.putString(ID_POLITICO, idPolitico); + fragment.setArguments(args); + return fragment; + } + public ListaProjetosFragment(){ + + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + tipoProjeto = getArguments().getString(TIPO_PROJETO); + idPolitico = getArguments().getString(ID_POLITICO); + } + } @Override @@ -39,6 +65,7 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_lista_projetos, container, false); + // View view = inflater.inflate(R.layout.fragment_escolha_tipo_projeto, container, false); pb = (ProgressBar) view.findViewById(R.id.progressBar); @@ -61,11 +88,15 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli public void buscaProjetos(){ ParseQuery query = ParseQuery.getQuery("Projeto"); query.addDescendingOrder("createdAt"); - Bundle bundle = getArguments(); - if(bundle != null){ - if(bundle.get("politico") != null){ - query.whereEqualTo("politico", buscaPolitico(bundle.getString("politico"))); - } + + if(idPolitico!= null){ + + query.whereEqualTo("politico", buscaPolitico(idPolitico)); + + } + + if(tipoProjeto != null){ + query.whereEqualTo("classificacao", tipoProjeto); } diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java index 44c6e00..cb2fd47 100644 --- a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java @@ -3,6 +3,7 @@ package com.monitorabrasil.monitoralegislativo.fragments; import android.content.DialogInterface; import android.graphics.PorterDuff; import android.graphics.drawable.LayerDrawable; +import android.os.Build; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.support.v4.app.Fragment; @@ -15,12 +16,16 @@ import android.widget.ImageView; import android.widget.RatingBar; import android.widget.TextView; +import com.crashlytics.android.answers.Answers; +import com.crashlytics.android.answers.ContentViewEvent; import com.monitorabrasil.monitoralegislativo.R; import com.monitorabrasil.monitoralegislativo.application.MyApp; import com.monitorabrasil.monitoralegislativo.dialogs.DialogAvaliacao; +import com.parse.Parse; import com.parse.ParseException; import com.parse.ParseObject; import com.parse.ParseQuery; +import com.parse.ParseUser; /** * Created by geral_000 on 20/06/2015. @@ -38,6 +43,9 @@ public class PoliticoFichaFragment extends Fragment { ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_politico_detalhe, container, false); + + + mView=view; mRatingBar = (RatingBar)view.findViewById(R.id.ratingBar); @@ -48,36 +56,50 @@ public class PoliticoFichaFragment extends Fragment { Bundle bundle = getArguments(); politico = buscaPolitico(bundle.getString("politico")) ; + Answers.getInstance().logContentView(new ContentViewEvent() + .putContentName("PoliticoFichaFragment") + .putContentType("Fragment") + .putCustomAttribute("vereador",politico.getString("nome"))); + + mRatingBar.setRating((float) politico.getDouble("avaliacao")); - LayerDrawable stars = (LayerDrawable) mRatingBar.getProgressDrawable(); - stars.getDrawable(2).setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_ATOP); - stars.getDrawable(1).setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_ATOP); - stars.getDrawable(0).setColorFilter(getResources().getColor(R.color.coloLink), PorterDuff.Mode.SRC_ATOP); + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ + LayerDrawable stars = (LayerDrawable) mRatingBar.getProgressDrawable(); + stars.getDrawable(2).setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_ATOP); + stars.getDrawable(1).setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_ATOP); + stars.getDrawable(0).setColorFilter(getResources().getColor(R.color.coloLink), PorterDuff.Mode.SRC_ATOP); + } + //btnAvaliar btnAvaliar = (Button) view.findViewById(R.id.btnAvalie); btnAvaliar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { - DialogAvaliacao avaliacao =new DialogAvaliacao(politico, "Avalie"); - - avaliacao.setOnDismissListener(new DialogInterface.OnDismissListener() { - @Override - public void onDismiss(DialogInterface dialog) { - //atualizar a avaliacao - try { - politico.fetchFromLocalDatastore(); - mRatingBar.setRating((float) politico.getDouble("avaliacao")); - Snackbar.make(v, "Avaliação salva.", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } catch (ParseException e) { - e.printStackTrace(); - } - + if(ParseUser.getCurrentUser() != null){ + DialogAvaliacao avaliacao =new DialogAvaliacao(politico, "Avalie"); + avaliacao.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + //atualizar a avaliacao + try { + politico.fetchFromLocalDatastore(); + mRatingBar.setRating((float) politico.getDouble("avaliacao")); + Snackbar.make(v, "Avaliação salva.", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } catch (ParseException e) { + e.printStackTrace(); } - }); - avaliacao.show(getActivity().getFragmentManager(), "dialogAvaliar"); + + } + }); + avaliacao.show(getActivity().getFragmentManager(), "dialogAvaliar"); + }else{ + Snackbar.make(v, "É necessário logar para avaliar.", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + } }); diff --git a/app/src/main/res/layout/fragment_escolha_tipo_projeto.xml b/app/src/main/res/layout/fragment_escolha_tipo_projeto.xml new file mode 100644 index 0000000..044f73a --- /dev/null +++ b/app/src/main/res/layout/fragment_escolha_tipo_projeto.xml @@ -0,0 +1,26 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index f8ac4cc..a5796ff 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -28,7 +28,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="@style/Base.TextAppearance.Widget.AppCompat.Toolbar.Subtitle" - android:text="Ranking" + android:text="Avaliação de usuários - ranking" android:id="@+id/textView4" android:paddingTop="8dp" android:paddingLeft="16dp" diff --git a/app/src/main/res/layout/fragment_lista_projetos.xml b/app/src/main/res/layout/fragment_lista_projetos.xml index 9d8e094..ac5b5e2 100644 --- a/app/src/main/res/layout/fragment_lista_projetos.xml +++ b/app/src/main/res/layout/fragment_lista_projetos.xml @@ -1,8 +1,6 @@ + android:layout_height="match_parent"> + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 11ce4c3..f978947 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -19,5 +19,8 @@ Não Apoio ComentarioActivity + + Hello blank fragment + diff --git a/build/intermediates/gradle_project_sync_data.bin b/build/intermediates/gradle_project_sync_data.bin index 1dda6ca..ea5eb0e 100644 Binary files a/build/intermediates/gradle_project_sync_data.bin and b/build/intermediates/gradle_project_sync_data.bin differ -- libgit2 0.21.2