Commit cc689fce67319d5caa7a9fc2c5b7eaebabbbc6b2

Authored by geraldo morais
1 parent 0861f1f4
Exists in master

mudanca de cores

correcao de bugs
logo inserida
tela sobre implementada
Showing 39 changed files with 306 additions and 144 deletions   Show diff stats
@@ -75,10 +75,10 @@ @@ -75,10 +75,10 @@
75 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/mediarouter-v7/22.0.0/jars" /> 75 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/mediarouter-v7/22.0.0/jars" />
76 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/22.2.0/jars" /> 76 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/22.2.0/jars" />
77 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" /> 77 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" />
78 - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.2.2/jars" /> 78 + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.3.0/jars" />
79 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.3/jars" /> 79 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.3/jars" />
80 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.3/jars" /> 80 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.3/jars" />
81 - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.4.0/jars" /> 81 + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.5.0/jars" />
82 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/7.5.0/jars" /> 82 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/7.5.0/jars" />
83 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/7.5.0/jars" /> 83 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/7.5.0/jars" />
84 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-appindexing/7.5.0/jars" /> 84 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-appindexing/7.5.0/jars" />
@@ -102,7 +102,7 @@ @@ -102,7 +102,7 @@
102 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services/7.5.0/jars" /> 102 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services/7.5.0/jars" />
103 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/iconics/1.0.2/jars" /> 103 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/iconics/1.0.2/jars" />
104 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/materialdrawer/3.0.6/jars" /> 104 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/materialdrawer/3.0.6/jars" />
105 - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.4/jars" /> 105 + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.5/jars" />
106 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> 106 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
107 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" /> 107 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
108 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" /> 108 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
@@ -142,23 +142,23 @@ @@ -142,23 +142,23 @@
142 <orderEntry type="library" exported="" name="bolts-android-1.2.0" level="project" /> 142 <orderEntry type="library" exported="" name="bolts-android-1.2.0" level="project" />
143 <orderEntry type="library" exported="" name="play-services-appinvite-7.5.0" level="project" /> 143 <orderEntry type="library" exported="" name="play-services-appinvite-7.5.0" level="project" />
144 <orderEntry type="library" exported="" name="iconics-1.0.2" level="project" /> 144 <orderEntry type="library" exported="" name="iconics-1.0.2" level="project" />
145 - <orderEntry type="library" exported="" name="fabric-1.3.4" level="project" />  
146 <orderEntry type="library" exported="" name="beta-1.1.3" level="project" /> 145 <orderEntry type="library" exported="" name="beta-1.1.3" level="project" />
147 <orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" /> 146 <orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" />
  147 + <orderEntry type="library" exported="" name="fabric-1.3.5" level="project" />
148 <orderEntry type="library" exported="" name="universal-image-loader-1.9.3" level="project" /> 148 <orderEntry type="library" exported="" name="universal-image-loader-1.9.3" level="project" />
149 <orderEntry type="library" exported="" name="crashlytics-core-2.3.3" level="project" /> 149 <orderEntry type="library" exported="" name="crashlytics-core-2.3.3" level="project" />
150 <orderEntry type="library" exported="" name="play-services-fitness-7.5.0" level="project" /> 150 <orderEntry type="library" exported="" name="play-services-fitness-7.5.0" level="project" />
151 <orderEntry type="library" exported="" name="play-services-nearby-7.5.0" level="project" /> 151 <orderEntry type="library" exported="" name="play-services-nearby-7.5.0" level="project" />
152 - <orderEntry type="library" exported="" name="crashlytics-2.4.0" level="project" /> 152 + <orderEntry type="library" exported="" name="crashlytics-2.5.0" level="project" />
153 <orderEntry type="library" exported="" name="play-services-plus-7.5.0" level="project" /> 153 <orderEntry type="library" exported="" name="play-services-plus-7.5.0" level="project" />
154 <orderEntry type="library" exported="" name="play-services-wearable-7.5.0" level="project" /> 154 <orderEntry type="library" exported="" name="play-services-wearable-7.5.0" level="project" />
155 <orderEntry type="library" exported="" name="play-services-appstate-7.5.0" level="project" /> 155 <orderEntry type="library" exported="" name="play-services-appstate-7.5.0" level="project" />
156 <orderEntry type="library" exported="" name="play-services-games-7.5.0" level="project" /> 156 <orderEntry type="library" exported="" name="play-services-games-7.5.0" level="project" />
157 <orderEntry type="library" exported="" name="play-services-identity-7.5.0" level="project" /> 157 <orderEntry type="library" exported="" name="play-services-identity-7.5.0" level="project" />
158 <orderEntry type="library" exported="" name="MPAndroidChart-v2.1.0" level="project" /> 158 <orderEntry type="library" exported="" name="MPAndroidChart-v2.1.0" level="project" />
159 - <orderEntry type="library" exported="" name="answers-1.2.2" level="project" />  
160 <orderEntry type="library" exported="" name="design-22.2.0" level="project" /> 159 <orderEntry type="library" exported="" name="design-22.2.0" level="project" />
161 <orderEntry type="library" exported="" name="play-services-maps-7.5.0" level="project" /> 160 <orderEntry type="library" exported="" name="play-services-maps-7.5.0" level="project" />
  161 + <orderEntry type="library" exported="" name="answers-1.3.0" level="project" />
