diff --git a/app/app.iml b/app/app.iml index 32f9687..5299c48 100644 --- a/app/app.iml +++ b/app/app.iml @@ -75,7 +75,7 @@ - + @@ -117,11 +117,11 @@ - + @@ -139,7 +139,6 @@ - @@ -149,6 +148,7 @@ + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 266c1c0..3685969 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,7 +40,7 @@ dependencies { compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.google.android.gms:play-services:7.5.0' compile 'com.facebook.android:facebook-android-sdk:4.1.0' - compile 'com.beardedhen:androidbootstrap:+' + compile 'com.beardedhen:androidbootstrap:2.0.0' compile 'com.mcxiaoke.volley:library:1.0.+' compile('com.twitter.sdk.android:twitter-core:1.4.1@aar') { transitive = true; diff --git a/app/src/main/assets/fonts/fontawesome-webfont-v440.ttf b/app/src/main/assets/fonts/fontawesome-webfont-v440.ttf new file mode 100644 index 0000000..d7994e1 Binary files /dev/null and b/app/src/main/assets/fonts/fontawesome-webfont-v440.ttf differ diff --git a/app/src/main/assets/fonts/typicons-v207.ttf b/app/src/main/assets/fonts/typicons-v207.ttf new file mode 100644 index 0000000..f7df94b Binary files /dev/null and b/app/src/main/assets/fonts/typicons-v207.ttf differ diff --git a/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java b/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java index c1e4621..7ae696f 100644 --- a/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java @@ -45,7 +45,7 @@ import java.util.Map; public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCallbacks { - private final static String mActivityTitle = "RiskMap"; + private final static String mActivityTitle = "Risk Map"; private static final String TAG = MapsActivity.class.getSimpleName(); private static GoogleMap mMap; diff --git a/app/src/main/java/org/deke/risk/riskahead/ProfileActivity.java b/app/src/main/java/org/deke/risk/riskahead/ProfileActivity.java index 9296249..7881f97 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ProfileActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ProfileActivity.java @@ -3,6 +3,7 @@ package org.deke.risk.riskahead; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; +import android.widget.TextView; import org.deke.risk.riskahead.helper.BaseActivity; @@ -11,9 +12,14 @@ public class ProfileActivity extends BaseActivity { private final static String mActivityTitle = "User Profile"; private final static String TAG = ProfileActivity.class.getSimpleName(); + private TextView txtMemberSince; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + txtMemberSince = (TextView) findViewById(R.id.txt_profile_membersince); + txtMemberSince.setText(user.get("created_at")); } @Override @@ -24,7 +30,9 @@ public class ProfileActivity extends BaseActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { - return item.getItemId() == R.id.action_settings || super.onOptionsItemSelected(item); + int id = item.getItemId(); + + return super.onOptionsItemSelected(item); } @Override diff --git a/app/src/main/java/org/deke/risk/riskahead/ReportActivity.java b/app/src/main/java/org/deke/risk/riskahead/ReportActivity.java index 39fe3ae..0a8c2b6 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ReportActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ReportActivity.java @@ -14,6 +14,7 @@ import android.widget.ArrayAdapter; import android.widget.DatePicker; import android.widget.EditText; import android.widget.Spinner; +import android.widget.TextView; import android.widget.TimePicker; import android.widget.Toast; @@ -55,6 +56,7 @@ public class ReportActivity extends BaseActivity { private EditText txtPosition; private EditText txtDay; private EditText txtTime; + private TextView txtPositionDetail; private String latitude, longitude; @@ -83,6 +85,7 @@ public class ReportActivity extends BaseActivity { txtDay = (EditText) findViewById(R.id.input_report_date); txtTime = (EditText) findViewById(R.id.input_report_time); txtPosition = (EditText) findViewById(R.id.input_report_position); + txtPositionDetail = (TextView) findViewById(R.id.lbl_report_position_detail); restoreSharedPreferences(); @@ -116,6 +119,7 @@ public class ReportActivity extends BaseActivity { try { List
addresses = geocoder.getFromLocation(Double.parseDouble(position[0]), Double.parseDouble(position[1]), 1); txtPosition.setText(addresses.get(0).getLocality()); + txtPositionDetail.setText(addresses.get(0).getAddressLine(0)); latitude = position[0]; longitude = position[1]; } catch (IOException e) { @@ -138,7 +142,7 @@ public class ReportActivity extends BaseActivity { showDialog(DATE_DIALOG_ID); } }); - + txtPosition.setEnabled(false); txtTime.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java b/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java index 0887ab3..5c97df1 100644 --- a/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java @@ -71,14 +71,19 @@ public class SettingsActivity extends BaseActivity { findViewById(R.id.btn_settings_change).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - new AlertDialog.Builder(getApplicationContext()) + if(txtPassword.getText() != null && txtPassword.getText().toString().isEmpty()){ + showMessage("Enter your password to confirm profile changes"); + return; + } + + new AlertDialog.Builder(SettingsActivity.this) .setTitle("Confirm changes") .setMessage("Do you really want to confirm changes? ") .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { - - - showMessage("Has to be implemented :)"); + String tag_string_req = "updateuser"; + StringRequest strReq = getStringChangeUserSettings(); + AppController.getInstance().addToRequestQueue(strReq, tag_string_req); } }) .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { @@ -105,6 +110,62 @@ public class SettingsActivity extends BaseActivity { @Override protected String getActivityName() { return mActivityTitle; } + private StringRequest getStringChangeUserSettings() { + return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener() { + + @Override + public void onResponse(String response) { + Log.d(TAG, "Change user settings: " + response); + + try { + JSONObject jObj = new JSONObject(response); + boolean error = jObj.getBoolean("error"); + if (!error) { + showMessage(jObj.getString("msg")); + JSONObject user = jObj.getJSONObject("user"); + db.updateUser(jObj.getString("uid"),user.getString("username"),user.getString("name"),user.getString("surname"),user.getString("email"),user.getString("status"),null,user.getString("created_at"),user.getString("updated_at"),user.getString("token")); + finish(); + startActivity(getIntent()); + } else { + + String errorMsg = jObj.getString("error_msg"); + Toast.makeText(getApplicationContext(), + errorMsg, Toast.LENGTH_LONG).show(); + } + } catch (JSONException e) { + e.printStackTrace(); + } + + } + }, new Response.ErrorListener() { + + @Override + public void onErrorResponse(VolleyError error) { + Log.e(TAG, "Change user settings Error: " + error.getMessage()); + Toast.makeText(getApplicationContext(), + error.getMessage(), Toast.LENGTH_LONG).show(); + } + }) { + + @Override + protected Map getParams() { + // Posting params to register url + Map params = new HashMap(); + params.put("tag", "updateuser"); + params.put("uid", user.get("uid")); + params.put("token", user.get("token")); + params.put("email", user.get("email")); + params.put("username", txtUsername.getText().toString()); + params.put("name", txtName.getText().toString()); + params.put("surname", txtSurname.getText().toString()); + params.put("newemail", txtEmail.getText().toString()); + params.put("password", txtPassword.getText().toString()); + + return params; + } + }; + } + private StringRequest getStringRequestResetPW(final String email) { return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener() { diff --git a/app/src/main/java/org/deke/risk/riskahead/StartActivity.java b/app/src/main/java/org/deke/risk/riskahead/StartActivity.java index a19fda0..929e159 100644 --- a/app/src/main/java/org/deke/risk/riskahead/StartActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/StartActivity.java @@ -56,10 +56,6 @@ public class StartActivity extends AppCompatActivity { public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - if (id == R.id.action_settings) { - return true; - } - return super.onOptionsItemSelected(item); } } diff --git a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java index 43beb4c..54e52cd 100644 --- a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java @@ -17,7 +17,7 @@ public class SubscriptionsActivity extends BaseActivity { @Override protected int getLayoutResourceId() { - return R.layout.activity_settings; + return R.layout.activity_subscriptions; } @Override diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/AppController.java b/app/src/main/java/org/deke/risk/riskahead/helper/AppController.java index bfee9f2..b9ddecd 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/AppController.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/AppController.java @@ -7,6 +7,7 @@ import android.util.Log; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.toolbox.Volley; +import com.beardedhen.androidbootstrap.TypefaceProvider; public class AppController extends Application { @@ -19,6 +20,8 @@ public class AppController extends Application { public void onCreate() { super.onCreate(); mInstance = this; + + TypefaceProvider.registerDefaultIconSets(); } public static synchronized AppController getInstance() { diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java b/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java index 328303a..27d82f0 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java @@ -20,6 +20,7 @@ import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; +import com.beardedhen.androidbootstrap.TypefaceProvider; import com.google.android.gms.maps.model.LatLng; import org.deke.risk.riskahead.LoginActivity; @@ -135,7 +136,7 @@ public abstract class BaseActivity extends AppCompatActivity { } private void addDrawerItems() { - String[] osArray = { "Start", "Report", "Incident Map", " User Profile", "Account Settings", "Subscriptions", "Logout" }; + String[] osArray = { "Start", "Report", "Incident Map", "User Profile", "Account Settings", "Subscriptions", "Logout" }; mAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, osArray); mDrawerList.setAdapter(mAdapter); diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/SQLiteHandler.java b/app/src/main/java/org/deke/risk/riskahead/helper/SQLiteHandler.java index 3b528eb..9799ebb 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/SQLiteHandler.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/SQLiteHandler.java @@ -90,6 +90,11 @@ public class SQLiteHandler extends SQLiteOpenHelper { Log.d(TAG, "New user inserted into sqlite: " + id); } + public void updateUser(String uid, String username, String name, String surname, String email, String status, String provider_type, String created_at, String updated_at, String token) { + deleteUsers(); + addUser(uid,username,name,surname,email,status,provider_type,created_at,updated_at,token); + } + /** * Getting user data from database * */ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index bdaaacf..59fb5c9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" xmlns:bootstrap="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" - android:background="@drawable/bg_main2" + android:background="#8ae6e6e6" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> @@ -13,81 +13,77 @@ android:layout_width="match_parent" android:layout_height="match_parent" > - + android:gravity="center" + android:layout_marginTop="79dp" + android:layout_centerInParent="true"> - + + + + + + + - - + android:layout_marginBottom="0dp"> + android:layout_marginRight="20dp" + bootstrap:bootstrapText="@string/btn_main_report" + bootstrap:bootstrapBrand="danger" + bootstrap:roundedCorners="true" /> + android:layout_height="wrap_content" + android:layout_marginLeft="20dp" + bootstrap:bootstrapText="@string/btn_main_viewmap" + bootstrap:bootstrapBrand="primary" + bootstrap:roundedCorners="true"/> diff --git a/app/src/main/res/layout/activity_maps.xml b/app/src/main/res/layout/activity_maps.xml index 10edfe2..7776ff4 100644 --- a/app/src/main/res/layout/activity_maps.xml +++ b/app/src/main/res/layout/activity_maps.xml @@ -23,12 +23,12 @@ diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml index 1c851cd..93f26ac 100644 --- a/app/src/main/res/layout/activity_profile.xml +++ b/app/src/main/res/layout/activity_profile.xml @@ -5,7 +5,7 @@ android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/bg_main2" + android:background="#8ae6e6e6" tools:context="org.deke.risk.riskahead.ProfileActivity"> + android:textColor="#000000"/> + android:textColor="#007197"/> + android:textColor="#007197"/> @@ -58,7 +58,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" - android:textColor="#FF0099CC"/> + android:textColor="#007197"/> + android:textColor="#007197"/> @@ -76,7 +76,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" - android:textColor="#FF0099CC"/> + android:textColor="#007197"/> + android:textColor="#007197"/> @@ -94,7 +94,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" - android:textColor="#FF0099CC"/> + android:textColor="#007197"/> + android:textColor="#007197"/> diff --git a/app/src/main/res/layout/activity_report.xml b/app/src/main/res/layout/activity_report.xml index cd928c9..1af8662 100644 --- a/app/src/main/res/layout/activity_report.xml +++ b/app/src/main/res/layout/activity_report.xml @@ -3,16 +3,23 @@ xmlns:tools="http://schemas.android.com/tools" xmlns:bootstrap="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" - android:background="@drawable/bg_main2" + android:background="#8ae6e6e6" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ReportActivity"> + + + + + + + + bootstrap:bootstrapBrand="danger" + bootstrap:roundedCorners="true" /> + - + + + - - - + + + + + + + diff --git a/app/src/main/res/layout/fragment_facebook_button.xml b/app/src/main/res/layout/fragment_facebook_button.xml index 095c094..cb301f1 100644 --- a/app/src/main/res/layout/fragment_facebook_button.xml +++ b/app/src/main/res/layout/fragment_facebook_button.xml @@ -9,11 +9,10 @@ android:id="@+id/btn_login_fb" android:layout_width="225dp" android:layout_height="50dp" - android:text="Facebook" + bootstrap:bootstrapText="{fa_facebook_f} Facebook" android:layout_above="@+id/btn_login_fb" - bootstrap:bb_icon_left="fa-facebook-f" - bootstrap:bb_type="primary" - bootstrap:bb_roundedCorners="true" + bootstrap:bootstrapBrand="primary" + bootstrap:roundedCorners="true" /> diff --git a/app/src/main/res/layout/fragment_googleplus_button.xml b/app/src/main/res/layout/fragment_googleplus_button.xml index eb299cd..dbf279d 100644 --- a/app/src/main/res/layout/fragment_googleplus_button.xml +++ b/app/src/main/res/layout/fragment_googleplus_button.xml @@ -8,11 +8,10 @@ android:id="@+id/btn_login_gp" android:layout_width="225dp" android:layout_height="50dp" - android:text="Google+" + bootstrap:bootstrapText="{fa_google_plus} Google+" android:layout_above="@+id/btn_login_gp" - bootstrap:bb_icon_left="fa-google-plus-square" - bootstrap:bb_type="danger" - bootstrap:bb_roundedCorners="true" + bootstrap:bootstrapBrand="danger" + bootstrap:roundedCorners="true" /> diff --git a/app/src/main/res/layout/fragment_twitter_button.xml b/app/src/main/res/layout/fragment_twitter_button.xml index 85635cc..b93cdeb 100644 --- a/app/src/main/res/layout/fragment_twitter_button.xml +++ b/app/src/main/res/layout/fragment_twitter_button.xml @@ -8,11 +8,10 @@ android:id="@+id/btn_login_twitter" android:layout_width="225dp" android:layout_height="50dp" - android:text="Twitter" + bootstrap:bootstrapText="{fa_twitter} Twitter" android:layout_above="@+id/btn_login_gp" - bootstrap:bb_icon_left="fa-twitter" - bootstrap:bb_type="info" - bootstrap:bb_roundedCorners="true" + bootstrap:bootstrapBrand="info" + bootstrap:roundedCorners="true" /> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index a3abf3b..486c07f 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -4,6 +4,7 @@ 16dp 13dp 13dp + 4dp 10dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f973842..d55c57b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -20,16 +20,11 @@ Signing in... Signing out... - Log in with Google+ - Log out from Google+ - Log in with Facebook - Log out from Facebook - RiskAhead Risk Ahead Logout - Confirm changes + {fa_paint_brush} Confirm changes Welcome Open navigation drawer @@ -47,22 +42,22 @@ Base User Profile - RiskMap + Risk Map + Report Incident + User Settings Label Location search settings - SettingsActivity - SubscriptionsActivity + Subscriptions We have currently ... ... reported incidents Contribute and share your information - Report - View Map + {fa_map_marker} Report + {fa_info} View Map - ReportActivity short description long descpription Title @@ -70,25 +65,30 @@ Crime Category Time (hh:mm) Date (dd-mm-yyyy) of incident + Name Surname E-Mail Username + Profile stats member since points ranking number of posts - View posts + {fa_search} View posts + Confirm Password - Change password + {fa_paint_brush} Change password Retype Password + About Help Exit + Position - Position - Report this position! + {fa_search} Position + {fa_paint_brush} Report this position! Personal diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d98b7ed..4c87d27 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -2,4 +2,10 @@ + +