diff --git a/app/app.iml b/app/app.iml index aacbaf1..34642f2 100644 --- a/app/app.iml +++ b/app/app.iml @@ -71,38 +71,25 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + @@ -115,46 +102,33 @@ - + - + + - - - - + + + - - - - - + - - - - - - - + + + - - - - - - - + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index ed480bf..2582b06 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ apply plugin: 'io.fabric' apply plugin: 'com.google.gms.google-services' android { - compileSdkVersion 22 - buildToolsVersion "22.0.1" + compileSdkVersion 23 + buildToolsVersion "23.0.1" defaultConfig { applicationId "org.deke.risk.riskahead" @@ -36,17 +36,25 @@ repositories { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) + compile fileTree(dir: 'libs', include: 'Parse-*.jar') compile('com.twitter.sdk.android:twitter-core:1.4.1@aar') { transitive = true; } - compile 'com.android.support:appcompat-v7:22.2.1' - compile 'com.google.android.gms:play-services:8.3.0' + compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.mikepenz:iconics-core:2.5.1@aar' + compile 'com.mikepenz:google-material-typeface:2.1.0.1.original@aar' + compile 'com.google.android.gms:play-services-gcm:8.3.0' + compile 'com.google.android.gms:play-services-plus:8.3.0' + compile 'com.google.android.gms:play-services-location:8.3.0' + compile 'com.google.android.gms:play-services-ads:8.3.0' compile 'com.facebook.android:facebook-android-sdk:4.1.0' compile 'com.beardedhen:androidbootstrap:2.0.1' - compile 'com.mcxiaoke.volley:library:1.0.+' - compile 'com.android.support:design:22.2.0' + compile 'com.mcxiaoke.volley:library:1.0.19' + compile 'com.android.support:design:23.1.1' compile 'com.google.code.gson:gson:2.4' - compile 'com.google.maps.android:android-maps-utils:0.3.+' - compile 'com.android.support:support-v4:22.2.1' + compile 'com.google.maps.android:android-maps-utils:0.4' + compile 'com.android.support:support-v4:23.1.1' + compile('com.mikepenz:materialdrawer:4.5.8@aar') { + transitive = true + } } diff --git a/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java b/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java index beb4335..52eecdb 100644 --- a/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java @@ -18,9 +18,9 @@ import android.widget.Button; import android.widget.TextView; import android.widget.Toast; -import org.deke.risk.riskahead.fragments.FacebookButtonFragment; -import org.deke.risk.riskahead.fragments.GooglePlusButtonFragment; -import org.deke.risk.riskahead.fragments.TwitterButtonFragment; +import org.deke.risk.riskahead.fragment.FacebookButtonFragment; +import org.deke.risk.riskahead.fragment.GooglePlusButtonFragment; +import org.deke.risk.riskahead.fragment.TwitterButtonFragment; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; import org.deke.risk.riskahead.helper.SessionManager; diff --git a/app/src/main/java/org/deke/risk/riskahead/MainActivity.java b/app/src/main/java/org/deke/risk/riskahead/MainActivity.java index 76f7b9a..9d3bde7 100644 --- a/app/src/main/java/org/deke/risk/riskahead/MainActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/MainActivity.java @@ -1,18 +1,23 @@ package org.deke.risk.riskahead; import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.FragmentManager; import android.util.Log; import android.view.View; +import android.widget.Button; import android.widget.TextView; -import android.widget.Toast; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; +import com.beardedhen.androidbootstrap.font.FontAwesome; +import com.mikepenz.google_material_typeface_library.GoogleMaterial; +import com.mikepenz.iconics.IconicsDrawable; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; @@ -36,6 +41,9 @@ public class MainActivity extends BaseActivity{ private final static int INTERVAL = 1000 * 20; //20 seconds + private Button report; + private Button map; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -46,19 +54,36 @@ public class MainActivity extends BaseActivity{ fragmentManager = getSupportFragmentManager(); - findViewById(R.id.btn_main_report).setOnClickListener(new View.OnClickListener() { + report = (Button) findViewById(R.id.btn_main_report); + report.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { gotoReportActivity(); } }); - findViewById(R.id.btn_main_viewmap).setOnClickListener(new View.OnClickListener() { + Drawable reportIcon = new IconicsDrawable(this) + .icon(GoogleMaterial.Icon.gmd_room) + .sizeDp(24); + + report.setCompoundDrawables(reportIcon, null, null, null); + + map = (Button) findViewById(R.id.btn_main_viewmap); + + map.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { gotoMapActivity(); } }); + + Drawable mapIcon = new IconicsDrawable(this) + .icon(GoogleMaterial.Icon.gmd_map) + .sizeDp(24); + + map.setCompoundDrawables(null,null, mapIcon, null); + + } @@ -82,6 +107,7 @@ public class MainActivity extends BaseActivity{ @Override protected void onResume(){ super.onResume(); + result.setSelection(mainAvtivityID,false); startRepeatingTask(); } 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 bc44366..da72bd3 100644 --- a/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java @@ -38,7 +38,7 @@ import com.google.maps.android.clustering.Cluster; import com.google.maps.android.clustering.ClusterManager; import com.google.maps.android.heatmaps.HeatmapTileProvider; -import org.deke.risk.riskahead.helper.AppClusterItem; +import org.deke.risk.riskahead.helper.IncidentReport; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; import org.deke.risk.riskahead.helper.BaseActivity; @@ -55,7 +55,7 @@ import java.util.Map; public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCallbacks, - ClusterManager.OnClusterItemInfoWindowClickListener, ClusterManager.OnClusterClickListener, ClusterManager.OnClusterItemClickListener{ + ClusterManager.OnClusterItemInfoWindowClickListener, ClusterManager.OnClusterClickListener, ClusterManager.OnClusterItemClickListener{ private final static String mActivityTitle = "Risk Map"; private static final String TAG = MapsActivity.class.getSimpleName(); @@ -63,12 +63,12 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa private static GoogleMap mMap; private Marker mMarker; - private AppClusterItem clickedClusterItem; - private ArrayList myMarkers = new ArrayList(); - private HashMap visibleMarkers = new HashMap(); + private IncidentReport clickedClusterItem; + private ArrayList myMarkers = new ArrayList(); + private HashMap visibleMarkers = new HashMap(); private List mHeatMapPositionList = new ArrayList<>(); - private ClusterManager mClusterManager; + private ClusterManager mClusterManager; TileOverlay mOverlay; HeatmapTileProvider mProvider; @@ -115,6 +115,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa }); setUpClustering(); + result.setSelection(mapAvtivityID,false); } public GoogleMap.OnCameraChangeListener getCameraChangeListener() @@ -146,7 +147,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds; mHeatMapPositionList.clear(); //Loop through all the items that are available to be placed on the map - for(AppClusterItem item : myMarkers) + for(IncidentReport item : myMarkers) { //If the item is within the the bounds of the screen if(bounds.contains(item.getPosition())) @@ -184,7 +185,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa private void setUpClustering() { - mClusterManager = new ClusterManager(this, mMap); + mClusterManager = new ClusterManager(this, mMap); mMap.setOnCameraChangeListener(getCameraChangeListener()); mClusterManager.setRenderer(new OwnIconRendered(MapsActivity.this,mMap,mClusterManager)); @@ -199,9 +200,9 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa mClusterManager.setOnClusterClickListener(this); mClusterManager.setOnClusterItemClickListener(this); mClusterManager - .setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener() { + .setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener() { @Override - public boolean onClusterItemClick(AppClusterItem item) { + public boolean onClusterItemClick(IncidentReport item) { clickedClusterItem = item; return false; } @@ -212,12 +213,12 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa } @Override - public boolean onClusterItemClick(AppClusterItem appClusterItem) { + public boolean onClusterItemClick(IncidentReport incidentReport) { return false; } @Override - public boolean onClusterClick(Cluster cluster) { + public boolean onClusterClick(Cluster cluster) { return false; } @@ -266,7 +267,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa } } - private void addClusterMarkers(ClusterManager mClusterManager) { + private void addClusterMarkers(ClusterManager mClusterManager) { String tag_string_req = "getincidentswithposition"; StringRequest strReq = getStringRequestGetAllIncidentsWithPosition(); @@ -429,7 +430,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa JSONObject incident = incidents.getJSONObject(i); LatLng pos = new LatLng(Double.parseDouble(incident.getString("latitude")),Double.parseDouble(incident.getString("longitude"))); - myMarkers.add(new AppClusterItem(incident,pos)); + myMarkers.add(new IncidentReport(incident,pos)); } addHeatMap(); @@ -464,8 +465,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa } @Override - public void onClusterItemInfoWindowClick(AppClusterItem appClusterItem) { - gotoViewReportActivity(appClusterItem.getID()); + public void onClusterItemInfoWindowClick(IncidentReport incidentReport) { + gotoViewReportActivity(incidentReport.getID()); } @Override 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 ab3e7f4..080d70f 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ProfileActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ProfileActivity.java @@ -1,43 +1,17 @@ package org.deke.risk.riskahead; -import android.app.LocalActivityManager; -import android.content.Intent; -import android.graphics.Color; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; -import android.support.v7.widget.Toolbar; -import android.util.Log; -import android.view.MenuItem; -import android.view.View; -import android.widget.TabHost; -import android.widget.TableLayout; -import android.widget.TableRow; -import android.widget.TextView; - -import com.android.volley.Request; -import com.android.volley.Response; -import com.android.volley.VolleyError; -import com.android.volley.toolbox.StringRequest; - -import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.BaseActivity; -import org.deke.risk.riskahead.helper.ProfilePagerAdapter; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.HashMap; -import java.util.Map; +import org.deke.risk.riskahead.adapter.ProfilePagerAdapter; public class ProfileActivity extends BaseActivity{ private final static String mActivityTitle = "User Statistics"; private final static String TAG = ProfileActivity.class.getSimpleName(); - private TabHost tabs=null; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -72,6 +46,14 @@ public class ProfileActivity extends BaseActivity{ } }); + + + } + + @Override + protected void onResume() { + super.onResume(); + result.setSelection(userstatsAvtivityID, false); } @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 395e76e..24c1dcd 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ReportActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ReportActivity.java @@ -180,7 +180,7 @@ public class ReportActivity extends BaseActivity { } }); - txtDescription.addTextChangedListener(new TextValidator(txtDescription,getApplicationContext()) { + txtDescription.addTextChangedListener(new TextValidator(txtDescription, getApplicationContext()) { @Override public void validate(TextView textView, String text) { if (text.length() < 5) { @@ -189,6 +189,14 @@ public class ReportActivity extends BaseActivity { } } }); + + + } + + @Override + protected void onResume() { + super.onResume(); + result.setSelection(reportAvtivityID, false); } @Override diff --git a/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java b/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java index 223a743..24172cc 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java @@ -20,10 +20,10 @@ import com.beardedhen.androidbootstrap.BootstrapButton; import com.google.android.gms.maps.model.LatLng; import com.google.gson.Gson; -import org.deke.risk.riskahead.fragments.ReportWF_1_Fragment; -import org.deke.risk.riskahead.fragments.ReportWF_2_Fragment; -import org.deke.risk.riskahead.fragments.ReportWF_3_Fragment; -import org.deke.risk.riskahead.helper.AppClusterItem; +import org.deke.risk.riskahead.fragment.ReportWF_1_Fragment; +import org.deke.risk.riskahead.fragment.ReportWF_2_Fragment; +import org.deke.risk.riskahead.fragment.ReportWF_3_Fragment; +import org.deke.risk.riskahead.helper.IncidentReport; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; import org.deke.risk.riskahead.helper.BaseActivity; @@ -51,7 +51,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen private BootstrapButton btnContinue; private BootstrapButton btnReportNow; - private AppClusterItem incident = new AppClusterItem(); + private IncidentReport incident = new IncidentReport(); private int currentState = 0; @@ -84,7 +84,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen }); } - private void reportIncident(AppClusterItem incident){ + private void reportIncident(IncidentReport incident){ String tag_string_req = "addincidentwithposition"; StringRequest strReq = getStringRequestAddIncidentWithPosition(incident); AppController.getInstance().addToRequestQueue(strReq, tag_string_req); @@ -115,11 +115,11 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen } } - public AppClusterItem getIncident(){ + public IncidentReport getIncident(){ return incident; } - public void setIncident(AppClusterItem newIncident){ + public void setIncident(IncidentReport newIncident){ incident = newIncident; } @@ -194,7 +194,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen SharedPreferences mPrefs = getPreferences(MODE_PRIVATE); Gson gson = new Gson(); - if(!mPrefs.getString("incident", "").equals("")) incident = gson.fromJson(mPrefs.getString("incident", ""), AppClusterItem.class); + if(!mPrefs.getString("incident", "").equals("")) incident = gson.fromJson(mPrefs.getString("incident", ""), IncidentReport.class); Intent intent = getIntent(); String pos = intent.getStringExtra(EXTRA_MESSAGE); @@ -202,8 +202,11 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen currentState = mPrefs.getInt("currentState",0); if(currentState != 0) initFragment(currentState); + + result.setSelection(reportAvtivityID, false); } + @Override public void onCallMap() { gotoMapActivity(); @@ -213,9 +216,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - if((id == R.id.menu_btn_goback)){ - initFragment(currentState-1); - }else if((id == R.id.menu_btn_gotostart)){ + if((id == R.id.menu_btn_gotostart)){ initFragment(0); } @@ -223,7 +224,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen } - private StringRequest getStringRequestAddIncidentWithPosition(final AppClusterItem incident) { + private StringRequest getStringRequestAddIncidentWithPosition(final IncidentReport incident) { showDialog(); return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener() { 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 44897d9..9bef09a 100644 --- a/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java @@ -131,12 +131,23 @@ public class SettingsActivity extends BaseActivity { }); if(user.get("providerType") != null && user.get("providerType").equals("local")){ - findViewById(R.id.rl_main_content_2).setVisibility(View.VISIBLE); + findViewById(R.id.lbl_settings_password).setVisibility(View.VISIBLE); + findViewById(R.id.txt_settings_password).setVisibility(View.VISIBLE); + findViewById(R.id.btn_settings_req_password).setVisibility(View.VISIBLE); }else{ - findViewById(R.id.rl_main_content_2).setVisibility(View.INVISIBLE); + findViewById(R.id.lbl_settings_password).setVisibility(View.INVISIBLE); + findViewById(R.id.txt_settings_password).setVisibility(View.INVISIBLE); + findViewById(R.id.btn_settings_req_password).setVisibility(View.INVISIBLE); } } + + @Override + protected void onResume() { + super.onResume(); + result.setSelection(settingsAvtivityID,false); + } + @Override protected int getLayoutResourceId() { return R.layout.activity_settings; 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 7ff11fc..8a47c12 100644 --- a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java @@ -16,6 +16,12 @@ public class SubscriptionsActivity extends BaseActivity { userHasToBeLoggedIn(); } + @Override + protected void onResume() { + super.onResume(); + result.setSelection(subscriptionsAvtivityID,false); + } + @Override protected int getLayoutResourceId() { return R.layout.activity_subscriptions; diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/ProfilePagerAdapter.java b/app/src/main/java/org/deke/risk/riskahead/adapter/ProfilePagerAdapter.java similarity index 55% rename from app/src/main/java/org/deke/risk/riskahead/helper/ProfilePagerAdapter.java rename to app/src/main/java/org/deke/risk/riskahead/adapter/ProfilePagerAdapter.java index 8e9ed00..7224382 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/ProfilePagerAdapter.java +++ b/app/src/main/java/org/deke/risk/riskahead/adapter/ProfilePagerAdapter.java @@ -1,12 +1,12 @@ -package org.deke.risk.riskahead.helper; +package org.deke.risk.riskahead.adapter; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; -import org.deke.risk.riskahead.fragments.ProfileStatisticsFragment; -import org.deke.risk.riskahead.fragments.ReportListFragment; -import org.deke.risk.riskahead.fragments.Top10Fragment; +import org.deke.risk.riskahead.fragment.ProfileStatisticsFragment; +import org.deke.risk.riskahead.fragment.ReportListFragment; +import org.deke.risk.riskahead.fragment.Top10Fragment; public class ProfilePagerAdapter extends FragmentStatePagerAdapter { int mNumOfTabs; @@ -18,20 +18,21 @@ public class ProfilePagerAdapter extends FragmentStatePagerAdapter { @Override public Fragment getItem(int position) { - + Fragment returnFragment; switch (position) { case 0: - ProfileStatisticsFragment tab1 = new ProfileStatisticsFragment(); - return tab1; + returnFragment = new ProfileStatisticsFragment(); + break; case 1: - Top10Fragment tab2 = new Top10Fragment(); - return tab2; + returnFragment = new Top10Fragment(); + break; case 2: - ReportListFragment tab3 = new ReportListFragment(); - return tab3; + returnFragment = new ReportListFragment(); + break; default: return null; } + return returnFragment; } @Override diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/ReportListAdapter.java b/app/src/main/java/org/deke/risk/riskahead/adapter/ReportListAdapter.java similarity index 82% rename from app/src/main/java/org/deke/risk/riskahead/helper/ReportListAdapter.java rename to app/src/main/java/org/deke/risk/riskahead/adapter/ReportListAdapter.java index b4dbd7c..ff2d4a1 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/ReportListAdapter.java +++ b/app/src/main/java/org/deke/risk/riskahead/adapter/ReportListAdapter.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.helper; +package org.deke.risk.riskahead.adapter; import android.content.Context; import android.graphics.Color; @@ -7,10 +7,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import org.deke.risk.riskahead.R; +import org.deke.risk.riskahead.helper.IncidentReport; import org.json.JSONException; import org.json.JSONObject; @@ -48,12 +50,14 @@ public class ReportListAdapter extends BaseAdapter { @Override public View getView(int position, View convertView, ViewGroup parent) { View vi = convertView; - if (vi == null) vi = inflater.inflate(R.layout.activity_reportlist_lvrow, null); + if (vi == null) vi = inflater.inflate(R.layout.fragment_reportlist_row, null); TextView itemText = (TextView) vi.findViewById(R.id.txt_reportlist_lvrow_text); TextView titleText = (TextView) vi.findViewById(R.id.txt_reportlist_lvrow_title); TextView categoryText = (TextView) vi.findViewById(R.id.txt_reportlist_lvrow_category); LinearLayout ll = (LinearLayout) vi.findViewById(R.id.lay_reportlist_color); + ImageView iv = (ImageView) vi.findViewById(R.id.ic_reportlist_row); + try { titleText.setText(data.get(position).getString("created_at")+" : "+data.get(position).getString("text_short")); @@ -61,6 +65,9 @@ public class ReportListAdapter extends BaseAdapter { categoryText.setText(data.get(position).getString("cat_name")); titleText.setTypeface(null, Typeface.BOLD); ll.setBackgroundColor(Color.parseColor("#" + data.get(position).getString("color"))); + + IncidentReport item = new IncidentReport(data.get(position)); + iv.setBackground(parent.getContext().getDrawable(item.getIconDrawable())); } catch (JSONException e) { e.printStackTrace(); } diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/HintAdapter.java b/app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java similarity index 94% rename from app/src/main/java/org/deke/risk/riskahead/helper/HintAdapter.java rename to app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java index 6414764..2111a3a 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/HintAdapter.java +++ b/app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.helper; +package org.deke.risk.riskahead.adapter; /** * Created by Dennis on 06.12.2015. @@ -15,7 +15,7 @@ import android.widget.SpinnerAdapter; * Decorator Adapter to allow a Spinner to show a 'Nothing Selected...' initially * displayed instead of the first choice in the Adapter. */ -public class HintAdapter implements SpinnerAdapter, ListAdapter { +public class SpinnerHintAdapter implements SpinnerAdapter, ListAdapter { protected static final int EXTRA = 1; protected SpinnerAdapter adapter; @@ -33,7 +33,7 @@ public class HintAdapter implements SpinnerAdapter, ListAdapter { * you want text grayed out like a prompt... * @param context */ - public HintAdapter( + public SpinnerHintAdapter( SpinnerAdapter spinnerAdapter, int nothingSelectedLayout, Context context) { @@ -52,7 +52,7 @@ public class HintAdapter implements SpinnerAdapter, ListAdapter { * the dropdown. * @param context */ - public HintAdapter(SpinnerAdapter spinnerAdapter, int nothingSelectedLayout, int nothingSelectedDropdownLayout, Context context) { + public SpinnerHintAdapter(SpinnerAdapter spinnerAdapter, int nothingSelectedLayout, int nothingSelectedDropdownLayout, Context context) { this.adapter = spinnerAdapter; this.context = context; this.nothingSelectedLayout = nothingSelectedLayout; diff --git a/app/src/main/java/org/deke/risk/riskahead/adapter/Top10ListAdapter.java b/app/src/main/java/org/deke/risk/riskahead/adapter/Top10ListAdapter.java new file mode 100644 index 0000000..758cc25 --- /dev/null +++ b/app/src/main/java/org/deke/risk/riskahead/adapter/Top10ListAdapter.java @@ -0,0 +1,70 @@ +package org.deke.risk.riskahead.adapter; + +import android.content.Context; +import android.graphics.Typeface; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import org.deke.risk.riskahead.R; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.List; + +public class Top10ListAdapter extends BaseAdapter { + + Context context; + List data; + + private static LayoutInflater inflater = null; + + public Top10ListAdapter(Context context, List data) { + this.context = context; + this.data = data; + inflater = (LayoutInflater) context + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + } + + @Override + public int getCount() { + return data.size(); + } + + @Override + public Object getItem(int position) { + return data.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + View vi = convertView; + if (vi == null) vi = inflater.inflate(R.layout.fragment_top10list_row, null); + + TextView rank = (TextView) vi.findViewById(R.id.txt_top10_rank); + TextView name = (TextView) vi.findViewById(R.id.txt_top10_name); + TextView numberOfIncidents = (TextView) vi.findViewById(R.id.txt_top10_numberOfIncidents); + TextView memberSince = (TextView) vi.findViewById(R.id.txt_top10_membersince); + TextView points = (TextView) vi.findViewById(R.id.txt_top10_points); + + try { + rank.setText("#"+data.get(position).getString("rank")); + name.setText(data.get(position).getString("username")); + name.setTypeface(null, Typeface.BOLD); + points.setText(data.get(position).getString("points")); + + numberOfIncidents.setText(data.get(position).getString("numberOfPosts")+" reported incidents"); + memberSince.setText("Member since "+data.get(position).getString("created_at").split(" ")[0]); + } catch (JSONException e) { + e.printStackTrace(); + } + return vi; + } +} \ No newline at end of file diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/FacebookButtonFragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/FacebookButtonFragment.java similarity index 97% rename from app/src/main/java/org/deke/risk/riskahead/fragments/FacebookButtonFragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/FacebookButtonFragment.java index bb30e87..bcc1b20 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/FacebookButtonFragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/FacebookButtonFragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.app.Activity; import android.content.Intent; @@ -77,7 +77,7 @@ public class FacebookButtonFragment extends Fragment { } public interface OnFragmentInteractionListener { - public void onFragmentInteraction(Uri uri); + void onFragmentInteraction(Uri uri); } private void initFacebookButton() { diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/GooglePlusButtonFragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/GooglePlusButtonFragment.java similarity index 98% rename from app/src/main/java/org/deke/risk/riskahead/fragments/GooglePlusButtonFragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/GooglePlusButtonFragment.java index e1bcd0a..df0714f 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/GooglePlusButtonFragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/GooglePlusButtonFragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.app.Activity; import android.content.Context; @@ -238,6 +238,6 @@ public class GooglePlusButtonFragment extends Fragment implements GoogleApiClien } public interface OnFragmentInteractionListener { - public void onFragmentInteraction(Uri uri); + void onFragmentInteraction(Uri uri); } } diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/ProfileStatisticsFragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ProfileStatisticsFragment.java similarity index 97% rename from app/src/main/java/org/deke/risk/riskahead/fragments/ProfileStatisticsFragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/ProfileStatisticsFragment.java index ebfc5ab..112a234 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/ProfileStatisticsFragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ProfileStatisticsFragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.support.v4.app.Fragment; import android.os.Bundle; @@ -36,7 +36,7 @@ public class ProfileStatisticsFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - view = inflater.inflate(R.layout.activity_profile_stats, container, false); + view = inflater.inflate(R.layout.fragment_profile_stats, container, false); parent = (ProfileActivity)getActivity(); StringRequest strReq = getStringRequestProfileStats(); diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportListFragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java similarity index 95% rename from app/src/main/java/org/deke/risk/riskahead/fragments/ReportListFragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java index 73f38b1..6e8e619 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportListFragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.support.v4.app.Fragment; import android.os.Bundle; @@ -19,7 +19,7 @@ import org.deke.risk.riskahead.ProfileActivity; import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; -import org.deke.risk.riskahead.helper.ReportListAdapter; +import org.deke.risk.riskahead.adapter.ReportListAdapter; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -45,11 +45,10 @@ public class ReportListFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - view = inflater.inflate(R.layout.activity_reportlist, container, false); + view = inflater.inflate(R.layout.fragment_reportlist, container, false); parent = (ProfileActivity)getActivity(); - + Log.d(TAG,"ReportListActivated!"); myListView = (ListView) view.findViewById(R.id.lv_reportlist_list); - //setContentView(R.layout.activity_reportlist); String tag_string_req = "getincidentswithpositionfromid"; StringRequest strReq = getStringRequestGetIncidentsWithPositionFromUserID(); diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_1_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_1_Fragment.java similarity index 93% rename from app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_1_Fragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_1_Fragment.java index d2ead08..67174cc 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_1_Fragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_1_Fragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.app.Activity; import android.app.Fragment; @@ -17,8 +17,8 @@ import com.beardedhen.androidbootstrap.BootstrapButton; import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.ReportWFActivity; -import org.deke.risk.riskahead.helper.AppClusterItem; -import org.deke.risk.riskahead.helper.HintAdapter; +import org.deke.risk.riskahead.helper.IncidentReport; +import org.deke.risk.riskahead.adapter.SpinnerHintAdapter; /** * Created by Dennis on 04.12.2015. @@ -44,7 +44,7 @@ public class ReportWF_1_Fragment extends Fragment{ private boolean isMandatoryCategoryFilled; - AppClusterItem incident; + IncidentReport incident; OnInputFinishedListener mCallbackFinished; OnCallMapListener mCallbackMapListener; @@ -89,7 +89,7 @@ public class ReportWF_1_Fragment extends Fragment{ ArrayAdapter adapter_main_1 = ArrayAdapter.createFromResource(getActivity(), R.array.cat_situation_main, android.R.layout.simple_spinner_dropdown_item); adapter_main_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - crimeCategory.setAdapter(new HintAdapter(adapter_main_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); + crimeCategory.setAdapter(new SpinnerHintAdapter(adapter_main_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); crimeCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override @@ -124,9 +124,9 @@ public class ReportWF_1_Fragment extends Fragment{ ArrayAdapter adapter_sub_1 = ArrayAdapter.createFromResource(viewFragment.getContext(), stringid, android.R.layout.simple_spinner_dropdown_item); adapter_sub_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - spinner_sub_1.setAdapter(new HintAdapter(adapter_sub_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); + spinner_sub_1.setAdapter(new SpinnerHintAdapter(adapter_sub_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); - if (((HintAdapter) crimeCategory.getAdapter()).isInInitialState()) { + if (((SpinnerHintAdapter) crimeCategory.getAdapter()).isInInitialState()) { spinner_sub_1.setVisibility(View.INVISIBLE); } else { spinner_sub_1.setVisibility(View.VISIBLE); @@ -180,7 +180,7 @@ public class ReportWF_1_Fragment extends Fragment{ viewFragment.findViewById(R.id.txt_reportwf_1_cat_etc).setVisibility(View.INVISIBLE); } - if (((HintAdapter) crimeSubCategory.getAdapter()).isInInitialState()) { + if (((SpinnerHintAdapter) crimeSubCategory.getAdapter()).isInInitialState()) { isMandatoryCategoryFilled = false; checkIfFinished(); } else { diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_2_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_2_Fragment.java similarity index 94% rename from app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_2_Fragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_2_Fragment.java index ec827aa..115b2d1 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_2_Fragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_2_Fragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.app.Activity; import android.app.DatePickerDialog; @@ -21,8 +21,8 @@ import android.widget.TimePicker; import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.ReportWFActivity; -import org.deke.risk.riskahead.helper.AppClusterItem; -import org.deke.risk.riskahead.helper.HintAdapter; +import org.deke.risk.riskahead.helper.IncidentReport; +import org.deke.risk.riskahead.adapter.SpinnerHintAdapter; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -50,7 +50,7 @@ public class ReportWF_2_Fragment extends Fragment { private EditText tmpInput; - private AppClusterItem incident; + private IncidentReport incident; private boolean isMandatoryCategoryFilled; OnInputFinishedListener mCallback; @@ -132,7 +132,7 @@ public class ReportWF_2_Fragment extends Fragment { ArrayAdapter adapter_main_1 = ArrayAdapter.createFromResource(getActivity(), R.array.cat_time_main, android.R.layout.simple_spinner_dropdown_item); adapter_main_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - timeCategory.setAdapter(new HintAdapter(adapter_main_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); + timeCategory.setAdapter(new SpinnerHintAdapter(adapter_main_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); timeCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override @@ -181,16 +181,16 @@ public class ReportWF_2_Fragment extends Fragment { checkIfFinished(); - if (!((HintAdapter) timeCategory.getAdapter()).isInInitialState() && stringid != 0) { + if (!((SpinnerHintAdapter) timeCategory.getAdapter()).isInInitialState() && stringid != 0) { ArrayAdapter adapter_sub_1 = ArrayAdapter.createFromResource(viewFragment.getContext(),stringid, android.R.layout.simple_spinner_dropdown_item); adapter_sub_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - timeSubCategory.setAdapter(new HintAdapter(adapter_sub_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); + timeSubCategory.setAdapter(new SpinnerHintAdapter(adapter_sub_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); timeSubCategory.setVisibility(View.VISIBLE); } else if (stringid == 0) { timeSubCategory.setVisibility(View.INVISIBLE); } - if (((HintAdapter) timeCategory.getAdapter()).isInInitialState()) { + if (((SpinnerHintAdapter) timeCategory.getAdapter()).isInInitialState()) { isMandatoryCategoryFilled = false; checkIfFinished(); } @@ -213,7 +213,7 @@ public class ReportWF_2_Fragment extends Fragment { timeSubCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { - isMandatoryCategoryFilled = !((HintAdapter) timeSubCategory.getAdapter()).isInInitialState(); + isMandatoryCategoryFilled = !((SpinnerHintAdapter) timeSubCategory.getAdapter()).isInInitialState(); if ((position == 0) && (incident.getmFidTimeSubCat() != 0)) timeSubCategory.setSelection(incident.getmFidTimeSubCat()); diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_3_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java similarity index 89% rename from app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_3_Fragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java index 567f3ad..5648572 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/ReportWF_3_Fragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java @@ -1,4 +1,4 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; import android.app.Activity; import android.app.Fragment; @@ -13,8 +13,8 @@ import android.widget.Spinner; import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.ReportWFActivity; -import org.deke.risk.riskahead.helper.AppClusterItem; -import org.deke.risk.riskahead.helper.HintAdapter; +import org.deke.risk.riskahead.helper.IncidentReport; +import org.deke.risk.riskahead.adapter.SpinnerHintAdapter; /** * Created by Dennis on 08.12.2015. @@ -36,7 +36,7 @@ public class ReportWF_3_Fragment extends Fragment { private Spinner suspectOriginCategory; private EditText suspectEtcInput; - private AppClusterItem incident; + private IncidentReport incident; private boolean isMandatoryCategoryFilled; OnInputFinishedListener mCallback; @@ -71,7 +71,7 @@ public class ReportWF_3_Fragment extends Fragment { ArrayAdapter adapter_main_1 = ArrayAdapter.createFromResource(getActivity(), R.array.cat_suspect_main, android.R.layout.simple_spinner_dropdown_item); adapter_main_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - suspectCategory.setAdapter(new HintAdapter(adapter_main_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); + suspectCategory.setAdapter(new SpinnerHintAdapter(adapter_main_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); suspectCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override @@ -114,16 +114,16 @@ public class ReportWF_3_Fragment extends Fragment { } - if (!((HintAdapter) suspectCategory.getAdapter()).isInInitialState() && stringid != 0) { + if (!((SpinnerHintAdapter) suspectCategory.getAdapter()).isInInitialState() && stringid != 0) { ArrayAdapter adapter_sub_1 = ArrayAdapter.createFromResource(viewFragment.getContext(), stringid, android.R.layout.simple_spinner_dropdown_item); adapter_sub_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - suspectOriginCategory.setAdapter(new HintAdapter(adapter_sub_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); + suspectOriginCategory.setAdapter(new SpinnerHintAdapter(adapter_sub_1, R.layout.contact_spinner_row_nothing_selected, getActivity())); suspectOriginCategory.setVisibility(View.VISIBLE); } else if (stringid == 0) { suspectOriginCategory.setVisibility(View.INVISIBLE); } - if (((HintAdapter) suspectCategory.getAdapter()).isInInitialState()) { + if (((SpinnerHintAdapter) suspectCategory.getAdapter()).isInInitialState()) { isMandatoryCategoryFilled = false; } @@ -145,7 +145,7 @@ public class ReportWF_3_Fragment extends Fragment { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { - isMandatoryCategoryFilled = !((HintAdapter) suspectOriginCategory.getAdapter()).isInInitialState(); + isMandatoryCategoryFilled = !((SpinnerHintAdapter) suspectOriginCategory.getAdapter()).isInInitialState(); if ((position == 0) && (incident.getmFidTimeSubCat() != 0)) suspectOriginCategory.setSelection(incident.getmFidSuspectOrigin()); diff --git a/app/src/main/java/org/deke/risk/riskahead/fragments/Top10Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/Top10Fragment.java similarity index 63% rename from app/src/main/java/org/deke/risk/riskahead/fragments/Top10Fragment.java rename to app/src/main/java/org/deke/risk/riskahead/fragment/Top10Fragment.java index 356e625..17938b1 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragments/Top10Fragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/Top10Fragment.java @@ -1,15 +1,13 @@ -package org.deke.risk.riskahead.fragments; +package org.deke.risk.riskahead.fragment; -import android.graphics.Color; import android.support.v4.app.Fragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.TableLayout; -import android.widget.TableRow; -import android.widget.TextView; +import android.widget.ListAdapter; +import android.widget.ListView; import com.android.volley.Request; import com.android.volley.Response; @@ -20,11 +18,14 @@ import org.deke.risk.riskahead.ProfileActivity; import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; +import org.deke.risk.riskahead.adapter.Top10ListAdapter; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -38,10 +39,16 @@ public class Top10Fragment extends Fragment { private View view; private ProfileActivity parent; + ListView myListView; + ListAdapter myListAdapter; + List resultList; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - view = inflater.inflate(R.layout.activity_profile_top10, container, false); + view = inflater.inflate(R.layout.fragment_top10list, container, false); parent = (ProfileActivity)getActivity(); + Log.d(TAG,"Top10ListActivated!"); + myListView = (ListView) view.findViewById(R.id.lv_top10list); StringRequest strReq2 = getStringRequestTop10(); String tag_string_req2 = "req_top10"; @@ -63,34 +70,20 @@ public class Top10Fragment extends Fragment { JSONObject jObj = new JSONObject(response); boolean error = jObj.getBoolean("error"); if (!error) { - TableLayout tbltop10 = (TableLayout) view.findViewById(R.id.tableTop10); - JSONArray listitems = jObj.getJSONArray("msg"); - for(int i=0;i(); + Log.d(TAG,"Writing stuff in resultList!"); + for(int i=0;i user; public ProgressDialog pDialog; - Handler mHandler = new Handler(); private final static int INTERVAL = 1000 * 300; //300 seconds InterstitialAd mInterstitialAd; + private AccountHeader headerResult = null; + public Drawer result = null; + public Toolbar mToolbar; + public void userHasToBeLoggedIn(){ if (!session.isLoggedIn()) { logout(); @@ -71,6 +84,7 @@ public abstract class BaseActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + LayoutInflaterCompat.setFactory(getLayoutInflater(), new IconicsLayoutInflater(getDelegate())); super.onCreate(savedInstanceState); setContentView(getLayoutResourceId()); @@ -96,25 +110,130 @@ public abstract class BaseActivity extends AppCompatActivity { session = new SessionManager(getApplicationContext()); user = session.getUserDetails(); - ObjectDrawerItem[] drawerItem = new ObjectDrawerItem[7]; - drawerItem[0] = new ObjectDrawerItem(R.drawable.ic_action_web_site, getString(R.string.navigation_start)); - drawerItem[1] = new ObjectDrawerItem(R.drawable.ic_action_flash_on, getString(R.string.navigation_report)); - drawerItem[2] = new ObjectDrawerItem(R.drawable.ic_action_map, getString(R.string.navigation_incident_map)); - drawerItem[3] = new ObjectDrawerItem(R.drawable.ic_action_about, getString(R.string.navigation_user_stats)); - drawerItem[4] = new ObjectDrawerItem(R.drawable.ic_action_settings, getString(R.string.navigation_acc_settings)); - drawerItem[5] = new ObjectDrawerItem(R.drawable.ic_action_important, getString(R.string.navigation_settings)); - drawerItem[6] = new ObjectDrawerItem(R.drawable.ic_action_back, getString(R.string.navigation_logout)); + //initToolbar(); + mToolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(mToolbar); + initNavigationDrawer(savedInstanceState); + } - mCustomDrawerAdapter = new DrawerItemCustomAdapter(this, R.layout.listview_item_row, drawerItem); - mDrawerList = (ListView)findViewById(R.id.navList); - mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout); + private void initNavigationDrawer(Bundle savedInstanceState) { + PrimaryDrawerItem item1 = new PrimaryDrawerItem() + .withName(R.string.navigation_start) + .withIdentifier(mainAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_home); + + PrimaryDrawerItem item2 = new PrimaryDrawerItem() + .withName(R.string.navigation_report) + .withIdentifier(reportAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_room); + + PrimaryDrawerItem item3 = new PrimaryDrawerItem() + .withName(R.string.navigation_incident_map) + .withIdentifier(mapAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_map); + + PrimaryDrawerItem item4 = new PrimaryDrawerItem() + .withName(R.string.navigation_user_stats) + .withIdentifier(userstatsAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_speaker_notes); + + PrimaryDrawerItem item5 = new PrimaryDrawerItem() + .withName(R.string.navigation_acc_settings) + .withIdentifier(settingsAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_settings); + + PrimaryDrawerItem item6 = new PrimaryDrawerItem() + .withName(R.string.navigation_subscriptions) + .withIdentifier(subscriptionsAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_star); + + PrimaryDrawerItem item7 = new PrimaryDrawerItem() + .withName(R.string.navigation_logout) + .withIdentifier(logoutAvtivityID) + .withIcon(GoogleMaterial.Icon.gmd_remove_circle); + + headerResult = new AccountHeaderBuilder() + .withActivity(this) + .withHeaderBackground(R.drawable.header2) + .addProfiles( + new ProfileDrawerItem().withName(user.get("username")).withEmail(user.get("email")).withIcon(getResources().getDrawable(R.drawable.logo_riskahead_header)) + ) + .build(); + + result = new DrawerBuilder() + .withActivity(this) + .withAccountHeader(headerResult) + .withTranslucentStatusBar(true) + .withHasStableIds(true) + .withToolbar(mToolbar) + .withOnDrawerListener(new Drawer.OnDrawerListener() { + @Override + public void onDrawerOpened(View drawerView) { + getSupportActionBar().setTitle("Navigate to..."); + } + + @Override + public void onDrawerClosed(View drawerView) { + getSupportActionBar().setTitle(getActivityName()); + } + + @Override + public void onDrawerSlide(View drawerView, float slideOffset) { + + } + }) + .withSavedInstance(savedInstanceState) + .withSelectedItem(-1) + .addDrawerItems( + item1, + item2, + item3, + new DividerDrawerItem(), + item4, + item5, + new DividerDrawerItem(), + item6, + item7).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { + @Override + public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { + Intent intent = null; + switch (drawerItem.getIdentifier()) { + case 1: + intent = new Intent(BaseActivity.this, MainActivity.class); + break; + case 2: + intent = new Intent(BaseActivity.this, ReportWFActivity.class); + break; + case 3: + intent = new Intent(BaseActivity.this, MapsActivity.class); + break; + case 4: + intent = new Intent(BaseActivity.this, ProfileActivity.class); + break; + case 5: + intent = new Intent(BaseActivity.this, SettingsActivity.class); + break; + case 6: + intent = new Intent(BaseActivity.this, SubscriptionsActivity.class); + break; + case 7: + session.removeUser(); + session.setLogin(false); + intent = new Intent(BaseActivity.this, LoginActivity.class); + intent.putExtra(EXTRA_MESSAGE, "login"); + break; + default: + Log.d("Unknown switch page: ", Integer.toString(position)); + break; + } + BaseActivity.this.startActivity(intent); + return false; + } + }).build(); + - addDrawerItems(); - setupDrawer(); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - getSupportActionBar().setHomeButtonEnabled(true); } private void requestNewInterstitial() { @@ -168,83 +287,9 @@ public abstract class BaseActivity extends AppCompatActivity { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_common, menu); - /* - MenuItem shareItem = menu.findItem(R.id.menu_item_share); - if (shareItem != null) { - mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem); - } - setShareIntent(); - */ - return true; } - private void setupDrawer() { - mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) { - - /** Called when a drawer has settled in a completely open state. */ - public void onDrawerOpened(View drawerView) { - super.onDrawerOpened(drawerView); - getSupportActionBar().setTitle("Navigate to..."); - invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() - } - - /** Called when a drawer has settled in a completely closed state. */ - public void onDrawerClosed(View view) { - super.onDrawerClosed(view); - getSupportActionBar().setTitle(getActivityName()); - invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() - } - }; - - mDrawerToggle.setDrawerIndicatorEnabled(true); - mDrawerLayout.setDrawerListener(mDrawerToggle); - } - - private void addDrawerItems() { - mDrawerList.setAdapter(mCustomDrawerAdapter); - - mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, final int position, long id) { - mDrawerLayout.setDrawerListener(new DrawerLayout.SimpleDrawerListener() { - @Override - public void onDrawerClosed(View drawerView) { - super.onDrawerClosed(drawerView); - - switch (position) { - case 0: - gotoMainActivity(); - break; - case 1: - gotoReportActivity(); - break; - case 2: - gotoMapActivity(); - break; - case 3: - gotoProfileActivity(); - break; - case 4: - gotoSettingsActivity(); - break; - case 5: - gotoSubscriptionsActivity(); - break; - case 6: - logoutUser(); - break; - default: - Log.d("Unknown switch page: ", Integer.toString(position)); - break; - } - } - }); - mDrawerLayout.closeDrawer(mDrawerList); - } - }); - } - public void gotoMainActivity(){ Intent intent; intent = new Intent(getApplicationContext(), MainActivity.class); @@ -267,8 +312,8 @@ public abstract class BaseActivity extends AppCompatActivity { public void gotoMapActivity(){ Intent intent; - intent = new Intent(getApplicationContext(), MapsActivity.class); - startActivity(intent); + intent = new Intent(BaseActivity.this, MapsActivity.class); + BaseActivity.this.startActivity(intent); } public void gotoMapActivity(String position){ @@ -303,18 +348,6 @@ public abstract class BaseActivity extends AppCompatActivity { startActivity(intent); } - @Override - protected void onPostCreate(Bundle savedInstanceState) { - super.onPostCreate(savedInstanceState); - mDrawerToggle.syncState(); - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - mDrawerToggle.onConfigurationChanged(newConfig); - } - @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); @@ -332,10 +365,6 @@ public abstract class BaseActivity extends AppCompatActivity { startActivity(browserIntent); } - if (mDrawerToggle.onOptionsItemSelected(item)) { - return true; - } - return super.onOptionsItemSelected(item); } @@ -343,17 +372,6 @@ public abstract class BaseActivity extends AppCompatActivity { Toast.makeText(this, statusText, Toast.LENGTH_LONG).show(); } - private void setShareIntent() { - if (mShareActionProvider != null) { - Intent shareIntent = new Intent(Intent.ACTION_SEND); - shareIntent.setType("text/plain"); - shareIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_item_title)); - shareIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.share_item_text)); - - mShareActionProvider.setShareIntent(shareIntent); - } - } - protected abstract int getLayoutResourceId(); protected abstract String getActivityName(); diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/DrawerItemCustomAdapter.java b/app/src/main/java/org/deke/risk/riskahead/helper/DrawerItemCustomAdapter.java deleted file mode 100644 index 25e96d2..0000000 --- a/app/src/main/java/org/deke/risk/riskahead/helper/DrawerItemCustomAdapter.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.deke.risk.riskahead.helper; - -import android.app.Activity; -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.ImageView; -import android.widget.TextView; - -import org.deke.risk.riskahead.R; - -/** - * Created by Dennis on 10.11.2015. - */ -public class DrawerItemCustomAdapter extends ArrayAdapter { - - Context mContext; - int layoutResourceId; - ObjectDrawerItem data[] = null; - - public DrawerItemCustomAdapter(Context mContext, int layoutResourceId, ObjectDrawerItem[] data) { - - super(mContext, layoutResourceId, data); - this.layoutResourceId = layoutResourceId; - this.mContext = mContext; - this.data = data; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - View listItem = convertView; - - LayoutInflater inflater = ((Activity) mContext).getLayoutInflater(); - listItem = inflater.inflate(layoutResourceId, parent, false); - - ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon); - TextView textViewName = (TextView) listItem.findViewById(R.id.textViewName); - - ObjectDrawerItem folder = data[position]; - - - imageViewIcon.setImageResource(folder.icon); - textViewName.setText(folder.name); - - return listItem; - } - -} \ No newline at end of file diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/AppClusterItem.java b/app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java similarity index 77% rename from app/src/main/java/org/deke/risk/riskahead/helper/AppClusterItem.java rename to app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java index fbe8cda..04c691b 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/AppClusterItem.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java @@ -1,5 +1,7 @@ package org.deke.risk.riskahead.helper; +import android.graphics.drawable.Drawable; + import com.google.android.gms.maps.model.BitmapDescriptor; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.LatLng; @@ -12,7 +14,7 @@ import org.json.JSONObject; /** * Created by Dennis on 12.11.2015. */ -public class AppClusterItem implements ClusterItem { +public class IncidentReport implements ClusterItem { private LatLng mPosition; private Integer mID; @@ -52,7 +54,7 @@ public class AppClusterItem implements ClusterItem { private BitmapDescriptor icon; - public AppClusterItem(JSONObject mIncident, LatLng pos) { + public IncidentReport(JSONObject mIncident, LatLng pos) { try { this.mID = mIncident.getInt("uid"); @@ -75,7 +77,30 @@ public class AppClusterItem implements ClusterItem { } } - public AppClusterItem(){ + public IncidentReport(JSONObject mIncident) { + + try { + this.mID = mIncident.getInt("uid"); + this.mTitle = mIncident.getString("text_short"); + this.mDescription = mIncident.getString("text_long"); + this.mFidUser = mIncident.getString("fid_user"); + this.mFidCategory = mIncident.getString("fid_category"); + this.mHappenedAt = mIncident.getString("happened_at"); + this.mCreatedAt = mIncident.getString("created_at"); + this.mUpdatedAt = mIncident.getString("updated_at"); + this.mRadius = mIncident.getString("radius"); + this.mCatName = mIncident.getString("cat_name"); + this.mCatDescription = mIncident.getString("cat_description"); + this.mColor = mIncident.getString("color"); + this.mUsername = mIncident.getString("username"); + this.mScore = mIncident.getInt("votescore"); + this.mPosition = new LatLng(mIncident.getDouble("latitude"),mIncident.getDouble("longitude")); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + public IncidentReport(){ } @@ -117,6 +142,34 @@ public class AppClusterItem implements ClusterItem { return mIcon; } + public int getIconDrawable() { + int mIcon; + + switch (Integer.valueOf(this.mFidCategory)) { + case 1: + mIcon = R.drawable.icon_general; + break; + case 2: + mIcon = R.drawable.icon_verbal; + break; + case 3: + mIcon = R.drawable.icon_middle_violance; + break; + case 4: + mIcon = R.drawable.icon_high_violance; + break; + case 5: + mIcon = R.drawable.icon_nature; + break; + case 6: + mIcon = R.drawable.icon_infra_v2; + break; + default: + mIcon = R.drawable.icon_general; + break; + } + return mIcon; + } public String getSnippet() { return this.mDescription; diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/ObjectDrawerItem.java b/app/src/main/java/org/deke/risk/riskahead/helper/ObjectDrawerItem.java deleted file mode 100644 index dc3c4bb..0000000 --- a/app/src/main/java/org/deke/risk/riskahead/helper/ObjectDrawerItem.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.deke.risk.riskahead.helper; - -/** - * Created by Dennis on 10.11.2015. - */ -public class ObjectDrawerItem { - public int icon; - public String name; - - public ObjectDrawerItem(int icon, String name) { - this.icon = icon; - this.name = name; - } -} diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/OwnIconRendered.java b/app/src/main/java/org/deke/risk/riskahead/helper/OwnIconRendered.java index fd9a521..97a48ab 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/OwnIconRendered.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/OwnIconRendered.java @@ -5,22 +5,19 @@ import android.content.Context; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.model.MarkerOptions; import com.google.maps.android.clustering.ClusterManager; -import com.google.maps.android.clustering.view.ClusterRenderer; import com.google.maps.android.clustering.view.DefaultClusterRenderer; -import org.deke.risk.riskahead.MapsActivity; - /** * Created by Dennis on 12.11.2015. */ -public class OwnIconRendered extends DefaultClusterRenderer { +public class OwnIconRendered extends DefaultClusterRenderer { - public OwnIconRendered(Context context, GoogleMap map,ClusterManager clusterManager) { + public OwnIconRendered(Context context, GoogleMap map,ClusterManager clusterManager) { super(context, map, clusterManager); } @Override - protected void onBeforeClusterItemRendered(AppClusterItem item, MarkerOptions markerOptions) { + protected void onBeforeClusterItemRendered(IncidentReport item, MarkerOptions markerOptions) { markerOptions.icon(item.getIcon()); markerOptions.snippet(item.getSnippet()); markerOptions.title(item.getTitle()); diff --git a/app/src/main/res/drawable-hdpi/ic_action_about.png b/app/src/main/res/drawable-hdpi/ic_action_about.png deleted file mode 100644 index 077dcec..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_about.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_back.png b/app/src/main/res/drawable-hdpi/ic_action_back.png deleted file mode 100644 index bff21fb..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_back.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_flash_on.png b/app/src/main/res/drawable-hdpi/ic_action_flash_on.png deleted file mode 100644 index 62dda83..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_flash_on.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_help.png b/app/src/main/res/drawable-hdpi/ic_action_help.png deleted file mode 100644 index 0ebc4de..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_help.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_important.png b/app/src/main/res/drawable-hdpi/ic_action_important.png deleted file mode 100644 index 73f95d1..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_important.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_map.png b/app/src/main/res/drawable-hdpi/ic_action_map.png deleted file mode 100644 index 22c398b..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_map.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_search.png b/app/src/main/res/drawable-hdpi/ic_action_search.png deleted file mode 100644 index f594b4e..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_search.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_settings.png b/app/src/main/res/drawable-hdpi/ic_action_settings.png deleted file mode 100644 index 7887b0e..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_settings.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_stop.png b/app/src/main/res/drawable-hdpi/ic_action_stop.png deleted file mode 100644 index 2b6c0f4..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_stop.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_web_site.png b/app/src/main/res/drawable-hdpi/ic_action_web_site.png deleted file mode 100644 index 64c48a0..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_web_site.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_drawer.png b/app/src/main/res/drawable-hdpi/ic_drawer.png deleted file mode 100644 index c59f601..0000000 Binary files a/app/src/main/res/drawable-hdpi/ic_drawer.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_about.png b/app/src/main/res/drawable-mdpi/ic_action_about.png deleted file mode 100644 index 624e745..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_about.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_back.png b/app/src/main/res/drawable-mdpi/ic_action_back.png deleted file mode 100644 index 6463461..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_back.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_flash_on.png b/app/src/main/res/drawable-mdpi/ic_action_flash_on.png deleted file mode 100644 index b42ee81..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_flash_on.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_help.png b/app/src/main/res/drawable-mdpi/ic_action_help.png deleted file mode 100644 index 9f62778..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_help.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_important.png b/app/src/main/res/drawable-mdpi/ic_action_important.png deleted file mode 100644 index 5715e4b..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_important.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_map.png b/app/src/main/res/drawable-mdpi/ic_action_map.png deleted file mode 100644 index f40b27d..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_map.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_search.png b/app/src/main/res/drawable-mdpi/ic_action_search.png deleted file mode 100644 index abf509b..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_search.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_settings.png b/app/src/main/res/drawable-mdpi/ic_action_settings.png deleted file mode 100644 index ea8bba3..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_settings.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_stop.png b/app/src/main/res/drawable-mdpi/ic_action_stop.png deleted file mode 100644 index ddaf37a..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_stop.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_web_site.png b/app/src/main/res/drawable-mdpi/ic_action_web_site.png deleted file mode 100644 index 0958a44..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_web_site.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_drawer.png b/app/src/main/res/drawable-mdpi/ic_drawer.png deleted file mode 100644 index 1ed2c56..0000000 Binary files a/app/src/main/res/drawable-mdpi/ic_drawer.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_about.png b/app/src/main/res/drawable-xhdpi/ic_action_about.png deleted file mode 100644 index 3be3152..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_about.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_back.png b/app/src/main/res/drawable-xhdpi/ic_action_back.png deleted file mode 100644 index 28432f1..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_back.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_flash_on.png b/app/src/main/res/drawable-xhdpi/ic_action_flash_on.png deleted file mode 100644 index 3278568..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_flash_on.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_help.png b/app/src/main/res/drawable-xhdpi/ic_action_help.png deleted file mode 100644 index 19a9df3..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_help.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_important.png b/app/src/main/res/drawable-xhdpi/ic_action_important.png deleted file mode 100644 index dea7f6c..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_important.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_map.png b/app/src/main/res/drawable-xhdpi/ic_action_map.png deleted file mode 100644 index 27e3234..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_map.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_search.png b/app/src/main/res/drawable-xhdpi/ic_action_search.png deleted file mode 100644 index 96deb01..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_search.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_settings.png b/app/src/main/res/drawable-xhdpi/ic_action_settings.png deleted file mode 100644 index a04fe1d..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_settings.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_stop.png b/app/src/main/res/drawable-xhdpi/ic_action_stop.png deleted file mode 100644 index 2b07de4..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_stop.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_web_site.png b/app/src/main/res/drawable-xhdpi/ic_action_web_site.png deleted file mode 100644 index f800630..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_web_site.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_drawer.png b/app/src/main/res/drawable-xhdpi/ic_drawer.png deleted file mode 100644 index a5fa74d..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_drawer.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_about.png b/app/src/main/res/drawable-xxhdpi/ic_action_about.png deleted file mode 100644 index 7c7e764..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_about.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_back.png b/app/src/main/res/drawable-xxhdpi/ic_action_back.png deleted file mode 100644 index 11eb5e1..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_back.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_flash_on.png b/app/src/main/res/drawable-xxhdpi/ic_action_flash_on.png deleted file mode 100644 index 806c294..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_flash_on.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_help.png b/app/src/main/res/drawable-xxhdpi/ic_action_help.png deleted file mode 100644 index c5a3431..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_help.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_important.png b/app/src/main/res/drawable-xxhdpi/ic_action_important.png deleted file mode 100644 index e596f32..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_important.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_map.png b/app/src/main/res/drawable-xxhdpi/ic_action_map.png deleted file mode 100644 index b385ee8..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_map.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_search.png b/app/src/main/res/drawable-xxhdpi/ic_action_search.png deleted file mode 100644 index 2afc10a..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_search.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_settings.png b/app/src/main/res/drawable-xxhdpi/ic_action_settings.png deleted file mode 100644 index a9c6b53..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_settings.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_stop.png b/app/src/main/res/drawable-xxhdpi/ic_action_stop.png deleted file mode 100644 index ce23a09..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_stop.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_web_site.png b/app/src/main/res/drawable-xxhdpi/ic_action_web_site.png deleted file mode 100644 index 1ff3a60..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_web_site.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_drawer.png b/app/src/main/res/drawable-xxhdpi/ic_drawer.png deleted file mode 100644 index 9c4685d..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_drawer.png and /dev/null differ diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index d2f6ab7..d71f82b 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -88,7 +88,7 @@ + + @@ -29,7 +38,7 @@ android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_marginTop="52dp" - android:textColor="#aa999999"/> + android:textColor="#aa4b4b4b"/> + android:textColor="#aa4b4b4b"/> - - + android:layout_alignParentStart="true"> - + style="?android:attr/borderlessButtonStyle" + android:text="Report Incident" /> - + android:text="Show Map" /> + - - - + + diff --git a/app/src/main/res/layout/activity_maps.xml b/app/src/main/res/layout/activity_maps.xml index d3d7b68..39a3418 100644 --- a/app/src/main/res/layout/activity_maps.xml +++ b/app/src/main/res/layout/activity_maps.xml @@ -1,13 +1,24 @@ - + + @@ -31,11 +42,6 @@ bootstrap:roundedCorners="true" /> - - + + diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml index 523ed4e..fe015f9 100644 --- a/app/src/main/res/layout/activity_profile.xml +++ b/app/src/main/res/layout/activity_profile.xml @@ -1,14 +1,24 @@ - + + - - - + diff --git a/app/src/main/res/layout/activity_profile_stats.xml b/app/src/main/res/layout/activity_profile_stats.xml deleted file mode 100644 index 655be92..0000000 --- a/app/src/main/res/layout/activity_profile_stats.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_profile_top10.xml b/app/src/main/res/layout/activity_profile_top10.xml deleted file mode 100644 index 8ecb277..0000000 --- a/app/src/main/res/layout/activity_profile_top10.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml index a4d89f2..7c3844c 100644 --- a/app/src/main/res/layout/activity_register.xml +++ b/app/src/main/res/layout/activity_register.xml @@ -100,7 +100,7 @@ + - - - - + diff --git a/app/src/main/res/layout/activity_report_wf.xml b/app/src/main/res/layout/activity_report_wf.xml index 77fcc1a..0d685a4 100644 --- a/app/src/main/res/layout/activity_report_wf.xml +++ b/app/src/main/res/layout/activity_report_wf.xml @@ -1,90 +1,95 @@ - + android:layout_height="match_parent" + android:background="@drawable/layout_bg_gradient" + tools:context=".ReportWFActivity"> + + - + android:layout_weight="1"> - - - - - + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_gravity="center_horizontal" /> + + + + + + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" + android:gravity="center"> + bootstrap:bootstrapText="Report NOW!" /> + bootstrap:bootstrapText="Continue" /> - - - - + diff --git a/app/src/main/res/layout/activity_reportlist.xml b/app/src/main/res/layout/activity_reportlist.xml deleted file mode 100644 index 72114c1..0000000 --- a/app/src/main/res/layout/activity_reportlist.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 9aee395..ffa0404 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -1,14 +1,24 @@ - + + @@ -22,7 +32,6 @@ android:layout_margin="10dp" android:layout_marginBottom="20dp" android:padding="8dp" - android:background="@drawable/layout_bg" android:orientation="vertical"> - - - - + android:layout_marginTop="10dp" + android:layout_below="@+id/txt_settings_email" + android:layout_alignLeft="@+id/txt_settings_email" + android:layout_alignStart="@+id/txt_settings_email" /> - - + android:ems="8" + android:layout_below="@+id/lbl_settings_password" + android:layout_alignLeft="@+id/lbl_settings_password" + android:layout_alignStart="@+id/lbl_settings_password" /> + + + + bootstrap:roundedCorners="true"/> + - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_subscriptions.xml b/app/src/main/res/layout/activity_subscriptions.xml index f585527..8cf8ee3 100644 --- a/app/src/main/res/layout/activity_subscriptions.xml +++ b/app/src/main/res/layout/activity_subscriptions.xml @@ -1,13 +1,24 @@ - + + @@ -106,17 +117,8 @@ - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_view_report.xml b/app/src/main/res/layout/activity_view_report.xml index 6a18ba8..50ac719 100644 --- a/app/src/main/res/layout/activity_view_report.xml +++ b/app/src/main/res/layout/activity_view_report.xml @@ -1,14 +1,24 @@ - + + @@ -234,11 +244,4 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_facebook_button.xml b/app/src/main/res/layout/fragment_facebook_button.xml index d53b7fd..aa8a18a 100644 --- a/app/src/main/res/layout/fragment_facebook_button.xml +++ b/app/src/main/res/layout/fragment_facebook_button.xml @@ -4,7 +4,7 @@ xmlns:fb="http://schemas.android.com/apk/res-auto" xmlns:bootstrap="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" - tools:context="org.deke.risk.riskahead.fragments.FacebookButtonFragment"> + tools:context="org.deke.risk.riskahead.fragment.FacebookButtonFragment"> + tools:context="org.deke.risk.riskahead.fragment.GooglePlusButtonFragment"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_reportlist.xml b/app/src/main/res/layout/fragment_reportlist.xml new file mode 100644 index 0000000..a9b7a1c --- /dev/null +++ b/app/src/main/res/layout/fragment_reportlist.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/app/src/main/res/layout/activity_reportlist_lvrow.xml b/app/src/main/res/layout/fragment_reportlist_row.xml similarity index 89% rename from app/src/main/res/layout/activity_reportlist_lvrow.xml rename to app/src/main/res/layout/fragment_reportlist_row.xml index b674179..57affd1 100644 --- a/app/src/main/res/layout/activity_reportlist_lvrow.xml +++ b/app/src/main/res/layout/fragment_reportlist_row.xml @@ -6,6 +6,12 @@ android:padding="5dp" android:weightSum="1"> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_top10list_row.xml b/app/src/main/res/layout/fragment_top10list_row.xml new file mode 100644 index 0000000..7376921 --- /dev/null +++ b/app/src/main/res/layout/fragment_top10list_row.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_twitter_button.xml b/app/src/main/res/layout/fragment_twitter_button.xml index c05e129..20ed545 100644 --- a/app/src/main/res/layout/fragment_twitter_button.xml +++ b/app/src/main/res/layout/fragment_twitter_button.xml @@ -3,7 +3,7 @@ android:layout_width="match_parent" xmlns:bootstrap="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" - tools:context="org.deke.risk.riskahead.fragments.TwitterButtonFragment"> + tools:context="org.deke.risk.riskahead.fragment.TwitterButtonFragment"> + \ No newline at end of file diff --git a/app/src/main/res/layout/listview_item_row.xml b/app/src/main/res/layout/listview_item_row.xml deleted file mode 100644 index a284bc9..0000000 --- a/app/src/main/res/layout/listview_item_row.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/menu/menu_reportwf.xml b/app/src/main/res/menu/menu_reportwf.xml index db31bd3..073edd7 100644 --- a/app/src/main/res/menu/menu_reportwf.xml +++ b/app/src/main/res/menu/menu_reportwf.xml @@ -3,13 +3,8 @@ xmlns:tools="http://schemas.android.com/tools"> - - + android:icon="@android:drawable/ic_menu_revert" + app:showAsAction="always" + android:title="New" /> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d011120..0c3eeb8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,6 +1,7 @@ RiskAhead 658657714234846 + ca-app-pub-3940256099942544/6300978111 Login Register @@ -77,17 +78,17 @@ Top 10 Confirm Password - {fa_envelope} Request New Password + {fa_envelope} Reset Password Retype Password {fa_paint_brush} Report this position! - Start - Report + Home + Incident Report Incident Map User Statistics Account Settings - Settings + Subscriptions Logout I recommend RiskAhead! @@ -109,5 +110,118 @@ E-Mail was sent to your e-mail address Activation E-Mail An activation link was send to your e-mail address. Please follow the instructions to activate your account. Thank you! + No Internet Connection + You need an active internet connection to use this app. Please turn on your internet connection and login again. + Could not retrieve data from server. Please check internet connection. + Please wait... + Retrieve data from server + Author + Score + Report NEW + + Please choose... + From date (yyyy-MM-dd) + From time + To date (yyyy-MM-dd) + To time + + + Allgemeiner Vorfall/Situation + Mündliche Gewalt + Leichte bis schwere körperliche Gewalt + Lebensgefährliche Gewalt + Naturkatastrophe + Menschliche Katastrophe & Infrastruktur + + + + Diebstahl, Betrug + Drogen in Getränk/Speise, Drogenmissbrauch + Demonstration, Unruhen, Straßenblockade + Checkpoint, Kontrollen + Korruption, Erpressung, Schutzgeld + Einflussgebiet Kriminalität, Milizen, Terroristen + Sonstiges... + + + + Sexuelle Belästigung + Beleidigung, Drohung + Vernehmung/Befragung öffentlich + Aufhetzung + Sonstiges... + + + + Sexueller Übergriff + Angriff auf Person allgemein + Schlägerei + Festnahme/Gefangennahme + Zwangsarbeit + Sonstiges... + + + + Vergewaltigung + Folter, Entführung, Geiselnahme + Schießerei + Explosion, Selbstmordattentat + Mord, Tötung, Hinrichtung + Leichenzurschaustellung zur Abschreckung + Sonstiges... + + + + Temperaturextrem + Wind, Sturm, Orkan, Tornado + Überschwemmung/-flutung + Erdbeben, Berghang Einsturz + Feuer, Rauch-, Aschewolken, Vulkanausbruch + Hungersnot, Tierplage + Sonstiges... + + + + Smog Stadt + Stromausfall, Unfall + Zerstörung, Einsturzgefahr Gebäude + Brandkatastrophe + Chemiekatastrophe, Ölpest + Seuche, Krankheit + Chaos Bevölkerung + Sonstiges... + + + + Jetzt! + Regelmäßig + Bestimmter Zeitpunkt + Bestimmter Zeitraum + Weiß ich nicht + + + + Vormittags + Tagsüber + Abends + Nachts + + + + Straßenkriminelle/Gangs + Polizei + Volksmenge + Miliz, Kartell, Guerilla (Paramilitär) + Soldaten (Militär) + Terroristen (religiöse oder politische) + Sonstige:… + Weiß ich nicht + + + + Lokale aus dem Land (National) + Ausländische + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3779032..1aad1e7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -50,7 +50,7 @@ We have currently ... ... reported incidents {fa_map_marker} Report - {fa_info} View Map + {fa_map} View Map Short Description Long Descpription @@ -78,17 +78,17 @@ Top 10 Confirm Password - {fa_envelope} Request New Password + {fa_envelope} Reset Password Retype Password {fa_paint_brush} Report this position! - Start - Report + Home + Incident Report Incident Map User Statistics Account Settings - Settings + Subscriptions Logout I recommend RiskAhead! diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 312d63e..7f59f30 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -5,16 +5,51 @@ @dimen/micro_padding - + + + + diff --git a/build.gradle b/build.gradle index cf8da81..fd29334 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,8 @@ buildscript { maven { url 'https://maven.fabric.io/public' } } dependencies { - classpath 'com.android.tools.build:gradle:1.2.3' - classpath 'com.google.gms:google-services:1.3.0-beta1' + classpath 'com.android.tools.build:gradle:1.3.0' + classpath 'com.google.gms:google-services:1.3.0-beta3' classpath 'io.fabric.tools:gradle:1.+' } }