162 <orderEntry type="library" exported="" name="cardview-v7-22.2.0" level="project" /> 162 <orderEntry type="library" exported="" name="cardview-v7-22.2.0" level="project" />
163 </component> 163 </component>
164 </module> 164 </module>
165 \ No newline at end of file 165 \ No newline at end of file
app/build.gradle
@@ -24,8 +24,8 @@ android { @@ -24,8 +24,8 @@ android {
24 applicationId "com.monitorabrasil.monitoramunicipio" 24 applicationId "com.monitorabrasil.monitoramunicipio"
25 minSdkVersion 16 25 minSdkVersion 16
26 targetSdkVersion 22 26 targetSdkVersion 22
27 - versionCode 10  
28 - versionName "0.8.2" 27 + versionCode 11
  28 + versionName "0.9.0"
29 } 29 }
30 buildTypes { 30 buildTypes {
31 release { 31 release {
app/src/main/AndroidManifest.xml
@@ -77,6 +77,14 @@ @@ -77,6 +77,14 @@
77 android:name=".ComentarioActivity" 77 android:name=".ComentarioActivity"
78 android:label="@string/title_activity_comentario" > 78 android:label="@string/title_activity_comentario" >
79 </activity> 79 </activity>
  80 + <activity
  81 + android:name=".SobreActivity"
  82 + android:label="@string/title_activity_sobre"
  83 + android:parentActivityName=".MainActivity" >
  84 + <meta-data
  85 + android:name="android.support.PARENT_ACTIVITY"
  86 + android:value="com.monitorabrasil.monitoralegislativo.MainActivity" />
  87 + </activity>
80 </application> 88 </application>
81 89
82 </manifest> 90 </manifest>
app/src/main/ic_action_share-web.png 0 → 100644

5.76 KB

app/src/main/ic_launcher-web.png 0 → 100644

40.5 KB

app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java
@@ -59,9 +59,7 @@ public class CamaraActivity extends AppCompatActivity { @@ -59,9 +59,7 @@ public class CamaraActivity extends AppCompatActivity {
59 int id = item.getItemId(); 59 int id = item.getItemId();
60 60
61 //noinspection SimplifiableIfStatement 61 //noinspection SimplifiableIfStatement
62 - if (id == R.id.action_settings) {  
63 - return true;  
64 - } 62 +
65 63
66 return super.onOptionsItemSelected(item); 64 return super.onOptionsItemSelected(item);
67 } 65 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/ComentarioActivity.java
@@ -223,9 +223,6 @@ public class ComentarioActivity extends AppCompatActivity { @@ -223,9 +223,6 @@ public class ComentarioActivity extends AppCompatActivity {
223 int id = item.getItemId(); 223 int id = item.getItemId();
224 224
225 //noinspection SimplifiableIfStatement 225 //noinspection SimplifiableIfStatement
226 - if (id == R.id.action_settings) {  
227 - return true;  
228 - }  
229 226
230 return super.onOptionsItemSelected(item); 227 return super.onOptionsItemSelected(item);
231 } 228 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/LoginActivity.java
@@ -11,6 +11,7 @@ import android.content.Intent; @@ -11,6 +11,7 @@ import android.content.Intent;
11 import android.content.Loader; 11 import android.content.Loader;
12 import android.database.Cursor; 12 import android.database.Cursor;
13 import android.graphics.Bitmap; 13 import android.graphics.Bitmap;
  14 +import android.graphics.BitmapFactory;
14 import android.net.Uri; 15 import android.net.Uri;
15 import android.os.AsyncTask; 16 import android.os.AsyncTask;
16 17
@@ -30,10 +31,13 @@ import android.widget.ArrayAdapter; @@ -30,10 +31,13 @@ import android.widget.ArrayAdapter;
30 import android.widget.AutoCompleteTextView; 31 import android.widget.AutoCompleteTextView;
31 import android.widget.Button; 32 import android.widget.Button;
32 import android.widget.EditText; 33 import android.widget.EditText;
  34 +import android.widget.ImageButton;
33 import android.widget.ImageView; 35 import android.widget.ImageView;
34 import android.widget.LinearLayout; 36 import android.widget.LinearLayout;
35 import android.widget.TextView; 37 import android.widget.TextView;
36 38
  39 +import java.io.FileNotFoundException;
  40 +import java.io.InputStream;
37 import java.text.ParseException; 41 import java.text.ParseException;
38 import java.util.ArrayList; 42 import java.util.ArrayList;
39 import java.util.List; 43 import java.util.List;
@@ -54,7 +58,7 @@ import org.w3c.dom.Text; @@ -54,7 +58,7 @@ import org.w3c.dom.Text;
54 /** 58 /**
55 * A login screen that offers login via email/password. 59 * A login screen that offers login via email/password.
56 */ 60 */
57 -public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<Cursor> { 61 +public class LoginActivity extends AppCompatActivity {
58 62
59 63
60 /** 64 /**
@@ -77,6 +81,9 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -77,6 +81,9 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
77 private TextView lblEmail; 81 private TextView lblEmail;
78 private ImageView foto; 82 private ImageView foto;
79 private ParseUser currentUser; 83 private ParseUser currentUser;
  84 + private ImageButton btnFoto;
  85 +
  86 + private final int PICK_IMAGE=2;
80 87
81 @Override 88 @Override
82 protected void onCreate(Bundle savedInstanceState) { 89 protected void onCreate(Bundle savedInstanceState) {
@@ -85,23 +92,39 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -85,23 +92,39 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
85 setupActionBar(); 92 setupActionBar();
86 mLoginFormView = findViewById(R.id.login_form); 93 mLoginFormView = findViewById(R.id.login_form);
87 mLogoutFormView = findViewById(R.id.logout_form); 94 mLogoutFormView = findViewById(R.id.logout_form);
  95 + mProgressView = findViewById(R.id.login_progress);
  96 + btnFoto = (ImageButton) findViewById(R.id.btnFoto);
88 currentUser = ParseUser.getCurrentUser(); 97 currentUser = ParseUser.getCurrentUser();
89 98
90 99
  100 +
  101 +
91 if (currentUser != null) { 102 if (currentUser != null) {
92 montaFormLogout(); 103 montaFormLogout();
93 104
94 }else{ 105 }else{
95 -  
96 mLogoutFormView.setVisibility(View.GONE); 106 mLogoutFormView.setVisibility(View.GONE);
97 mLoginFormView.setVisibility(View.VISIBLE); 107 mLoginFormView.setVisibility(View.VISIBLE);
98 108
99 } 109 }
100 110
  111 + // Set up the login form.
  112 + btnFoto.setOnClickListener(new OnClickListener() {
  113 + @Override
  114 + public void onClick(View v) {
  115 + Intent getIntent = new Intent(Intent.ACTION_GET_CONTENT);
  116 + getIntent.setType("image/*");
101 117
  118 + Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
  119 + pickIntent.setType("image/*");
102 120
  121 + Intent chooserIntent = Intent.createChooser(getIntent, "Selecione uma foto");
  122 + chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {pickIntent});
  123 +
  124 + startActivityForResult(chooserIntent, PICK_IMAGE);
  125 + }
  126 + });
103 127
104 - // Set up the login form.  
105 mNome = (EditText)findViewById(R.id.txtNome); 128 mNome = (EditText)findViewById(R.id.txtNome);
106 mNome.setVisibility(View.GONE); 129 mNome.setVisibility(View.GONE);
107 130
@@ -112,13 +135,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -112,13 +135,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
112 135
113 @Override 136 @Override
114 public void onClick(View v) { 137 public void onClick(View v) {
115 - showProgress(true); 138 + showProgress(true,null);
116 ParseUser.logOutInBackground(new LogOutCallback() { 139 ParseUser.logOutInBackground(new LogOutCallback() {
117 @Override 140 @Override
118 public void done(com.parse.ParseException e) { 141 public void done(com.parse.ParseException e) {
119 - mLogoutFormView.setVisibility(View.GONE);  
120 - mLoginFormView.setVisibility(View.VISIBLE);  
121 - showProgress(false); 142 + showProgress(false, mLoginFormView);
122 } 143 }
123 }); 144 });
124 } 145 }
@@ -153,6 +174,8 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -153,6 +174,8 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
153 Snackbar.make(mLoginFormView, "Login cancelado ", Snackbar.LENGTH_LONG) 174 Snackbar.make(mLoginFormView, "Login cancelado ", Snackbar.LENGTH_LONG)
154 .setAction("Action", null).show(); 175 .setAction("Action", null).show();
155 } else if (parseUser.isNew()) { 176 } else if (parseUser.isNew()) {
  177 + parseUser.put("nome",ParseTwitterUtils.getTwitter().getScreenName());
  178 + parseUser.saveInBackground();
156 montaFormLogout(); 179 montaFormLogout();
157 } else { 180 } else {
158 montaFormLogout(); 181 montaFormLogout();
@@ -163,7 +186,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -163,7 +186,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
163 }); 186 });
164 187
165 mEmailView = (AutoCompleteTextView) findViewById(R.id.email); 188 mEmailView = (AutoCompleteTextView) findViewById(R.id.email);
166 - populateAutoComplete(); 189 +
167 190
168 mPasswordView = (EditText) findViewById(R.id.password); 191 mPasswordView = (EditText) findViewById(R.id.password);
169 mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() { 192 mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@@ -186,7 +209,38 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -186,7 +209,38 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
186 }); 209 });
187 210
188 211
189 - mProgressView = findViewById(R.id.login_progress); 212 +
  213 + }
  214 +
  215 + @Override
  216 + public void onActivityResult(int requestCode, int resultCode, Intent data) {
  217 + super.onActivityResult(requestCode, resultCode, data);
  218 + if (requestCode == PICK_IMAGE && resultCode == Activity.RESULT_OK) {
  219 + if (data == null) {
  220 + //Display an error
  221 + return;
  222 + }
  223 + try {
  224 + Uri selectedImage = data.getData();
  225 + InputStream imageStream = getContentResolver().openInputStream(selectedImage);
  226 + Bitmap yourSelectedImage = BitmapFactory.decodeStream(imageStream);
  227 + btnFoto.setImageBitmap(yourSelectedImage);
  228 + } catch (FileNotFoundException e) {
  229 + e.printStackTrace();
  230 + }
  231 + //Now you can do whatever you want with your inpustream, save it as file, upload to a server, decode a bitmap...
  232 + }
  233 + }
  234 +
  235 + private void showProgress(boolean b,View v) {
  236 + if(b){
  237 + mProgressView.setVisibility(View.VISIBLE);
  238 + mLogoutFormView.setVisibility(View.GONE);
  239 + mLoginFormView.setVisibility(View.GONE);
  240 + }else{
  241 + mProgressView.setVisibility(View.GONE);
  242 + v.setVisibility(View.VISIBLE);
  243 + }
190 } 244 }
191 245
192 private void montaFormLogout() { 246 private void montaFormLogout() {
@@ -194,10 +248,10 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -194,10 +248,10 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
194 lblEmail = (TextView)findViewById(R.id.lblEmail); 248 lblEmail = (TextView)findViewById(R.id.lblEmail);
195 foto = (ImageView)findViewById(R.id.foto); 249 foto = (ImageView)findViewById(R.id.foto);
196 250
197 - mLogoutFormView.setVisibility(View.VISIBLE);  
198 mLoginFormView.setVisibility(View.GONE); 251 mLoginFormView.setVisibility(View.GONE);
  252 + showProgress(false,mLogoutFormView);
199 253
200 - if(ParseTwitterUtils.getTwitter()!=null){ 254 + if(ParseTwitterUtils.getTwitter().getUserId() !=null){
201 String screenName = ParseTwitterUtils.getTwitter().getScreenName(); 255 String screenName = ParseTwitterUtils.getTwitter().getScreenName();
202 lblNome.setText(screenName); 256 lblNome.setText(screenName);
203 lblEmail.setText(""); 257 lblEmail.setText("");
@@ -216,7 +270,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -216,7 +270,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
216 270
217 @Override 271 @Override
218 public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 272 public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
219 - foto.setImageBitmap(loadedImage); 273 + foto.setImageBitmap(loadedImage);
220 } 274 }
221 275
222 @Override 276 @Override
@@ -279,7 +333,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -279,7 +333,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
279 } else { 333 } else {
280 // Show a progress spinner, and kick off a background task to 334 // Show a progress spinner, and kick off a background task to
281 // perform the user login attempt. 335 // perform the user login attempt.
282 - showProgress(true); 336 + showProgress(true,null);
283 337
284 ParseUser user = new ParseUser(); 338 ParseUser user = new ParseUser();
285 user.setUsername(email); 339 user.setUsername(email);
@@ -292,11 +346,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -292,11 +346,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
292 @Override 346 @Override
293 public void done(com.parse.ParseException e) { 347 public void done(com.parse.ParseException e) {
294 if (e == null) { 348 if (e == null) {
295 - showProgress(false);  
296 montaFormLogout(); 349 montaFormLogout();
297 } else { 350 } else {
298 - showProgress(false);  
299 - 351 + showProgress(false,mLoginFormView);
  352 + Snackbar.make(mLoginFormView, "Houve um erro ao fazer seu cadastro ", Snackbar.LENGTH_LONG)
  353 + .setAction("Action", null).show();
300 } 354 }
301 } 355 }
302 356
@@ -306,9 +360,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -306,9 +360,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
306 } 360 }
307 } 361 }
308 362
309 - private void populateAutoComplete() {  
310 - getLoaderManager().initLoader(0, null, this);  
311 - } 363 +
312 364
313 /** 365 /**
314 * Set up the {@link android.app.ActionBar}, if the API is available. 366 * Set up the {@link android.app.ActionBar}, if the API is available.
@@ -370,7 +422,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -370,7 +422,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
370 } else { 422 } else {
371 // Show a progress spinner, and kick off a background task to 423 // Show a progress spinner, and kick off a background task to
372 // perform the user login attempt. 424 // perform the user login attempt.
373 - showProgress(true); 425 + showProgress(true,null);
374 426
375 //fazer o login aqui 427 //fazer o login aqui
376 fazerLogin(email, password); 428 fazerLogin(email, password);
@@ -388,7 +440,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -388,7 +440,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
388 } else { 440 } else {
389 mPasswordView.setError(getString(R.string.error_incorrect_password)); 441 mPasswordView.setError(getString(R.string.error_incorrect_password));
390 mPasswordView.requestFocus(); 442 mPasswordView.requestFocus();
391 - showProgress(false); 443 + showProgress(false,mLoginFormView);
392 } 444 }
393 } 445 }
394 446
@@ -406,94 +458,8 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt; @@ -406,94 +458,8 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks&lt;
406 return password.length() > 4; 458 return password.length() > 4;
407 } 459 }
408 460
409 - /**  
410 - * Shows the progress UI and hides the login form.  
411 - */  
412 - @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)  
413 - public void showProgress(final boolean show) {  
414 - // On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow  
415 - // for very easy animations. If available, use these APIs to fade-in  
416 - // the progress spinner.  
417 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {  
418 - int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime);  
419 -  
420 - mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);  
421 - mLoginFormView.animate().setDuration(shortAnimTime).alpha(  
422 - show ? 0 : 1).setListener(new AnimatorListenerAdapter() {  
423 - @Override  
424 - public void onAnimationEnd(Animator animation) {  
425 - mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);  
426 - }  
427 - });  
428 - mLogoutFormView.setVisibility(show ? View.GONE : View.VISIBLE);  
429 - mLogoutFormView.animate().setDuration(shortAnimTime).alpha(  
430 - show ? 0 : 1).setListener(new AnimatorListenerAdapter() {  
431 - @Override  
432 - public void onAnimationEnd(Animator animation) {  
433 - mLogoutFormView.setVisibility(show ? View.GONE : View.VISIBLE);  
434 - }  
435 - });  
436 -  
437 - mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);  
438 - mProgressView.animate().setDuration(shortAnimTime).alpha(  
439 - show ? 1 : 0).setListener(new AnimatorListenerAdapter() {  
440 - @Override  
441 - public void onAnimationEnd(Animator animation) {  
442 - mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);  
443 - }  
444 - });  
445 - } else {  
446 - // The ViewPropertyAnimator APIs are not available, so simply show  
447 - // and hide the relevant UI components.  
448 - mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);  
449 - mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);  
450 - mLogoutFormView.setVisibility(show ? View.GONE : View.VISIBLE);  
451 - }  
452 - }  
453 -  
454 - @Override  
455 - public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {  
456 - return new CursorLoader(this,  
457 - // Retrieve data rows for the device user's 'profile' contact.  
458 - Uri.withAppendedPath(ContactsContract.Profile.CONTENT_URI,  
459 - ContactsContract.Contacts.Data.CONTENT_DIRECTORY), ProfileQuery.PROJECTION,  
460 -  
461 - // Select only email addresses.  
462 - ContactsContract.Contacts.Data.MIMETYPE +  
463 - " = ?", new String[]{ContactsContract.CommonDataKinds.Email  
464 - .CONTENT_ITEM_TYPE},  
465 -  
466 - // Show primary email addresses first. Note that there won't be  
467 - // a primary email address if the user hasn't specified one.  
468 - ContactsContract.Contacts.Data.IS_PRIMARY + " DESC");  
469 - }  
470 -  
471 - @Override  
472 - public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {  
473 - List<String> emails = new ArrayList<String>();  
474 - cursor.moveToFirst();  
475 - while (!cursor.isAfterLast()) {  
476 - emails.add(cursor.getString(ProfileQuery.ADDRESS));  
477 - cursor.moveToNext();  
478 - }  
479 461
480 - addEmailsToAutoComplete(emails);  
481 - }  
482 -  
483 - @Override  
484 - public void onLoaderReset(Loader<Cursor> cursorLoader) {  
485 462
486 - }  
487 -  
488 - private interface ProfileQuery {  
489 - String[] PROJECTION = {  
490 - ContactsContract.CommonDataKinds.Email.ADDRESS,  
491 - ContactsContract.CommonDataKinds.Email.IS_PRIMARY,  
492 - };  
493 -  
494 - int ADDRESS = 0;  
495 - int IS_PRIMARY = 1;  
496 - }  
497 463
498 464
499 private void addEmailsToAutoComplete(List<String> emailAddressCollection) { 465 private void addEmailsToAutoComplete(List<String> emailAddressCollection) {
app/src/main/java/com/monitorabrasil/monitoralegislativo/MainActivity.java
@@ -179,7 +179,8 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr @@ -179,7 +179,8 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr
179 new DividerDrawerItem(), 179 new DividerDrawerItem(),
180 new PrimaryDrawerItem().withName("Vereadores"), 180 new PrimaryDrawerItem().withName("Vereadores"),
181 new SecondaryDrawerItem().withName("Indicações"), 181 new SecondaryDrawerItem().withName("Indicações"),
182 - new SecondaryDrawerItem().withName("Câmara") 182 + new SecondaryDrawerItem().withName("Câmara"),
  183 + new SecondaryDrawerItem().withName("Sobre")
183 ) 184 )
184 .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 185 .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
185 @Override 186 @Override
@@ -207,6 +208,9 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr @@ -207,6 +208,9 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr
207 case 4: 208 case 4:
208 startActivity(new Intent(getApplicationContext(), CamaraActivity.class)); 209 startActivity(new Intent(getApplicationContext(), CamaraActivity.class));
209 break; 210 break;
  211 + case 5:
  212 + startActivity(new Intent(getApplicationContext(), SobreActivity.class));
  213 + break;
