Commit cc689fce67319d5caa7a9fc2c5b7eaebabbbc6b2
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
app/app.iml
| @@ -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> |
5.76 KB
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< | @@ -77,6 +81,9 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -85,23 +92,39 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -112,13 +135,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -153,6 +174,8 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -163,7 +186,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -186,7 +209,38 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -194,10 +248,10 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -216,7 +270,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -279,7 +333,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -292,11 +346,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -306,9 +360,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -370,7 +422,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -388,7 +440,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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< | @@ -406,94 +458,8 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks< | ||
| 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<ProjetoAdapter.ViewHold | @@ -225,9 +225,11 @@ public class ProjetoAdapter extends RecyclerView.Adapter<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 | } |
575 Bytes
411 Bytes
760 Bytes
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"> |
| @@ -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> |
1.28 KB
app/src/main/res/mipmap-hdpi/ic_launcher.png
731 Bytes
app/src/main/res/mipmap-mdpi/ic_launcher.png
1.9 KB
app/src/main/res/mipmap-xhdpi/ic_launcher.png
2.97 KB
app/src/main/res/mipmap-xxhdpi/ic_launcher.png
3.48 KB
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> |