Commit 8071edb3bd024589708c0d1dc4c3712ceb8f253a
Committed by
geraldo morais
1 parent
eb442e62
Exists in
master
Refactoring de políticos e projetos
Showing
15 changed files
with
548 additions
and
238 deletions
Show diff stats
app/src/main/java/com/monitorabrasil/participacidadao/actions/ActionsCreator.java
1 | 1 | package com.monitorabrasil.participacidadao.actions; |
2 | 2 | |
3 | +import com.crashlytics.android.answers.Answers; | |
4 | +import com.crashlytics.android.answers.ContentViewEvent; | |
3 | 5 | import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; |
6 | +import com.parse.FindCallback; | |
4 | 7 | import com.parse.LogInCallback; |
5 | 8 | import com.parse.LogOutCallback; |
6 | 9 | import com.parse.ParseFile; |
10 | +import com.parse.ParseObject; | |
11 | +import com.parse.ParseQuery; | |
7 | 12 | import com.parse.ParseUser; |
8 | 13 | import com.parse.ProgressCallback; |
9 | 14 | import com.parse.SignUpCallback; |
10 | 15 | |
16 | +import java.util.List; | |
17 | + | |
11 | 18 | /** |
12 | 19 | * Created by 89741803168 on 13/08/2015. |
13 | 20 | */ |
... | ... | @@ -26,15 +33,82 @@ public class ActionsCreator { |
26 | 33 | return instance; |
27 | 34 | } |
28 | 35 | |
36 | + /***** | |
37 | + * | |
38 | + */ | |
39 | + | |
40 | + public void getAllProjetos(String idPolitico, String tipoProjeto) { | |
41 | + ParseQuery<ParseObject> query = ParseQuery.getQuery("Projeto"); | |
42 | + query.addDescendingOrder("createdAt"); | |
43 | + | |
44 | + if(idPolitico!= null){ | |
45 | + query.whereEqualTo("politico", idPolitico); | |
46 | + } | |
47 | + | |
48 | + if(tipoProjeto != null){ | |
49 | + query.whereEqualTo("classificacao", tipoProjeto); | |
50 | + Answers.getInstance().logContentView(new ContentViewEvent() | |
51 | + .putContentName("ListaProjetosFragment") | |
52 | + .putContentType("Fragment") | |
53 | + .putCustomAttribute("tipoProjeto", tipoProjeto)); | |
54 | + } | |
55 | + query.findInBackground(new FindCallback<ParseObject>() { | |
56 | + @Override | |
57 | + public void done(List<ParseObject> list, com.parse.ParseException e) { | |
58 | + if (e == null) { | |
59 | + dispatcher.dispatch( | |
60 | + ProjetoActions.PROJETO_GET_ALL, | |
61 | + ProjetoActions.KEY_TEXT, list | |
62 | + ); | |
63 | + } else { | |
64 | + dispatcher.dispatch( | |
65 | + ProjetoActions.PROJETO_GET_ALL, | |
66 | + ProjetoActions.KEY_TEXT, "erro" | |
67 | + ); | |
68 | + } | |
69 | + } | |
70 | + | |
71 | + | |
72 | + }); | |
73 | + } | |
74 | + | |
75 | + /* | |
76 | + # ACTIONS DE POLITICOS | |
77 | + **/ | |
78 | + | |
79 | + public void getAllPoliticos(){ | |
80 | + ParseQuery<ParseObject> query = ParseQuery.getQuery("Politico"); | |
81 | + query.addAscendingOrder("nome"); | |
82 | + query.findInBackground(new FindCallback<ParseObject>() { | |
83 | + @Override | |
84 | + public void done(List<ParseObject> list, com.parse.ParseException e) { | |
85 | + if (e == null) { | |
86 | + dispatcher.dispatch( | |
87 | + PoliticoActions.POLITICO_GET_ALL, | |
88 | + PoliticoActions.KEY_TEXT, list | |
89 | + ); | |
90 | + } else { | |
91 | + dispatcher.dispatch( | |
92 | + PoliticoActions.POLITICO_GET_ALL, | |
93 | + PoliticoActions.KEY_TEXT, "erro" | |
94 | + ); | |
95 | + } | |
96 | + } | |
97 | + | |
98 | + | |
99 | + }); | |
100 | + } | |
101 | + | |
102 | + /* | |
103 | + # ACTIONS DE USUARIOS | |
104 | + **/ | |
105 | + | |
29 | 106 | /** |
30 | 107 | * Actions do usuario - logar |
31 | 108 | * @param inputUsuario |
32 | 109 | * @param inputSenha |
33 | 110 | */ |
34 | - | |
35 | 111 | public void logar(String inputUsuario, String inputSenha){ |
36 | - | |
37 | - | |
38 | 112 | ParseUser.logInInBackground(inputUsuario, inputSenha, new LogInCallback() { |
39 | 113 | |
40 | 114 | @Override |
... | ... | @@ -72,7 +146,13 @@ public class ActionsCreator { |
72 | 146 | }); |
73 | 147 | } |
74 | 148 | |
75 | - | |
149 | + /** | |
150 | + * Actions do usuario - cadastrar | |
151 | + * @param nome | |
152 | + * @param password | |
153 | + * @param email | |
154 | + * @param mParseFile | |
155 | + */ | |
76 | 156 | public void cadastrar(final String nome, final String password, final String email, final ParseFile mParseFile) { |
77 | 157 | mParseFile.saveInBackground(new ProgressCallback() { |
78 | 158 | @Override |
... | ... | @@ -107,4 +187,6 @@ public class ActionsCreator { |
107 | 187 | |
108 | 188 | |
109 | 189 | } |
190 | + | |
191 | + | |
110 | 192 | } | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/actions/PoliticoActions.java
0 → 100644
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.monitorabrasil.participacidadao.actions; | |
2 | + | |
3 | +/** | |
4 | + * Created by Geraldo on 13/08/2015. | |
5 | + */ | |
6 | +public interface PoliticoActions { | |
7 | + String POLITICO_AVALIAR = "politico_avaliar"; | |
8 | + String POLITICO_COMENTAR = "politico_comentar"; | |
9 | + String POLITICO_GET_INFOS = "politico_get_infos"; | |
10 | + String POLITICO_GET_GAST0S = "politico_get_gastos"; | |
11 | + String POLITICO_GET_PROJETOS = "politico_get_projetos"; | |
12 | + String POLITICO_GET_ALL = "politico_get_all"; | |
13 | + | |
14 | + String KEY_TEXT = "key-text"; | |
15 | + String KEY_ID = "key-id"; | |
16 | + | |
17 | + | |
18 | +} | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/actions/ProjetoActions.java
0 → 100644
... | ... | @@ -0,0 +1,14 @@ |
1 | +package com.monitorabrasil.participacidadao.actions; | |
2 | + | |
3 | +/** | |
4 | + * Created by Geraldo on 13/08/2015. | |
5 | + */ | |
6 | +public interface ProjetoActions { | |
7 | + String PROJETO_COMENTAR = "projeto_comentar"; | |
8 | + String PROJETO_GET_ALL = "projeto_get_all"; | |
9 | + | |
10 | + String KEY_TEXT = "key-text"; | |
11 | + String KEY_ID = "key-id"; | |
12 | + | |
13 | + | |
14 | +} | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/stores/PoliticoStore.java
0 → 100644
... | ... | @@ -0,0 +1,75 @@ |
1 | +package com.monitorabrasil.participacidadao.stores; | |
2 | + | |
3 | +import com.monitorabrasil.participacidadao.actions.Action; | |
4 | +import com.monitorabrasil.participacidadao.actions.PoliticoActions; | |
5 | +import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; | |
6 | +import com.parse.ParseObject; | |
7 | +import com.squareup.otto.Subscribe; | |
8 | + | |
9 | +import java.util.ArrayList; | |
10 | +import java.util.List; | |
11 | + | |
12 | +/** | |
13 | + * Created by Geraldo on 13/08/2015. | |
14 | + */ | |
15 | +public class PoliticoStore extends Store{ | |
16 | + | |
17 | + private static PoliticoStore instance; | |
18 | + private String status; | |
19 | + private String evento; | |
20 | + private List<ParseObject> politicos; | |
21 | + | |
22 | + protected PoliticoStore(Dispatcher dispatcher) { | |
23 | + super(dispatcher); | |
24 | + politicos = new ArrayList<>(); | |
25 | + } | |
26 | + | |
27 | + public static PoliticoStore get(Dispatcher dispatcher) { | |
28 | + if (instance == null) { | |
29 | + instance = new PoliticoStore(dispatcher); | |
30 | + } | |
31 | + return instance; | |
32 | + } | |
33 | + | |
34 | + public List<ParseObject> getPoliticos(){ | |
35 | + return politicos; | |
36 | + } | |
37 | + | |
38 | + | |
39 | + @Override | |
40 | + @Subscribe | |
41 | + public void onAction(Action action) { | |
42 | + status = "erro"; | |
43 | + this.evento = action.getType(); | |
44 | + | |
45 | + switch (action.getType()) { | |
46 | + case PoliticoActions.POLITICO_GET_ALL: | |
47 | + politicos = ((List<ParseObject>) action.getData().get(PoliticoActions.KEY_TEXT)); | |
48 | + emitStoreChange(); | |
49 | + break; | |
50 | + | |
51 | + } | |
52 | + } | |
53 | + | |
54 | + @Override | |
55 | + StoreChangeEvent changeEvent() { | |
56 | + UserStoreChangeEvent mUserStoreChangeEvent = new UserStoreChangeEvent(); | |
57 | + mUserStoreChangeEvent.status = this.status; | |
58 | + mUserStoreChangeEvent.evento = this.evento; | |
59 | + return mUserStoreChangeEvent; | |
60 | + } | |
61 | + | |
62 | + | |
63 | + public class UserStoreChangeEvent implements StoreChangeEvent { | |
64 | + private String status; | |
65 | + private String evento; | |
66 | + | |
67 | + public String getEvento() { | |
68 | + return evento; | |
69 | + } | |
70 | + | |
71 | + public String getStatus() { | |
72 | + return status; | |
73 | + } | |
74 | + } | |
75 | +} | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/stores/ProjetoStore.java
0 → 100644
... | ... | @@ -0,0 +1,75 @@ |
1 | +package com.monitorabrasil.participacidadao.stores; | |
2 | + | |
3 | +import com.monitorabrasil.participacidadao.actions.Action; | |
4 | +import com.monitorabrasil.participacidadao.actions.PoliticoActions; | |
5 | +import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; | |
6 | +import com.parse.ParseObject; | |
7 | +import com.squareup.otto.Subscribe; | |
8 | + | |
9 | +import java.util.ArrayList; | |
10 | +import java.util.List; | |
11 | + | |
12 | +/** | |
13 | + * Created by Geraldo on 13/08/2015. | |
14 | + */ | |
15 | +public class ProjetoStore extends Store{ | |
16 | + | |
17 | + private static ProjetoStore instance; | |
18 | + private String status; | |
19 | + private String evento; | |
20 | + private List<ParseObject> projetos; | |
21 | + | |
22 | + protected ProjetoStore(Dispatcher dispatcher) { | |
23 | + super(dispatcher); | |
24 | + projetos = new ArrayList<>(); | |
25 | + } | |
26 | + | |
27 | + public static ProjetoStore get(Dispatcher dispatcher) { | |
28 | + if (instance == null) { | |
29 | + instance = new ProjetoStore(dispatcher); | |
30 | + } | |
31 | + return instance; | |
32 | + } | |
33 | + | |
34 | + public List<ParseObject> getProjetos(){ | |
35 | + return projetos; | |
36 | + } | |
37 | + | |
38 | + | |
39 | + @Override | |
40 | + @Subscribe | |
41 | + public void onAction(Action action) { | |
42 | + status = "erro"; | |
43 | + this.evento = action.getType(); | |
44 | + | |
45 | + switch (action.getType()) { | |
46 | + case PoliticoActions.POLITICO_GET_ALL: | |
47 | + projetos = ((List<ParseObject>) action.getData().get(PoliticoActions.KEY_TEXT)); | |
48 | + emitStoreChange(); | |
49 | + break; | |
50 | + | |
51 | + } | |
52 | + } | |
53 | + | |
54 | + @Override | |
55 | + StoreChangeEvent changeEvent() { | |
56 | + UserStoreChangeEvent mUserStoreChangeEvent = new UserStoreChangeEvent(); | |
57 | + mUserStoreChangeEvent.status = this.status; | |
58 | + mUserStoreChangeEvent.evento = this.evento; | |
59 | + return mUserStoreChangeEvent; | |
60 | + } | |
61 | + | |
62 | + | |
63 | + public class UserStoreChangeEvent implements StoreChangeEvent { | |
64 | + private String status; | |
65 | + private String evento; | |
66 | + | |
67 | + public String getEvento() { | |
68 | + return evento; | |
69 | + } | |
70 | + | |
71 | + public String getStatus() { | |
72 | + return status; | |
73 | + } | |
74 | + } | |
75 | +} | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/stores/UserStore.java
... | ... | @@ -14,8 +14,13 @@ public class UserStore extends Store{ |
14 | 14 | private String status; |
15 | 15 | private String evento; |
16 | 16 | |
17 | + public String getStatus(){ | |
18 | + return status; | |
19 | + } | |
17 | 20 | |
18 | - | |
21 | + public String getEvento(){ | |
22 | + return evento; | |
23 | + } | |
19 | 24 | |
20 | 25 | |
21 | 26 | protected UserStore(Dispatcher dispatcher) { |
... | ... | @@ -53,21 +58,10 @@ public class UserStore extends Store{ |
53 | 58 | @Override |
54 | 59 | StoreChangeEvent changeEvent() { |
55 | 60 | UserStoreChangeEvent mUserStoreChangeEvent = new UserStoreChangeEvent(); |
56 | - mUserStoreChangeEvent.status = this.status; | |
57 | - mUserStoreChangeEvent.evento = this.evento; | |
58 | 61 | return mUserStoreChangeEvent; |
59 | 62 | } |
60 | 63 | |
61 | 64 | public class UserStoreChangeEvent implements StoreChangeEvent { |
62 | - private String status; | |
63 | - private String evento; | |
64 | 65 | |
65 | - public String getEvento() { | |
66 | - return evento; | |
67 | - } | |
68 | - | |
69 | - public String getStatus() { | |
70 | - return status; | |
71 | - } | |
72 | 66 | } |
73 | 67 | } | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/LoginActivity.java
... | ... | @@ -358,16 +358,16 @@ public class LoginActivity extends AppCompatActivity { |
358 | 358 | */ |
359 | 359 | @Subscribe |
360 | 360 | public void onTodoStoreChange(UserStore.UserStoreChangeEvent event) { |
361 | - switch (event.getEvento()) { | |
361 | + switch (userStore.getEvento()) { | |
362 | 362 | case UserActions.USER_CADASTRO: |
363 | - if(event.getStatus().equals("erro")){ | |
363 | + if(userStore.getStatus().equals("erro")){ | |
364 | 364 | showProgress(false); |
365 | - Snackbar.make(form, "Houve um erro ao fazer seu cadastro ", Snackbar.LENGTH_LONG) | |
365 | + Snackbar.make(form, "Houve um erro ao fazer seu cadastro", Snackbar.LENGTH_LONG) | |
366 | 366 | .setAction("Action", null).show(); |
367 | 367 | } |
368 | 368 | break; |
369 | 369 | case UserActions.USER_LOGAR: |
370 | - if(event.getStatus().equals("erro")){ | |
370 | + if(userStore.getStatus().equals("erro")){ | |
371 | 371 | showProgress(false); |
372 | 372 | Snackbar.make(form, "Houve um erro ao fazer o login", Snackbar.LENGTH_LONG) |
373 | 373 | .setAction("Action", null).show(); | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/PoliticosActivity.java
... | ... | @@ -23,9 +23,9 @@ public class PoliticosActivity extends AppCompatActivity { |
23 | 23 | .putContentName("PoliticosActivity") |
24 | 24 | .putContentType("Activity")); |
25 | 25 | |
26 | - ListaPoliticoFragment frag = (ListaPoliticoFragment) getSupportFragmentManager().findFragmentByTag("listaPoliticoFrag"); | |
26 | + ListaPoliticoFragment frag = (ListaPoliticoFragment) getSupportFragmentManager().findFragmentByTag("listaPoliticoFrag"); | |
27 | 27 | if(frag == null) { |
28 | - frag = new ListaPoliticoFragment(); | |
28 | + frag = ListaPoliticoFragment.newInstance(); | |
29 | 29 | FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); |
30 | 30 | ft.replace(R.id.rl_fragment_container, frag, "listaPoliticoFrag"); |
31 | 31 | ft.commit(); |
... | ... | @@ -34,7 +34,7 @@ public class PoliticosActivity extends AppCompatActivity { |
34 | 34 | Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
35 | 35 | setSupportActionBar(toolbar); |
36 | 36 | |
37 | - // toolbar.setNavigationIcon(R.drawable.ic_good); | |
37 | + // toolbar.setNavigationIcon(R.drawable.ic_good); | |
38 | 38 | toolbar.setTitle("Vereadores"); |
39 | 39 | toolbar.setSubtitle("Ouro Branco - MG"); |
40 | 40 | |
... | ... | @@ -42,7 +42,7 @@ public class PoliticosActivity extends AppCompatActivity { |
42 | 42 | toolbar.setSubtitleTextColor(getResources().getColor(R.color.md_white_1000)); |
43 | 43 | setSupportActionBar(toolbar); |
44 | 44 | getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
45 | - // toolbar.setLogo(R.drawable.ic_launcher); | |
45 | + // toolbar.setLogo(R.drawable.ic_launcher); | |
46 | 46 | } |
47 | 47 | |
48 | 48 | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/adapters/PoliticoAdapter.java
0 → 100644
... | ... | @@ -0,0 +1,94 @@ |
1 | +package com.monitorabrasil.participacidadao.view.adapters; | |
2 | + | |
3 | +import android.support.v7.widget.RecyclerView; | |
4 | +import android.view.LayoutInflater; | |
5 | +import android.view.View; | |
6 | +import android.view.ViewGroup; | |
7 | +import android.widget.ImageView; | |
8 | +import android.widget.RatingBar; | |
9 | +import android.widget.TextView; | |
10 | + | |
11 | +import com.monitorabrasil.participacidadao.R; | |
12 | +import com.monitorabrasil.participacidadao.actions.ActionsCreator; | |
13 | +import com.monitorabrasil.participacidadao.application.MyApp; | |
14 | +import com.monitorabrasil.participacidadao.view.interfaces.RecyclerViewOnClickListenerHack; | |
15 | +import com.parse.ParseObject; | |
16 | + | |
17 | +import java.util.ArrayList; | |
18 | +import java.util.List; | |
19 | + | |
20 | +/** | |
21 | + * Created by geraugu on 6/7/15. | |
22 | + */ | |
23 | +public class PoliticoAdapter extends RecyclerView.Adapter<PoliticoAdapter.ViewHolder> { | |
24 | + | |
25 | + private static ActionsCreator actionsCreator; | |
26 | + private List<ParseObject> politicos; | |
27 | + private RecyclerViewOnClickListenerHack mRecyclerViewOnClickListenerHack; | |
28 | + | |
29 | + public PoliticoAdapter(ActionsCreator actionsCreator) { | |
30 | + politicos = new ArrayList<>(); | |
31 | + PoliticoAdapter.actionsCreator = actionsCreator; | |
32 | + } | |
33 | + | |
34 | + @Override | |
35 | + public PoliticoAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { | |
36 | + // create a new view | |
37 | + View v = LayoutInflater.from(viewGroup.getContext()) | |
38 | + .inflate(R.layout.item_politico, viewGroup, false); | |
39 | + // set the view's size, margins, paddings and layout parameter | |
40 | + ViewHolder vh = new ViewHolder(v); | |
41 | + return vh; | |
42 | + } | |
43 | + public void setRecyclerViewOnClickListenerHack(RecyclerViewOnClickListenerHack r){ | |
44 | + mRecyclerViewOnClickListenerHack = r; | |
45 | + } | |
46 | + | |
47 | + @Override | |
48 | + public void onBindViewHolder(PoliticoAdapter.ViewHolder viewHolder, int i) { | |
49 | + ParseObject vereador = politicos.get(i); | |
50 | + vereador.pinInBackground(); | |
51 | + viewHolder.mTextView.setText(vereador.get("nome").toString()); | |
52 | + viewHolder.txtPartido.setText(vereador.get("partido").toString()); | |
53 | + viewHolder.rb.setRating((float)vereador.getDouble("avaliacao")); | |
54 | + MyApp.getInstance().getmImagemLoader().displayImage(MyApp.URL_FOTO + vereador.get("cpf") + ".jpg", viewHolder.foto); | |
55 | + | |
56 | + } | |
57 | + | |
58 | + @Override | |
59 | + public int getItemCount() { | |
60 | + return politicos.size(); | |
61 | + } | |
62 | + | |
63 | + public void setItems(List<ParseObject> politicos) { | |
64 | + this.politicos = politicos; | |
65 | + notifyDataSetChanged(); | |
66 | + } | |
67 | + | |
68 | + // Provide a reference to the views for each data item | |
69 | + // Complex data items may need more than one view per item, and | |
70 | + // you provide access to all the views for a data item in a view holder | |
71 | + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ | |
72 | + // each data item is just a string in this case | |
73 | + public TextView mTextView; | |
74 | + public TextView txtPartido; | |
75 | + public ImageView foto; | |
76 | + public RatingBar rb; | |
77 | + public ViewHolder(View v) { | |
78 | + super(v); | |
79 | + mTextView = (TextView) v.findViewById(R.id.txtNome); | |
80 | + txtPartido = (TextView) v.findViewById(R.id.txtPartido); | |
81 | + foto = (ImageView)v.findViewById(R.id.foto); | |
82 | + rb = (RatingBar)v.findViewById(R.id.ratingBar); | |
83 | + | |
84 | + itemView.setOnClickListener(this); | |
85 | + } | |
86 | + | |
87 | + @Override | |
88 | + public void onClick(View v) { | |
89 | + if(mRecyclerViewOnClickListenerHack != null){ | |
90 | + mRecyclerViewOnClickListenerHack.onClickListener(v, getPosition()); | |
91 | + } | |
92 | + } | |
93 | + } | |
94 | +} | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/adapters/ProjetoAdapter.java
... | ... | @@ -16,6 +16,7 @@ import android.widget.Button; |
16 | 16 | import android.widget.TextView; |
17 | 17 | |
18 | 18 | import com.google.gson.Gson; |
19 | +import com.monitorabrasil.participacidadao.actions.ActionsCreator; | |
19 | 20 | import com.monitorabrasil.participacidadao.view.ComentarioActivity; |
20 | 21 | import com.monitorabrasil.participacidadao.R; |
21 | 22 | import com.monitorabrasil.participacidadao.application.MyApp; |
... | ... | @@ -27,6 +28,7 @@ import com.parse.ParseQuery; |
27 | 28 | import com.parse.ParseUser; |
28 | 29 | import com.parse.SaveCallback; |
29 | 30 | |
31 | +import java.util.ArrayList; | |
30 | 32 | import java.util.List; |
31 | 33 | |
32 | 34 | /** |
... | ... | @@ -34,52 +36,20 @@ import java.util.List; |
34 | 36 | */ |
35 | 37 | public class ProjetoAdapter extends RecyclerView.Adapter<ProjetoAdapter.ViewHolder> { |
36 | 38 | |
37 | - private List<ParseObject> mDataset; | |
39 | + private static ActionsCreator actionsCreator; | |
40 | + private List<ParseObject> projetos; | |
38 | 41 | private RecyclerViewOnClickListenerHack mRecyclerViewOnClickListenerHack; |
39 | 42 | private FragmentActivity mActivity; |
40 | 43 | |
41 | - public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ | |
42 | - // each data item is just a string in this case | |
43 | - public ParseObject projetoVotado; | |
44 | - public TextView classificacao; | |
45 | - public TextView data; | |
46 | - public TextView autor; | |
47 | - public TextView descricao; | |
48 | - public TextView numApoio; | |
49 | - public TextView numNaoApoio; | |
50 | - public TextView numero; | |
51 | - public Button btnConcordo; | |
52 | - public Button btnDiscordo; | |
53 | - public Button btnComentar; | |
54 | - public String voto; | |
55 | - public ParseObject projeto; | |
56 | - | |
57 | - public ViewHolder(View v) { | |
58 | - super(v); | |
59 | - classificacao = (TextView) v.findViewById(R.id.classificacao); | |
60 | - data = (TextView) v.findViewById(R.id.data); | |
61 | - autor = (TextView) v.findViewById(R.id.autor); | |
62 | - numApoio = (TextView) v.findViewById(R.id.txtNumApoio); | |
63 | - numNaoApoio = (TextView) v.findViewById(R.id.txtNumNaoApoio); | |
64 | - descricao = (TextView) v.findViewById(R.id.descricao); | |
65 | - btnConcordo = (Button) v.findViewById(R.id.btnConcordo); | |
66 | - btnDiscordo = (Button) v.findViewById(R.id.btnDiscordo); | |
67 | - btnComentar = (Button) v.findViewById(R.id.btnComentar); | |
68 | - numero = (TextView) v.findViewById(R.id.numero); | |
44 | + public ProjetoAdapter(ActionsCreator actionsCreator) { | |
45 | + projetos = new ArrayList<>(); | |
46 | + ProjetoAdapter.actionsCreator = actionsCreator; | |
47 | + } | |
69 | 48 | |
70 | - itemView.setOnClickListener(this); | |
71 | - } | |
72 | 49 | |
73 | - @Override | |
74 | - public void onClick(View v) { | |
75 | - if(mRecyclerViewOnClickListenerHack != null){ | |
76 | - mRecyclerViewOnClickListenerHack.onClickListener(v, getPosition()); | |
77 | - } | |
78 | - } | |
79 | - } | |
80 | 50 | |
81 | 51 | public ProjetoAdapter(List<ParseObject> myDataset, FragmentActivity activity) { |
82 | - mDataset = myDataset; | |
52 | + projetos = myDataset; | |
83 | 53 | mActivity = activity; |
84 | 54 | } |
85 | 55 | |
... | ... | @@ -106,7 +76,7 @@ public class ProjetoAdapter extends RecyclerView.Adapter<ProjetoAdapter.ViewHold |
106 | 76 | viewHolder.btnDiscordo.setEnabled(true); |
107 | 77 | viewHolder.btnConcordo.setEnabled(true); |
108 | 78 | viewHolder.voto = "sem_voto"; |
109 | - final ParseObject projeto = mDataset.get(i); | |
79 | + final ParseObject projeto = projetos.get(i); | |
110 | 80 | viewHolder.projeto = projeto; |
111 | 81 | //verifica se ja votou |
112 | 82 | ParseQuery<ParseObject> query = ParseQuery.getQuery("Voto"); |
... | ... | @@ -286,6 +256,51 @@ public class ProjetoAdapter extends RecyclerView.Adapter<ProjetoAdapter.ViewHold |
286 | 256 | |
287 | 257 | @Override |
288 | 258 | public int getItemCount() { |
289 | - return mDataset.size(); | |
259 | + return projetos.size(); | |
260 | + } | |
261 | + | |
262 | + public void setItems(List<ParseObject> projetos) { | |
263 | + this.projetos = projetos; | |
264 | + notifyDataSetChanged(); | |
265 | + } | |
266 | + | |
267 | + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ | |
268 | + // each data item is just a string in this case | |
269 | + public ParseObject projetoVotado; | |
270 | + public TextView classificacao; | |
271 | + public TextView data; | |
272 | + public TextView autor; | |
273 | + public TextView descricao; | |
274 | + public TextView numApoio; | |
275 | + public TextView numNaoApoio; | |
276 | + public TextView numero; | |
277 | + public Button btnConcordo; | |
278 | + public Button btnDiscordo; | |
279 | + public Button btnComentar; | |
280 | + public String voto; | |
281 | + public ParseObject projeto; | |
282 | + | |
283 | + public ViewHolder(View v) { | |
284 | + super(v); | |
285 | + classificacao = (TextView) v.findViewById(R.id.classificacao); | |
286 | + data = (TextView) v.findViewById(R.id.data); | |
287 | + autor = (TextView) v.findViewById(R.id.autor); | |
288 | + numApoio = (TextView) v.findViewById(R.id.txtNumApoio); | |
289 | + numNaoApoio = (TextView) v.findViewById(R.id.txtNumNaoApoio); | |
290 | + descricao = (TextView) v.findViewById(R.id.descricao); | |
291 | + btnConcordo = (Button) v.findViewById(R.id.btnConcordo); | |
292 | + btnDiscordo = (Button) v.findViewById(R.id.btnDiscordo); | |
293 | + btnComentar = (Button) v.findViewById(R.id.btnComentar); | |
294 | + numero = (TextView) v.findViewById(R.id.numero); | |
295 | + | |
296 | + itemView.setOnClickListener(this); | |
297 | + } | |
298 | + | |
299 | + @Override | |
300 | + public void onClick(View v) { | |
301 | + if(mRecyclerViewOnClickListenerHack != null){ | |
302 | + mRecyclerViewOnClickListenerHack.onClickListener(v, getPosition()); | |
303 | + } | |
304 | + } | |
290 | 305 | } |
291 | 306 | } | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/adapters/VereadorAdapter.java
... | ... | @@ -1,85 +0,0 @@ |
1 | -package com.monitorabrasil.participacidadao.view.adapters; | |
2 | - | |
3 | -import android.support.v7.widget.RecyclerView; | |
4 | -import android.view.LayoutInflater; | |
5 | -import android.view.View; | |
6 | -import android.view.ViewGroup; | |
7 | -import android.widget.ImageView; | |
8 | -import android.widget.RatingBar; | |
9 | -import android.widget.TextView; | |
10 | - | |
11 | -import com.monitorabrasil.participacidadao.R; | |
12 | -import com.monitorabrasil.participacidadao.application.MyApp; | |
13 | -import com.monitorabrasil.participacidadao.view.interfaces.RecyclerViewOnClickListenerHack; | |
14 | -import com.parse.ParseObject; | |
15 | - | |
16 | -import java.util.List; | |
17 | - | |
18 | -/** | |
19 | - * Created by geraugu on 6/7/15. | |
20 | - */ | |
21 | -public class VereadorAdapter extends RecyclerView.Adapter<VereadorAdapter.ViewHolder> { | |
22 | - | |
23 | - private List<ParseObject> mDataset; | |
24 | - private RecyclerViewOnClickListenerHack mRecyclerViewOnClickListenerHack; | |
25 | - | |
26 | - // Provide a reference to the views for each data item | |
27 | - // Complex data items may need more than one view per item, and | |
28 | - // you provide access to all the views for a data item in a view holder | |
29 | - public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ | |
30 | - // each data item is just a string in this case | |
31 | - public TextView mTextView; | |
32 | - public TextView txtPartido; | |
33 | - public ImageView foto; | |
34 | - public RatingBar rb; | |
35 | - public ViewHolder(View v) { | |
36 | - super(v); | |
37 | - mTextView = (TextView) v.findViewById(R.id.txtNome); | |
38 | - txtPartido = (TextView) v.findViewById(R.id.txtPartido); | |
39 | - foto = (ImageView)v.findViewById(R.id.foto); | |
40 | - rb = (RatingBar)v.findViewById(R.id.ratingBar); | |
41 | - | |
42 | - itemView.setOnClickListener(this); | |
43 | - } | |
44 | - | |
45 | - @Override | |
46 | - public void onClick(View v) { | |
47 | - if(mRecyclerViewOnClickListenerHack != null){ | |
48 | - mRecyclerViewOnClickListenerHack.onClickListener(v, getPosition()); | |
49 | - } | |
50 | - } | |
51 | - } | |
52 | - | |
53 | - public VereadorAdapter(List<ParseObject> myDataset) { | |
54 | - mDataset = myDataset; | |
55 | - } | |
56 | - | |
57 | - @Override | |
58 | - public VereadorAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { | |
59 | - // create a new view | |
60 | - View v = LayoutInflater.from(viewGroup.getContext()) | |
61 | - .inflate(R.layout.item_politico, viewGroup, false); | |
62 | - // set the view's size, margins, paddings and layout parameter | |
63 | - ViewHolder vh = new ViewHolder(v); | |
64 | - return vh; | |
65 | - } | |
66 | - public void setRecyclerViewOnClickListenerHack(RecyclerViewOnClickListenerHack r){ | |
67 | - mRecyclerViewOnClickListenerHack = r; | |
68 | - } | |
69 | - | |
70 | - @Override | |
71 | - public void onBindViewHolder(VereadorAdapter.ViewHolder viewHolder, int i) { | |
72 | - ParseObject vereador = mDataset.get(i); | |
73 | - vereador.pinInBackground(); | |
74 | - viewHolder.mTextView.setText(vereador.get("nome").toString()); | |
75 | - viewHolder.txtPartido.setText(vereador.get("partido").toString()); | |
76 | - viewHolder.rb.setRating((float)vereador.getDouble("avaliacao")); | |
77 | - MyApp.getInstance().getmImagemLoader().displayImage(MyApp.URL_FOTO + vereador.get("cpf") + ".jpg", viewHolder.foto); | |
78 | - | |
79 | - } | |
80 | - | |
81 | - @Override | |
82 | - public int getItemCount() { | |
83 | - return mDataset.size(); | |
84 | - } | |
85 | -} |
app/src/main/java/com/monitorabrasil/participacidadao/view/fragments/HomeFragment.java
... | ... | @@ -25,7 +25,7 @@ import com.github.mikephil.charting.data.BarEntry; |
25 | 25 | import com.github.mikephil.charting.utils.ValueFormatter; |
26 | 26 | import com.monitorabrasil.participacidadao.view.PoliticoFichaActivity; |
27 | 27 | import com.monitorabrasil.participacidadao.R; |
28 | -import com.monitorabrasil.participacidadao.view.adapters.VereadorAdapter; | |
28 | +import com.monitorabrasil.participacidadao.view.adapters.PoliticoAdapter; | |
29 | 29 | import com.monitorabrasil.participacidadao.application.MyApp; |
30 | 30 | import com.monitorabrasil.participacidadao.model.Grafico; |
31 | 31 | import com.monitorabrasil.participacidadao.view.interfaces.RecyclerViewOnClickListenerHack; |
... | ... | @@ -53,7 +53,7 @@ public class HomeFragment extends Fragment implements RecyclerViewOnClickListene |
53 | 53 | |
54 | 54 | private OnFragmentInteractionListener mListener; |
55 | 55 | private RecyclerView mRecyclerView; |
56 | - private VereadorAdapter mAdapter; | |
56 | + private PoliticoAdapter mAdapter; | |
57 | 57 | private List<ParseObject> ob; |
58 | 58 | private HashMap<String,Float> valorTotal = new HashMap<String,Float>(); |
59 | 59 | ArrayList<String> xVals = new ArrayList<String>(); |
... | ... | @@ -310,7 +310,7 @@ public class HomeFragment extends Fragment implements RecyclerViewOnClickListene |
310 | 310 | } |
311 | 311 | |
312 | 312 | public void carregaList(List<ParseObject> list){ |
313 | - mAdapter = new VereadorAdapter(list); | |
313 | + mAdapter = new PoliticoAdapter(list); | |
314 | 314 | mAdapter.setRecyclerViewOnClickListenerHack(this); |
315 | 315 | mRecyclerView.setAdapter(mAdapter); |
316 | 316 | //pb.setVisibility(View.INVISIBLE); | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/fragments/ListaPoliticoFragment.java
... | ... | @@ -5,21 +5,21 @@ import android.os.Bundle; |
5 | 5 | import android.support.v4.app.Fragment; |
6 | 6 | import android.support.v7.widget.LinearLayoutManager; |
7 | 7 | import android.support.v7.widget.RecyclerView; |
8 | -import android.util.Log; | |
9 | 8 | import android.view.LayoutInflater; |
10 | 9 | import android.view.View; |
11 | 10 | import android.view.ViewGroup; |
12 | 11 | import android.widget.ProgressBar; |
13 | 12 | |
14 | -import com.monitorabrasil.participacidadao.view.PoliticoFichaActivity; | |
15 | 13 | import com.monitorabrasil.participacidadao.R; |
16 | -import com.monitorabrasil.participacidadao.view.adapters.VereadorAdapter; | |
14 | +import com.monitorabrasil.participacidadao.actions.ActionsCreator; | |
15 | +import com.monitorabrasil.participacidadao.actions.PoliticoActions; | |
16 | +import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; | |
17 | +import com.monitorabrasil.participacidadao.stores.PoliticoStore; | |
18 | +import com.monitorabrasil.participacidadao.view.PoliticoFichaActivity; | |
19 | +import com.monitorabrasil.participacidadao.view.adapters.PoliticoAdapter; | |
17 | 20 | import com.monitorabrasil.participacidadao.view.interfaces.RecyclerViewOnClickListenerHack; |
18 | -import com.parse.FindCallback; | |
19 | -import com.parse.ParseObject; | |
20 | -import com.parse.ParseQuery; | |
21 | - | |
22 | -import java.util.List; | |
21 | +import com.squareup.otto.Bus; | |
22 | +import com.squareup.otto.Subscribe; | |
23 | 23 | |
24 | 24 | /** |
25 | 25 | * Created by geraugu on 6/10/15. |
... | ... | @@ -27,23 +27,47 @@ import java.util.List; |
27 | 27 | public class ListaPoliticoFragment extends Fragment implements RecyclerViewOnClickListenerHack { |
28 | 28 | |
29 | 29 | private RecyclerView mRecyclerView; |
30 | - private VereadorAdapter mAdapter; | |
31 | - private List<ParseObject> ob; | |
30 | + private PoliticoAdapter mAdapter; | |
32 | 31 | private ProgressBar pb; |
33 | 32 | |
33 | + private Dispatcher dispatcher; | |
34 | + private ActionsCreator actionsCreator; | |
35 | + private PoliticoStore politicoStore; | |
36 | + | |
37 | + public static ListaPoliticoFragment newInstance() { | |
38 | + ListaPoliticoFragment fragment = new ListaPoliticoFragment(); | |
39 | + return fragment; | |
40 | + } | |
41 | + | |
42 | + public ListaPoliticoFragment(){} | |
43 | + | |
34 | 44 | @Override |
35 | 45 | public View onCreateView(LayoutInflater inflater, |
36 | 46 | ViewGroup container, |
37 | 47 | Bundle savedInstanceState) { |
38 | 48 | View view = inflater.inflate(R.layout.fragment_list_politico, container, false); |
49 | + initDependencies(); | |
50 | + setupView(view); | |
51 | + pb.setVisibility(View.VISIBLE); | |
52 | + actionsCreator.getAllPoliticos(); | |
53 | + return view; | |
39 | 54 | |
40 | - pb = (ProgressBar) view.findViewById(R.id.progressBar); | |
55 | + } | |
56 | + | |
57 | + private void initDependencies() { | |
58 | + dispatcher = Dispatcher.get(new Bus()); | |
59 | + actionsCreator = ActionsCreator.get(dispatcher); | |
60 | + politicoStore = PoliticoStore.get(dispatcher); | |
61 | + } | |
41 | 62 | |
42 | 63 | |
64 | + private void setupView(View view) { | |
65 | + | |
66 | + pb = (ProgressBar) view.findViewById(R.id.progressBar); | |
67 | + | |
43 | 68 | //tableview |
44 | 69 | mRecyclerView = (RecyclerView) view.findViewById(R.id.my_recycler_view); |
45 | 70 | |
46 | - | |
47 | 71 | // use this setting to improve performance if you know that changes |
48 | 72 | // in content do not change the layout size of the RecyclerView |
49 | 73 | mRecyclerView.setHasFixedSize(true); |
... | ... | @@ -51,41 +75,33 @@ public class ListaPoliticoFragment extends Fragment implements RecyclerViewOnCli |
51 | 75 | LinearLayoutManager llm = new LinearLayoutManager(getActivity()); |
52 | 76 | llm.setOrientation(LinearLayoutManager.VERTICAL); |
53 | 77 | mRecyclerView.setLayoutManager(llm); |
54 | - | |
55 | - buscaVereadores(); | |
56 | - | |
57 | - return view; | |
78 | + mAdapter = new PoliticoAdapter(actionsCreator); | |
79 | + mRecyclerView.setAdapter(mAdapter); | |
80 | + mAdapter.setRecyclerViewOnClickListenerHack(this); | |
58 | 81 | |
59 | 82 | } |
60 | 83 | |
61 | - //busca objetos | |
62 | - public void buscaVereadores(){ | |
63 | - ParseQuery<ParseObject> query = ParseQuery.getQuery("Politico"); | |
64 | - query.addAscendingOrder("nome"); | |
65 | - //query.whereEqualTo("playerName", "Dan Stemkoski"); | |
66 | - query.findInBackground(new FindCallback<ParseObject>() { | |
67 | - @Override | |
68 | - public void done(List<ParseObject> list, com.parse.ParseException e) { | |
69 | - if (e == null) { | |
70 | - ob = list; | |
71 | - carregaList(list); | |
72 | - } else { | |
73 | - Log.d("score", "Error: " + e.getMessage()); | |
74 | - } | |
75 | - } | |
76 | - | |
77 | 84 | |
78 | - }); | |
79 | - } | |
80 | - | |
81 | - public void carregaList(List<ParseObject> list){ | |
82 | - mAdapter = new VereadorAdapter(list); | |
83 | - mAdapter.setRecyclerViewOnClickListenerHack(this); | |
84 | - mRecyclerView.setAdapter(mAdapter); | |
85 | + private void updateUI() { | |
86 | + mAdapter.setItems(politicoStore.getPoliticos()); | |
85 | 87 | pb.setVisibility(View.INVISIBLE); |
86 | 88 | } |
87 | 89 | |
90 | + /** | |
91 | + * Atualiza a UI depois de uma action | |
92 | + * @param event | |
93 | + */ | |
94 | + @Subscribe | |
95 | + public void onTodoStoreChange(PoliticoStore.UserStoreChangeEvent event) { | |
96 | + switch (event.getEvento()) { | |
97 | + case PoliticoActions.POLITICO_GET_ALL: | |
98 | + if(event.getStatus().equals("erro")){ | |
88 | 99 | |
100 | + } | |
101 | + break; | |
102 | + } | |
103 | + updateUI(); | |
104 | + } | |
89 | 105 | |
90 | 106 | @Override |
91 | 107 | public void onClickListener(View view, int position) { |
... | ... | @@ -105,7 +121,21 @@ public class ListaPoliticoFragment extends Fragment implements RecyclerViewOnCli |
105 | 121 | // ft.addToBackStack(null); |
106 | 122 | // ft.commit(); |
107 | 123 | Intent intent = new Intent(getActivity(),PoliticoFichaActivity.class); |
108 | - intent.putExtra("politico", ob.get(position).getObjectId()); | |
124 | + intent.putExtra("politico", politicoStore.getPoliticos().get(position).getObjectId()); | |
109 | 125 | startActivity(intent); |
110 | 126 | } |
127 | + | |
128 | + @Override | |
129 | + public void onResume() { | |
130 | + super.onResume(); | |
131 | + dispatcher.register(this); | |
132 | + dispatcher.register(politicoStore); | |
133 | + } | |
134 | + | |
135 | + @Override | |
136 | + public void onPause() { | |
137 | + super.onPause(); | |
138 | + dispatcher.unregister(this); | |
139 | + dispatcher.unregister(politicoStore); | |
140 | + } | |
111 | 141 | } | ... | ... |
app/src/main/java/com/monitorabrasil/participacidadao/view/fragments/ListaProjetosFragment.java
... | ... | @@ -5,20 +5,22 @@ import android.os.Bundle; |
5 | 5 | import android.support.v4.app.Fragment; |
6 | 6 | import android.support.v7.widget.LinearLayoutManager; |
7 | 7 | import android.support.v7.widget.RecyclerView; |
8 | -import android.util.Log; | |
9 | 8 | import android.view.LayoutInflater; |
10 | 9 | import android.view.View; |
11 | 10 | import android.view.ViewGroup; |
12 | 11 | import android.widget.ProgressBar; |
13 | 12 | |
14 | -import com.crashlytics.android.answers.Answers; | |
15 | -import com.crashlytics.android.answers.ContentViewEvent; | |
16 | 13 | import com.monitorabrasil.participacidadao.R; |
14 | +import com.monitorabrasil.participacidadao.actions.ActionsCreator; | |
15 | +import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; | |
16 | +import com.monitorabrasil.participacidadao.stores.PoliticoStore; | |
17 | +import com.monitorabrasil.participacidadao.stores.ProjetoStore; | |
17 | 18 | import com.monitorabrasil.participacidadao.view.adapters.ProjetoAdapter; |
18 | 19 | import com.monitorabrasil.participacidadao.view.interfaces.RecyclerViewOnClickListenerHack; |
19 | -import com.parse.FindCallback; | |
20 | 20 | import com.parse.ParseObject; |
21 | 21 | import com.parse.ParseQuery; |
22 | +import com.squareup.otto.Bus; | |
23 | +import com.squareup.otto.Subscribe; | |
22 | 24 | |
23 | 25 | import java.util.List; |
24 | 26 | |
... | ... | @@ -36,6 +38,10 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli |
36 | 38 | private String tipoProjeto; |
37 | 39 | private String idPolitico; |
38 | 40 | |
41 | + private Dispatcher dispatcher; | |
42 | + private ActionsCreator actionsCreator; | |
43 | + private ProjetoStore projetoStore; | |
44 | + | |
39 | 45 | |
40 | 46 | public static ListaProjetosFragment newInstance(String tipoProjeto, String idPolitico) { |
41 | 47 | ListaProjetosFragment fragment = new ListaProjetosFragment(); |
... | ... | @@ -66,6 +72,25 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli |
66 | 72 | View view = inflater.inflate(R.layout.fragment_lista_projetos, container, false); |
67 | 73 | // View view = inflater.inflate(R.layout.fragment_escolha_tipo_projeto, container, false); |
68 | 74 | |
75 | + initDependencies(); | |
76 | + setupView(view); | |
77 | + | |
78 | + actionsCreator.getAllProjetos(idPolitico, tipoProjeto); | |
79 | + | |
80 | + return view; | |
81 | + } | |
82 | + | |
83 | + private void initDependencies() { | |
84 | + dispatcher = Dispatcher.get(new Bus()); | |
85 | + actionsCreator = ActionsCreator.get(dispatcher); | |
86 | + projetoStore = ProjetoStore.get(dispatcher); | |
87 | + } | |
88 | + | |
89 | + | |
90 | + private void setupView(View view) { | |
91 | + pb.setVisibility(View.VISIBLE); | |
92 | + | |
93 | + | |
69 | 94 | pb = (ProgressBar) view.findViewById(R.id.progressBar); |
70 | 95 | |
71 | 96 | |
... | ... | @@ -79,43 +104,14 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli |
79 | 104 | LinearLayoutManager llm = new LinearLayoutManager(getActivity()); |
80 | 105 | llm.setOrientation(LinearLayoutManager.VERTICAL); |
81 | 106 | mRecyclerView.setLayoutManager(llm); |
82 | - | |
83 | - buscaProjetos(); | |
84 | - return view; | |
107 | + mAdapter = new ProjetoAdapter(actionsCreator); | |
108 | + mRecyclerView.setAdapter(mAdapter); | |
109 | + mAdapter.setRecyclerViewOnClickListenerHack(this); | |
85 | 110 | } |
86 | 111 | |
87 | - public void buscaProjetos(){ | |
88 | - ParseQuery<ParseObject> query = ParseQuery.getQuery("Projeto"); | |
89 | - query.addDescendingOrder("createdAt"); | |
90 | - | |
91 | - if(idPolitico!= null){ | |
92 | - | |
93 | - query.whereEqualTo("politico", buscaPolitico(idPolitico)); | |
94 | - | |
95 | - } | |
96 | - | |
97 | - if(tipoProjeto != null){ | |
98 | - query.whereEqualTo("classificacao", tipoProjeto); | |
99 | - Answers.getInstance().logContentView(new ContentViewEvent() | |
100 | - .putContentName("ListaProjetosFragment") | |
101 | - .putContentType("Fragment") | |
102 | - .putCustomAttribute("tipoProjeto", tipoProjeto)); | |
103 | - } | |
104 | - | |
105 | - | |
106 | - query.findInBackground(new FindCallback<ParseObject>() { | |
107 | - @Override | |
108 | - public void done(List<ParseObject> list, com.parse.ParseException e) { | |
109 | - if (e == null) { | |
110 | - ob = list; | |
111 | - carregaList(list); | |
112 | - } else { | |
113 | - Log.d("score", "Error: " + e.getMessage()); | |
114 | - } | |
115 | - } | |
116 | - | |
117 | - | |
118 | - }); | |
112 | + private void updateUI() { | |
113 | + mAdapter.setItems(projetoStore.getProjetos()); | |
114 | + pb.setVisibility(View.INVISIBLE); | |
119 | 115 | } |
120 | 116 | |
121 | 117 | private ParseObject buscaPolitico(String id) { |
... | ... | @@ -130,11 +126,13 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli |
130 | 126 | return null; |
131 | 127 | } |
132 | 128 | |
133 | - public void carregaList(List<ParseObject> list){ | |
134 | - mAdapter = new ProjetoAdapter(list,getActivity()); | |
135 | - mAdapter.setRecyclerViewOnClickListenerHack(this); | |
136 | - mRecyclerView.setAdapter(mAdapter); | |
137 | - pb.setVisibility(View.INVISIBLE); | |
129 | + /** | |
130 | + * Atualiza a UI depois de uma action | |
131 | + * @param event | |
132 | + */ | |
133 | + @Subscribe | |
134 | + public void onTodoStoreChange(PoliticoStore.UserStoreChangeEvent event) { | |
135 | + updateUI(); | |
138 | 136 | } |
139 | 137 | |
140 | 138 | @Override | ... | ... |
app/src/main/res/layout/activity_login.xml
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | android:background="@color/grey" |
7 | 7 | android:orientation="vertical" |
8 | 8 | tools:context="com.monitorabrasil.participacidadao.view.LoginActivity" |
9 | - android:paddingTop="8dp"> | |
9 | + android:paddingTop="0dp"> | |
10 | 10 | |
11 | 11 | <android.support.v7.widget.Toolbar |
12 | 12 | android:id="@+id/toolbar" | ... | ... |