210 214
211 } 215 }
212 navigationDrawerLeft.closeDrawer(); 216 navigationDrawerLeft.closeDrawer();
@@ -237,7 +241,8 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr @@ -237,7 +241,8 @@ public class MainActivity extends AppCompatActivity implements HomeFragment.OnFr
237 int id = item.getItemId(); 241 int id = item.getItemId();
238 242
239 //noinspection SimplifiableIfStatement 243 //noinspection SimplifiableIfStatement
240 - if (id == R.id.action_settings) { 244 + if (id == R.id.action_sobre) {
  245 + startActivity(new Intent(getApplicationContext(),SobreActivity.class));
241 return true; 246 return true;
242 } 247 }
243 248
app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticoFichaActivity.java
@@ -176,9 +176,7 @@ public class PoliticoFichaActivity extends AppCompatActivity { @@ -176,9 +176,7 @@ public class PoliticoFichaActivity extends AppCompatActivity {
176 int id = item.getItemId(); 176 int id = item.getItemId();
177 177
178 //noinspection SimplifiableIfStatement 178 //noinspection SimplifiableIfStatement
179 - if (id == R.id.action_settings) {  
180 - return true;  
181 - } 179 +
182 180
183 return super.onOptionsItemSelected(item); 181 return super.onOptionsItemSelected(item);
184 } 182 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/PoliticosActivity.java
@@ -62,9 +62,7 @@ public class PoliticosActivity extends AppCompatActivity { @@ -62,9 +62,7 @@ public class PoliticosActivity extends AppCompatActivity {
62 int id = item.getItemId(); 62 int id = item.getItemId();
63 63
64 //noinspection SimplifiableIfStatement 64 //noinspection SimplifiableIfStatement
65 - if (id == R.id.action_settings) {  
66 - return true;  
67 - } 65 +
68 66
69 return super.onOptionsItemSelected(item); 67 return super.onOptionsItemSelected(item);
70 } 68 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/ProjetosActivity.java
@@ -70,9 +70,7 @@ public class ProjetosActivity extends ActionBarActivity { @@ -70,9 +70,7 @@ public class ProjetosActivity extends ActionBarActivity {
70 int id = item.getItemId(); 70 int id = item.getItemId();
71 71
72 //noinspection SimplifiableIfStatement 72 //noinspection SimplifiableIfStatement
73 - if (id == R.id.action_settings) {  
74 - return true;  
75 - } 73 +
76 74
77 return super.onOptionsItemSelected(item); 75 return super.onOptionsItemSelected(item);
78 } 76 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/SobreActivity.java 0 → 100644
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +package com.monitorabrasil.monitoralegislativo;
  2 +
  3 +import android.content.pm.PackageManager;
  4 +import android.support.v7.app.ActionBarActivity;
  5 +import android.os.Bundle;
  6 +import android.support.v7.app.AppCompatActivity;
  7 +import android.support.v7.widget.Toolbar;
  8 +import android.text.Html;
  9 +import android.text.method.LinkMovementMethod;
  10 +import android.view.Menu;
  11 +import android.view.MenuItem;
  12 +import android.widget.TextView;
  13 +
  14 +import com.crashlytics.android.answers.Answers;
  15 +import com.crashlytics.android.answers.ContentViewEvent;
  16 +import com.monitorabrasil.monitoralegislativo.R;
  17 +
  18 +import org.w3c.dom.Text;
  19 +
  20 +public class SobreActivity extends AppCompatActivity {
  21 +
  22 + Toolbar toolbar;
  23 +
  24 + @Override
  25 + protected void onCreate(Bundle savedInstanceState) {
  26 + super.onCreate(savedInstanceState);
  27 + setContentView(R.layout.activity_sobre);
  28 + initToolbar();
  29 + toolbar.setTitle("Sobre");
  30 + setSupportActionBar(toolbar);
  31 + getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  32 +
  33 +
  34 +
  35 + TextView versao = (TextView)findViewById(R.id.versao);
  36 + try {
  37 + versao.setText("Versão: "+getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
  38 + } catch (PackageManager.NameNotFoundException e) {
  39 + e.printStackTrace();
  40 + }
  41 +
  42 + Answers.getInstance().logContentView(new ContentViewEvent()
  43 + .putContentName("SobreActivity")
  44 + .putContentType("Activity"));
  45 + }
  46 +
  47 + private void initToolbar() {
  48 + toolbar = (Toolbar) findViewById(R.id.toolbar);
  49 + setSupportActionBar(toolbar);
  50 + }
  51 +
  52 + @Override
  53 + public boolean onCreateOptionsMenu(Menu menu) {
  54 + // Inflate the menu; this adds items to the action bar if it is present.
  55 + getMenuInflater().inflate(R.menu.menu_sobre, menu);
  56 + return true;
  57 + }
  58 +
  59 + @Override
  60 + public boolean onOptionsItemSelected(MenuItem item) {
  61 + // Handle action bar item clicks here. The action bar will
  62 + // automatically handle clicks on the Home/Up button, so long
  63 + // as you specify a parent activity in AndroidManifest.xml.
  64 + int id = item.getItemId();
  65 +
  66 + //noinspection SimplifiableIfStatement
  67 +
  68 +
  69 + return super.onOptionsItemSelected(item);
  70 + }
  71 +}
app/src/main/java/com/monitorabrasil/monitoralegislativo/adapters/ProjetoAdapter.java
@@ -225,9 +225,11 @@ public class ProjetoAdapter extends RecyclerView.Adapter&lt;ProjetoAdapter.ViewHold @@ -225,9 +225,11 @@ public class ProjetoAdapter extends RecyclerView.Adapter&lt;ProjetoAdapter.ViewHold
225 } 225 }
226 if(votado){ 226 if(votado){
227 227
  228 + if(null!= viewHolder2.projetoVotado){
  229 + viewHolder2.projetoVotado.unpinInBackground();
  230 + viewHolder2.projetoVotado.deleteInBackground();
  231 + }
228 232
229 - viewHolder2.projetoVotado.unpinInBackground();  
230 - viewHolder2.projetoVotado.deleteInBackground();  
231 233
232 234
233 } 235 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/HomeFragment.java
@@ -4,6 +4,7 @@ import android.app.Activity; @@ -4,6 +4,7 @@ import android.app.Activity;
4 import android.content.Intent; 4 import android.content.Intent;
5 import android.net.Uri; 5 import android.net.Uri;
6 import android.os.Bundle; 6 import android.os.Bundle;
  7 +import android.support.design.widget.FloatingActionButton;
7 import android.support.v4.app.Fragment; 8 import android.support.v4.app.Fragment;
8 import android.support.v7.widget.LinearLayoutManager; 9 import android.support.v7.widget.LinearLayoutManager;
9 import android.support.v7.widget.RecyclerView; 10 import android.support.v7.widget.RecyclerView;
@@ -23,6 +24,7 @@ import com.github.mikephil.charting.data.BarDataSet; @@ -23,6 +24,7 @@ import com.github.mikephil.charting.data.BarDataSet;
23 import com.github.mikephil.charting.data.BarEntry; 24 import com.github.mikephil.charting.data.BarEntry;
24 import com.github.mikephil.charting.data.Entry; 25 import com.github.mikephil.charting.data.Entry;
25 import com.github.mikephil.charting.utils.ValueFormatter; 26 import com.github.mikephil.charting.utils.ValueFormatter;
  27 +import com.monitorabrasil.monitoralegislativo.ComentarioActivity;
26 import com.monitorabrasil.monitoralegislativo.PoliticoFichaActivity; 28 import com.monitorabrasil.monitoralegislativo.PoliticoFichaActivity;
27 import com.monitorabrasil.monitoralegislativo.R; 29 import com.monitorabrasil.monitoralegislativo.R;
28 import com.monitorabrasil.monitoralegislativo.adapters.VereadorAdapter; 30 import com.monitorabrasil.monitoralegislativo.adapters.VereadorAdapter;
@@ -107,8 +109,23 @@ public class HomeFragment extends Fragment implements RecyclerViewOnClickListene @@ -107,8 +109,23 @@ public class HomeFragment extends Fragment implements RecyclerViewOnClickListene
107 109
108 //buscar o grafico de gastos 110 //buscar o grafico de gastos
109 mChart = (BarChart)view.findViewById(R.id.chart1); 111 mChart = (BarChart)view.findViewById(R.id.chart1);
  112 +
110 buscaGastos(); 113 buscaGastos();
111 114
  115 + FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fab);
  116 + fab.setOnClickListener(new View.OnClickListener() {
  117 + @Override
  118 + public void onClick(View view) {
  119 + Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
  120 + sharingIntent.setType("text/plain");
  121 + String shareBody = "Recomendo o app Participa Cidadão https://play.google.com/store/apps/details?id=com.monitorabrasil.monitoramunicipio";
  122 + sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Participa Cidadão");
  123 + sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
  124 + startActivity(Intent.createChooser(sharingIntent, "Compartilhar via"));
  125 +
  126 + }
  127 + });
  128 +
112 129
113 return view; 130 return view;
114 } 131 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/ListaProjetosFragment.java
@@ -12,6 +12,8 @@ import android.view.View; @@ -12,6 +12,8 @@ import android.view.View;
12 import android.view.ViewGroup; 12 import android.view.ViewGroup;
13 import android.widget.ProgressBar; 13 import android.widget.ProgressBar;
14 14
  15 +import com.crashlytics.android.answers.Answers;
  16 +import com.crashlytics.android.answers.ContentViewEvent;
15 import com.monitorabrasil.monitoralegislativo.R; 17 import com.monitorabrasil.monitoralegislativo.R;
16 import com.monitorabrasil.monitoralegislativo.adapters.ProjetoAdapter; 18 import com.monitorabrasil.monitoralegislativo.adapters.ProjetoAdapter;
17 import com.monitorabrasil.monitoralegislativo.adapters.VereadorAdapter; 19 import com.monitorabrasil.monitoralegislativo.adapters.VereadorAdapter;
@@ -97,6 +99,10 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli @@ -97,6 +99,10 @@ public class ListaProjetosFragment extends Fragment implements RecyclerViewOnCli
97 99
98 if(tipoProjeto != null){ 100 if(tipoProjeto != null){
99 query.whereEqualTo("classificacao", tipoProjeto); 101 query.whereEqualTo("classificacao", tipoProjeto);
  102 + Answers.getInstance().logContentView(new ContentViewEvent()
  103 + .putContentName("ListaProjetosFragment")
  104 + .putContentType("Fragment")
  105 + .putCustomAttribute("tipoProjeto", tipoProjeto));
100 } 106 }
101 107
102 108
app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java
@@ -27,6 +27,8 @@ import com.parse.ParseObject; @@ -27,6 +27,8 @@ import com.parse.ParseObject;
27 import com.parse.ParseQuery; 27 import com.parse.ParseQuery;
28 import com.parse.ParseUser; 28 import com.parse.ParseUser;
29 29
  30 +import java.text.NumberFormat;
  31 +
30 /** 32 /**
31 * Created by geral_000 on 20/06/2015. 33 * Created by geral_000 on 20/06/2015.
32 */ 34 */
@@ -125,10 +127,10 @@ public class PoliticoFichaFragment extends Fragment { @@ -125,10 +127,10 @@ public class PoliticoFichaFragment extends Fragment {
125 facebook.setText(politico.get("facebook").toString()); 127 facebook.setText(politico.get("facebook").toString());
126 //gastos 128 //gastos
127 TextView gastos = (TextView) view.findViewById(R.id.gastos); 129 TextView gastos = (TextView) view.findViewById(R.id.gastos);
128 - gastos.setText(politico.get("gasto_campanha").toString()); 130 + gastos.setText(politico.get("gasto_campanha").toString().replace(",","").replace(".",","));
129 //bens declarados 131 //bens declarados
130 TextView bens = (TextView) view.findViewById(R.id.bens); 132 TextView bens = (TextView) view.findViewById(R.id.bens);
131 - bens.setText(politico.get("bens_declarados").toString()); 133 + bens.setText(politico.get("bens_declarados").toString().replace(",", "").replace(".",","));
132 134
133 return view; 135 return view;
134 } 136 }
app/src/main/java/com/monitorabrasil/monitoralegislativo/util/MyValueFormatter.java
@@ -3,6 +3,7 @@ package com.monitorabrasil.monitoralegislativo.util; @@ -3,6 +3,7 @@ package com.monitorabrasil.monitoralegislativo.util;
3 import com.github.mikephil.charting.utils.ValueFormatter; 3 import com.github.mikephil.charting.utils.ValueFormatter;
4 4
5 import java.text.DecimalFormat; 5 import java.text.DecimalFormat;
  6 +import java.text.NumberFormat;
6 7
7 /** 8 /**
8 * Created by geral_000 on 21/06/2015. 9 * Created by geral_000 on 21/06/2015.
@@ -17,7 +18,7 @@ public class MyValueFormatter implements ValueFormatter { @@ -17,7 +18,7 @@ public class MyValueFormatter implements ValueFormatter {
17 18
18 @Override 19 @Override
19 public String getFormattedValue(float value) { 20 public String getFormattedValue(float value) {
20 - return "R$" + mFormat.format(value) ; 21 + return "R$" + NumberFormat.getCurrencyInstance().format(value) ;
21 } 22 }
22 23
23 } 24 }
app/src/main/res/drawable-hdpi/ic_action_person.png 0 → 100644

575 Bytes

app/src/main/res/drawable-mdpi/ic_action_person.png 0 → 100644

411 Bytes

app/src/main/res/drawable-xhdpi/ic_action_person.png 0 → 100644

760 Bytes

app/src/main/res/drawable-xxhdpi/ic_action_person.png 0 → 100644

1.11 KB

app/src/main/res/layout/activity_login.xml
@@ -30,6 +30,14 @@ @@ -30,6 +30,14 @@
30 30
31 <LinearLayout android:id="@+id/email_login_form" android:layout_width="match_parent" 31 <LinearLayout android:id="@+id/email_login_form" android:layout_width="match_parent"
32 android:layout_height="wrap_content" android:orientation="vertical"> 32 android:layout_height="wrap_content" android:orientation="vertical">
  33 + <ImageButton
  34 + android:layout_width="50dp"
  35 + android:paddingTop="5dp"
  36 + android:layout_height="50dp"
  37 + android:visibility="gone"
  38 + android:layout_gravity="center"
  39 + android:background="@drawable/person_1"
  40 + android:id="@+id/btnFoto"/>
33 <android.support.design.widget.TextInputLayout 41 <android.support.design.widget.TextInputLayout
34 android:layout_width="match_parent" 42 android:layout_width="match_parent"
35 android:layout_height="wrap_content"> 43 android:layout_height="wrap_content">
app/src/main/res/layout/activity_sobre.xml 0 → 100644
@@ -0,0 +1,66 @@ @@ -0,0 +1,66 @@
  1 +<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2 + xmlns:app="http://schemas.android.com/apk/res-auto"
  3 + android:id="@+id/main_content"
  4 + android:layout_width="match_parent"
  5 + android:layout_height="match_parent">
  6 +
  7 +
  8 + <android.support.design.widget.AppBarLayout
  9 + android:id="@+id/appbar"
  10 + android:layout_width="match_parent"
  11 + android:layout_height="70dp"
  12 + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
  13 + android:fitsSystemWindows="true">
  14 +
  15 + <android.support.v7.widget.Toolbar
  16 + android:id="@+id/toolbar"
  17 + android:layout_height="70dp"
  18 + android:gravity="bottom"
  19 + android:paddingBottom="12dp"
  20 + android:paddingTop="16dp"
  21 + android:minHeight="?attr/actionBarSize"
  22 + app:layout_scrollFlags="scroll|exitUntilCollapsed"
  23 + android:layout_width="match_parent"
  24 + app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
  25 + app:layout_collapseMode="pin" />
  26 +
  27 +
  28 + <android.support.design.widget.TabLayout
  29 + android:id="@+id/tabLayout"
  30 + android:layout_width="match_parent"
  31 + android:layout_height="wrap_content"
  32 + app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
  33 +
  34 +
  35 +
  36 + </android.support.design.widget.AppBarLayout>
  37 +
  38 +<LinearLayout android:layout_width="match_parent"
  39 + android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
  40 + android:paddingRight="@dimen/activity_horizontal_margin"
  41 + android:paddingTop="90dp"
  42 + android:paddingBottom="@dimen/activity_vertical_margin"
  43 + android:orientation="vertical">
  44 +<ImageView
  45 + android:layout_width="fill_parent"
  46 + android:layout_height="80dp" android:src="@drawable/marca_1024_500" android:paddingBottom="15dp"/>
  47 +
  48 + <TextView
  49 + android:layout_width="fill_parent"
  50 + android:layout_height="wrap_content"
  51 + android:text="@string/sobre"/>
  52 +
  53 + <TextView
  54 + android:layout_width="fill_parent"
  55 + android:layout_height="wrap_content"
  56 + android:id="@+id/credito"
  57 + android:autoLink="email"
  58 + android:text="@string/credito"/>
  59 + <TextView
  60 + android:layout_width="wrap_content"
  61 + android:layout_height="wrap_content" android:layout_gravity="right"
  62 + android:text="Versão" android:id="@+id/versao"/>
  63 +
  64 +
  65 +</LinearLayout>
  66 +</android.support.design.widget.CoordinatorLayout>
0 \ No newline at end of file 67 \ No newline at end of file
app/src/main/res/layout/fragment_home.xml
@@ -79,4 +79,11 @@ @@ -79,4 +79,11 @@
79 </LinearLayout> 79 </LinearLayout>
80 80
81 </android.support.v4.widget.NestedScrollView> 81 </android.support.v4.widget.NestedScrollView>
  82 + <android.support.design.widget.FloatingActionButton
  83 + android:id="@+id/fab"
  84 + android:layout_width="wrap_content"
  85 + android:layout_height="wrap_content"
  86 + android:layout_gravity="end|bottom"
  87 + android:layout_margin="@dimen/fab_margin"
  88 + android:src="@android:drawable/ic_menu_share" />
82 </FrameLayout> 89 </FrameLayout>
app/src/main/res/menu/menu_main.xml
1 <menu xmlns:android="http://schemas.android.com/apk/res/android" 1 <menu xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:app="http://schemas.android.com/apk/res-auto" 2 xmlns:app="http://schemas.android.com/apk/res-auto"
3 xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> 3 xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
4 - <item android:id="@+id/action_settings" android:title="@string/action_sobre" 4 + <item android:id="@+id/action_sobre" android:title="@string/action_sobre"
5 android:orderInCategory="100" app:showAsAction="never" /> 5 android:orderInCategory="100" app:showAsAction="never" />
6 </menu> 6 </menu>
app/src/main/res/menu/menu_sobre.xml 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +<menu xmlns:android="http://schemas.android.com/apk/res/android"
  2 + xmlns:app="http://schemas.android.com/apk/res-auto"
  3 + xmlns:tools="http://schemas.android.com/tools"
  4 + tools:context="com.monitorabrasil.monitoralegislativo.SobreActivity">
  5 +
  6 +</menu>
app/src/main/res/mipmap-hdpi/ic_action_share.png 0 → 100644

1.28 KB

app/src/main/res/mipmap-hdpi/ic_launcher.png

3.34 KB | W: | H:

2.6 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/mipmap-mdpi/ic_action_share.png 0 → 100644

731 Bytes

app/src/main/res/mipmap-mdpi/ic_launcher.png

2.15 KB | W: | H:

1.61 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/mipmap-xhdpi/ic_action_share.png 0 → 100644

1.9 KB

app/src/main/res/mipmap-xhdpi/ic_launcher.png

4.73 KB | W: | H:

3.52 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/mipmap-xxhdpi/ic_action_share.png 0 → 100644

2.97 KB

app/src/main/res/mipmap-xxhdpi/ic_launcher.png

7.54 KB | W: | H:

5.94 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/mipmap-xxxhdpi/ic_action_share.png 0 → 100644

3.48 KB

app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 0 → 100644

8.64 KB

app/src/main/res/values/colors.xml
@@ -3,15 +3,19 @@ @@ -3,15 +3,19 @@
3 <color name="grey">#ddd</color> 3 <color name="grey">#ddd</color>
4 <color name="black">#000</color> 4 <color name="black">#000</color>
5 5
6 - <color name="colorPrimaryLight">#C8E6C9</color>  
7 - <color name="colorPrimary">#4CAF50</color>  
8 - <color name="colorPrimaryDark">#388E3C</color> 6 + <color name="colorPrimary">#FF5722</color>
  7 + <color name="colorPrimaryDark">#E64A19</color>
  8 + <color name="colorPrimaryLight">#FFCCBC</color>
  9 + <color name="colorAccent">#536DFE</color>
9 <color name="colorPrimarytext">#212121</color> 10 <color name="colorPrimarytext">#212121</color>
10 <color name="colorSecondText">#727272</color> 11 <color name="colorSecondText">#727272</color>
  12 + <color name="icons">#FFFFFF</color>
  13 + <color name="divider">#B6B6B6</color>
  14 +
  15 +
11 <color name="coloLink">#1ea4f7</color> 16 <color name="coloLink">#1ea4f7</color>
12 - <color name="colorDivider">#ccc</color> 17 + <color name="colorDivider">#B6B6B6</color>
13 18
14 - <color name="colorAccent">#448AFF</color>  
15 19
16 <color name="colorFAB">#FF9800</color> 20 <color name="colorFAB">#FF9800</color>
17 <color name="colorFABPressed">#F57C00</color> 21 <color name="colorFABPressed">#F57C00</color>
app/src/main/res/values/strings.xml
@@ -17,10 +17,14 @@ @@ -17,10 +17,14 @@
17 17
18 <string name="projeto_apoio">Apoio</string> 18 <string name="projeto_apoio">Apoio</string>
19 <string name="projeto_naoapoio">Não Apoio</string> 19 <string name="projeto_naoapoio">Não Apoio</string>
20 - <string name="title_activity_comentario">ComentarioActivity</string> 20 + <string name="title_activity_comentario">Comente</string>
21 21
22 <!-- TODO: Remove or change this placeholder text --> 22 <!-- TODO: Remove or change this placeholder text -->
23 <string name="hello_blank_fragment">Hello blank fragment</string> 23 <string name="hello_blank_fragment">Hello blank fragment</string>
  24 + <string name="title_activity_sobre">Sobre</string>
24 25
  26 + <string name="hello_world">Hello world!</string>
  27 + <string name="sobre">O ParticipaCidadão é um aplicativo em fase experimental destinado a tornar mais fácil e atraente a conexão/interação do cidadão com a Câmara de Vereadores e com temas públicos. Em outras palavras, é também uma plataforma de cidadania e democracia para o cidadão que quer participar mais ativamente do desenvolvimento de sua cidade.\n\n Essa versão piloto, por enquanto, só disponibiliza os dados da Câmara Municipal de Ouro Branco/MG. Entretanto, gradativamente, outros municípios serão incluídos na base de dados. \n\n Mais do que um aplicativo, é uma atitude! Participe! Venha construir conosco as cidades do Brasil de 2030.</string>
  28 + <string name="credito">Agradecimentos:\nWesley Rocha wesleyweb@gmail.com - criador da logomarca</string>
25 29
26 </resources> 30 </resources>