From 805d75b15bf62dd8e5c83314ef3f680305d98bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20Thie=C3=9Fen?= Date: Thu, 17 Dec 2015 13:41:34 +0100 Subject: [PATCH] =?UTF-8?q?DT=20@17.12.2015:=20Sehr=20viele=20Design-Chang?= =?UTF-8?q?es..=20ProfileActivityFragments=20ebenfalls=20=C3=BCbearbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 68 ++--- app/build.gradle | 26 +- .../deke/risk/riskahead/LoginActivity.java | 6 +- .../org/deke/risk/riskahead/MainActivity.java | 32 +- .../org/deke/risk/riskahead/MapsActivity.java | 33 ++- .../deke/risk/riskahead/ProfileActivity.java | 36 +-- .../deke/risk/riskahead/ReportActivity.java | 10 +- .../deke/risk/riskahead/ReportWFActivity.java | 27 +- .../deke/risk/riskahead/SettingsActivity.java | 15 +- .../risk/riskahead/SubscriptionsActivity.java | 6 + .../ProfilePagerAdapter.java | 23 +- .../ReportListAdapter.java | 11 +- .../SpinnerHintAdapter.java} | 8 +- .../riskahead/adapter/Top10ListAdapter.java | 70 +++++ .../FacebookButtonFragment.java | 4 +- .../GooglePlusButtonFragment.java | 4 +- .../ProfileStatisticsFragment.java | 4 +- .../ReportListFragment.java | 9 +- .../ReportWF_1_Fragment.java | 16 +- .../ReportWF_2_Fragment.java | 18 +- .../ReportWF_3_Fragment.java | 18 +- .../Top10Fragment.java | 59 ++-- .../TwitterButtonFragment.java | 4 +- .../risk/riskahead/helper/AppController.java | 6 + .../risk/riskahead/helper/BaseActivity.java | 278 ++++++++++-------- .../helper/DrawerItemCustomAdapter.java | 50 ---- ...ppClusterItem.java => IncidentReport.java} | 59 +++- .../riskahead/helper/ObjectDrawerItem.java | 14 - .../riskahead/helper/OwnIconRendered.java | 9 +- .../res/drawable-hdpi/ic_action_about.png | Bin 683 -> 0 bytes .../main/res/drawable-hdpi/ic_action_back.png | Bin 351 -> 0 bytes .../res/drawable-hdpi/ic_action_flash_on.png | Bin 389 -> 0 bytes .../main/res/drawable-hdpi/ic_action_help.png | Bin 560 -> 0 bytes .../res/drawable-hdpi/ic_action_important.png | Bin 669 -> 0 bytes .../main/res/drawable-hdpi/ic_action_map.png | Bin 824 -> 0 bytes .../res/drawable-hdpi/ic_action_search.png | Bin 702 -> 0 bytes .../res/drawable-hdpi/ic_action_settings.png | Bin 456 -> 0 bytes .../main/res/drawable-hdpi/ic_action_stop.png | Bin 172 -> 0 bytes .../res/drawable-hdpi/ic_action_web_site.png | Bin 1210 -> 0 bytes app/src/main/res/drawable-hdpi/ic_drawer.png | Bin 2829 -> 0 bytes .../res/drawable-mdpi/ic_action_about.png | Bin 465 -> 0 bytes .../main/res/drawable-mdpi/ic_action_back.png | Bin 336 -> 0 bytes .../res/drawable-mdpi/ic_action_flash_on.png | Bin 297 -> 0 bytes .../main/res/drawable-mdpi/ic_action_help.png | Bin 417 -> 0 bytes .../res/drawable-mdpi/ic_action_important.png | Bin 485 -> 0 bytes .../main/res/drawable-mdpi/ic_action_map.png | Bin 613 -> 0 bytes .../res/drawable-mdpi/ic_action_search.png | Bin 492 -> 0 bytes .../res/drawable-mdpi/ic_action_settings.png | Bin 330 -> 0 bytes .../main/res/drawable-mdpi/ic_action_stop.png | Bin 188 -> 0 bytes .../res/drawable-mdpi/ic_action_web_site.png | Bin 793 -> 0 bytes app/src/main/res/drawable-mdpi/ic_drawer.png | Bin 2820 -> 0 bytes .../res/drawable-xhdpi/ic_action_about.png | Bin 860 -> 0 bytes .../res/drawable-xhdpi/ic_action_back.png | Bin 468 -> 0 bytes .../res/drawable-xhdpi/ic_action_flash_on.png | Bin 449 -> 0 bytes .../res/drawable-xhdpi/ic_action_help.png | Bin 648 -> 0 bytes .../drawable-xhdpi/ic_action_important.png | Bin 823 -> 0 bytes .../main/res/drawable-xhdpi/ic_action_map.png | Bin 1032 -> 0 bytes .../res/drawable-xhdpi/ic_action_search.png | Bin 916 -> 0 bytes .../res/drawable-xhdpi/ic_action_settings.png | Bin 471 -> 0 bytes .../res/drawable-xhdpi/ic_action_stop.png | Bin 224 -> 0 bytes .../res/drawable-xhdpi/ic_action_web_site.png | Bin 1647 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_drawer.png | Bin 2836 -> 0 bytes .../res/drawable-xxhdpi/ic_action_about.png | Bin 1354 -> 0 bytes .../res/drawable-xxhdpi/ic_action_back.png | Bin 527 -> 0 bytes .../drawable-xxhdpi/ic_action_flash_on.png | Bin 701 -> 0 bytes .../res/drawable-xxhdpi/ic_action_help.png | Bin 925 -> 0 bytes .../drawable-xxhdpi/ic_action_important.png | Bin 1066 -> 0 bytes .../res/drawable-xxhdpi/ic_action_map.png | Bin 1561 -> 0 bytes .../res/drawable-xxhdpi/ic_action_search.png | Bin 1247 -> 0 bytes .../drawable-xxhdpi/ic_action_settings.png | Bin 671 -> 0 bytes .../res/drawable-xxhdpi/ic_action_stop.png | Bin 297 -> 0 bytes .../drawable-xxhdpi/ic_action_web_site.png | Bin 2666 -> 0 bytes .../main/res/drawable-xxhdpi/ic_drawer.png | Bin 202 -> 0 bytes app/src/main/res/layout/activity_login.xml | 6 +- app/src/main/res/layout/activity_main.xml | 68 ++--- app/src/main/res/layout/activity_maps.xml | 26 +- app/src/main/res/layout/activity_profile.xml | 27 +- .../res/layout/activity_profile_stats.xml | 109 ------- .../res/layout/activity_profile_top10.xml | 62 ---- app/src/main/res/layout/activity_register.xml | 6 +- app/src/main/res/layout/activity_report.xml | 16 +- .../main/res/layout/activity_report_wf.xml | 95 +++--- .../main/res/layout/activity_reportlist.xml | 29 -- app/src/main/res/layout/activity_settings.xml | 78 +++-- .../res/layout/activity_subscriptions.xml | 28 +- .../main/res/layout/activity_view_report.xml | 25 +- .../res/layout/fragment_facebook_button.xml | 2 +- .../res/layout/fragment_googleplus_button.xml | 2 +- .../res/layout/fragment_profile_stats.xml | 143 +++++++++ .../main/res/layout/fragment_reportlist.xml | 18 ++ ..._lvrow.xml => fragment_reportlist_row.xml} | 6 + .../main/res/layout/fragment_top10list.xml | 17 ++ .../res/layout/fragment_top10list_row.xml | 79 +++++ .../res/layout/fragment_twitter_button.xml | 2 +- app/src/main/res/layout/layout_toolbar.xml | 11 + app/src/main/res/layout/listview_item_row.xml | 28 -- app/src/main/res/menu/menu_reportwf.xml | 11 +- app/src/main/res/values-de/strings.xml | 122 +++++++- app/src/main/res/values/strings.xml | 10 +- app/src/main/res/values/styles.xml | 45 ++- build.gradle | 4 +- 101 files changed, 1147 insertions(+), 851 deletions(-) rename app/src/main/java/org/deke/risk/riskahead/{helper => adapter}/ProfilePagerAdapter.java (55%) rename app/src/main/java/org/deke/risk/riskahead/{helper => adapter}/ReportListAdapter.java (82%) rename app/src/main/java/org/deke/risk/riskahead/{helper/HintAdapter.java => adapter/SpinnerHintAdapter.java} (94%) create mode 100644 app/src/main/java/org/deke/risk/riskahead/adapter/Top10ListAdapter.java rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/FacebookButtonFragment.java (97%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/GooglePlusButtonFragment.java (98%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/ProfileStatisticsFragment.java (97%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/ReportListFragment.java (95%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/ReportWF_1_Fragment.java (93%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/ReportWF_2_Fragment.java (94%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/ReportWF_3_Fragment.java (89%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/Top10Fragment.java (63%) rename app/src/main/java/org/deke/risk/riskahead/{fragments => fragment}/TwitterButtonFragment.java (98%) delete mode 100644 app/src/main/java/org/deke/risk/riskahead/helper/DrawerItemCustomAdapter.java rename app/src/main/java/org/deke/risk/riskahead/helper/{AppClusterItem.java => IncidentReport.java} (77%) delete mode 100644 app/src/main/java/org/deke/risk/riskahead/helper/ObjectDrawerItem.java delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_about.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_back.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_flash_on.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_help.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_important.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_map.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_search.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_settings.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_stop.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_web_site.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_drawer.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_about.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_back.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_flash_on.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_help.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_important.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_map.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_search.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_settings.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_stop.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_web_site.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_drawer.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_about.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_back.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_flash_on.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_help.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_important.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_map.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_search.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_settings.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_stop.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_web_site.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_drawer.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_about.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_back.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_flash_on.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_help.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_important.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_map.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_search.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_settings.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_stop.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_web_site.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_drawer.png delete mode 100644 app/src/main/res/layout/activity_profile_stats.xml delete mode 100644 app/src/main/res/layout/activity_profile_top10.xml delete mode 100644 app/src/main/res/layout/activity_reportlist.xml create mode 100644 app/src/main/res/layout/fragment_profile_stats.xml create mode 100644 app/src/main/res/layout/fragment_reportlist.xml rename app/src/main/res/layout/{activity_reportlist_lvrow.xml => fragment_reportlist_row.xml} (89%) create mode 100644 app/src/main/res/layout/fragment_top10list.xml create mode 100644 app/src/main/res/layout/fragment_top10list_row.xml create mode 100644 app/src/main/res/layout/layout_toolbar.xml delete mode 100644 app/src/main/res/layout/listview_item_row.xml 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 077dcec80054a99c270b230e8513bbc32111690f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmV;c0#yBpP)U!wOqmH58$nGh6*b*sHl3ZDeC(0Cgbw#+c9KAHyKisz zZf_mO!otGB;+oOYIoNPG9Kgi|>46NSzhjUDWWU{R)IS@ovAR8ca zY>WUH@4+R^F?=sQyE#M_Kq9J@0D4^*?vtN|CpYNTxFE!QlrH&egG7$T383*)65~SY zT7(4G030I#84)6a^h}jRtD^Bj>HOTJ#2J}L<0+A7E9wk0l%2hz;I}gz%fYcjBQt;r z`^@zeS)BxSjCbkGzHt+~t(dfF%+DFqEJEW6Wl}N|r!jHt(@djIZ6V~7rE<*-n{Lj1 zQ8=yfu}5Z43xR-mf5rUf1K&U5JqIf?3u7%gfGfpossKE-Fj?DxzK}TV1@t9F@82@U zbfpbP#gM-hOM!Sq2zX^P&IzHO6sKIIg`JyG*cIi%K1+8M0(9N43$dhI%SQHHBLTLq zw)4+%sRTMY3B(2UyeY8rjzb_JOQUfTl8!_N0a{dfHF)34(S05P+zC@p_}n6^!bvYZ zmu2miS_ot$Wm$VY;_R>%78Vv3799KvFaWL8_z2(t Rzvln|002ovPDHLkV1hDADi#0$ 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 bff21fbd0120e8f5a91ddaa83c7b2a3484f4352d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igbgP)YB9Dd`$Re@cH@UwGnffkSo-$Xz%e6@gd_$mQ}@Wlcs;fn;2 z!e6>iAVqd002ovPDHLkV1i#FjE?{S 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 62dda832a954fffc4f8a820ce7bca4c4035910bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmV;00eb$4P)RCwC#m@yB6Fc5`n<031othk!+ z6I^xmk2v~gU}e?SRVET#U71;#y>7%nfaD&j@qGztFemN1zIrFd5JCtcg#0fn&4(pP za+2XV64uIfEz7dinA0jJWIG||rL}m3fM`O@Q*%PAXrDlaa3rje?7zJfFws7h_936G5zURKm>^YT}u&k+UFbkt%L<;KQjw}`cv<$ jQyW4EA%qYDNox@5K% zk_IvC?6CX??EV81EOxV4Fo+^BGc=jTAiCrrp$5?j5Ih&Uq#?aa)B7yBH+geSu6^%$ z?)rY*+YdS}eNVs>@B};oPe4ZYR2qxpc!c2ydI*gwQw4Mb&C)boJ4XP(Cm5#Caf8H}M z!fw9R?C=-f`^4i(jfo-V@2#Cc8ATQi!>4lT1?D8wLCgq&(g)5s(=SdFs5o#a2m)>v za{#|fR=g5p4Ig@tS!19X{9KT!St+q}vYc)RUb+raUQSp3`AY$Kmgp9$*34LE#9Lj4O_mZ`M28b!nLL5ci|-3@64|ad#N-1JXw?Y< zf~%vl(m{6=nsF-6ahai=52K>aT+{^u#zi%OtmT|D1QO0Ay^y^+8p#8c(k&rm*JWcJ yxjgu7b}bQsa-VkpVVy%O2(I+9&d|Awx`QjkKqG-<0o{%jH^G07&+c^%G>eNS;#- zc1W9q=oQ4RMA2wO3oUS}hnL_HWkt1(9CMkNjA07m10z4ndf@U}Y`5E0r_*WFU?yHb z{)zX{&1(q}5k$naCaS;;LSU(;Gy@5b=fLWeFk} z`FoK6k*Vy;_6iZd5b=iM1yaipdFKD`Kt7gj;1=l}BK{y^f#NwOonZd`5#)Eqc4C8W zmg^=>#zOBJM_;+GLj>qNUHMfA(7C|{RzSf8+}0eSda7UVnl%{xgZfkz&?|Uw(b=aX zIuFR8D-jON;oG0du07KO=E1*iom+lM_X?3p(ZTcJLPJ%-L>ldIo|V zb7A3c=Dz@nZ>IFaW5PK<2Q&ai1^9X9A_57#;h2?QR6z5<8DKBFl_j4N!rI)X2nS^> z;y`3B1w^FH%Ixu#eHWssH`V{x#20J}3yT`#Uw{DswrH&!?+PV800000NkvXXu0mjf D&^s!9 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 22c398bf01f4cffaca9ff3fc098e68017d3e2a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 824 zcmV-81IPS{P)!XLtAQ^&=l4vQV!NMg*8oSXHIXWy_LPcuC2K8NGsdxcz51> z-i)0n>ZFrSS}kA1$z(D~=y2W=y`Q$*ZN?{kY4Vgt+!6q}IO(-Lg!&qU`H|@wmqkb= z0E)5IF=A` zQj+bF#)dCM2{(A|8kYr)6^?TW+#cRd>ICqHq)Q#Ctw7A5fjv&K){@sDfCDI=)an87 z^S$eWP;ywtC^R26mIE9L;Ao$UnOJ&C2pek&j~Ahmm>2Q^abfwpgQV=g3QgW)kN|Au%X2Y3(LAt=Nbj?Kc!Jb|H3QY zGJ3yEaDoa!;`K)RLK&tCxQr&p24M0VVXCBFyDXoJ5pXv%#2pSy)P+kBK z#&{5+r}1zw0I~`- zYT3@c^WFKbjfR7RgM&i_cse#237;HVvt20r{a~c`dF|yDzzbtGju@$VR-^F1ro_g2$1rRf{V;Sp=H5*BpHGX zIl@TxNvBIS72F1uKc^v7`UMpEELyYM?S4VFolfV2+^tRP`!N1)lmIC40FO(iJSaXv z1!dO4ydNTQMI_qr+e30X2%Jf}PM>p|nd(OO0+cEl=4CSp1uu)27NuV! z1lWi6MFFdTIrkpaPJn`!9rdQ_$0+--4Ae7m0=|$obs)>xyH*#n8vmX^DwGF0(B(>t zdI?aa8vUo}v{ap_y4yeUudhY*07*qoM6N<$f@EtW!Ta5SfF0bH`Qe$Hdx00rH9DU)Q4$42YD4Za_=1V4boOZ*5NoYn&+b zh^P{G`2Iu508hSl@PkzfpApU5K#;{PAs^f50fzm=EdooV`MV}Y0~V!)60so?m868d$)g(+g${LLt z@Jw#PQFCtM|2!93EX-vtcn12WQfTsvh=ry=a+wui=*sEOhnf#LsTtthO?+gpa(;@t ykR#Dh4D=iwA{~yh#zH2t`6nL=g$i6x0R{jqFn}~Rb6XPt0000|&5 BGC2SM 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 64c48a03f80b7bd12f695ac0f43d3dcf04cc6bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1210 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 Hu0mjf+t|mK`rr(jXxlP^(co i;9#_4GU@<;00RI{VT;Q4srPFD0000}1B}lL?P7vuSIpDF1Ejc+^PvL66bJee#o743t zB*_U&_Dwse_^&tQ^vTi&E5482Ph1!+`2>zB?wcORcR-9azwzMz8F73Qjw+SS(c8%| zgZWBBh#_Mtcf-QMIbn(l-VXo7G^b5|%%Epebl+j$@=C`R5!nSR0-S}SSik&@t5R{w z+4)e+a@yp#3=7_;UR;zcx^rK`qNexTCq%OaJYt9_{3DU^GtDc@xk#45yM|kHZQslj s9rbz{wGM$7`kMj`xZD_d7+542WW$Uzc1JX41HHxI>FVdQ&MBb@0Oo;hasU7T 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 9f62778b995bf07175e7b46bdd5a23c6eb1d541b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmV;S0bc%zP)F6XV1NN5Ihu@(jn#mZ zI+D;gAij0>?AgaOa{$m%VIbuT#QH$Yg+tjbAYMg^LzszGC?zG;2BegLm=%vQkRwfi zYR^1>{`@;J<}#5GTE~f02MV1qVhv>>!2x@L*cr(&7l8ON)Yl*jWs%ex&?FH8(}4jr zv3pMTWDGkK`obs zT8*!|djOOR)S&tQ0y*sflB;91s<|9mF@YRm2jnvXt6%ygLTCYm zUh=8Yvo7GIW*Q*b0nq&Z7)w)(?upP6S`WM-wfG$cqhL@0fB*vkov~AYtQ(wN00000 LNkvXXu0mjfl2xV_ 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 5715e4b6d394f722a9716f5eb2d2c1915bd6e573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 zcmVF5M85kQI3xhBvW-w9c z24^UyzXO0i=K@leAPi;GJp}ZDmEd-p26r;Wa zpxMpJ_QevUNCl`Qt6_g!@qlQ$2s-vm{-a-o&K@g<`!`Z6@dzCan zQCTef2Q0d_vZL}{7T>7D3)p&`)# zR51wphNO>7r6FDM`V6kc=<*T(G6n#hh(`xvzIN?2J%)#D z1TRi$Jy3!NfSyQaw@L<^o@=&1a*F;Z}_=0 z&vAWvEr6}YyCX4YYogpYPIgLD(4`cQ3*H;cz3g#p>6qC}mIgr4?@3p@y+YB4?qy61 z`pQz&#=ejOu6jfm(;U$(0m`LG%oAT0N$2#QEyx8xfm*UzSOfPW!kD*W%0O~am?;Au zd(M$m7Oy9OU=8>LS$Wk?HBSvJujvCD8=WIZp8?)6#sScy%p{cnAkC!n3!{?Y_Do~- zM&zIe@1LTeG#Un6{m5RsWG_)W;RBB_xFBO$$Ozp(5@@t-!$5PTeYeX3u+BdUB9|bt zf+HI(`cM`CoF2+L4>*qasD9?oc__6F$?>MBgHG>VJVF~00000NkvXXu0mjfC$$a% 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 abf509be36c87b7a5d30334f95ca81b560eee9a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmVKorKik&u9`Ychdh z5|XOcV$m1`7{u)OD=_moG5jUh-XXS$bW|t^?7Ryxe+yyZ5_y z_r5I%MjP#qZPFzuj^hx+9ef54IbFdE@jTC~!2po_fyrG~!`FbwyaOQlD~4-6N`eg% zX}**B6rS+Cy!-G5VC`IXxH5?w;sj&?zl4AGt;AW&nZNMy&6QlNEXyj2qAja&h0kA@ z`|b)bbtH}%(?bh%anfZ10dwibdR-a`@6>i)Ta_67r@TC z;a$z_T>AhhIHo<;GO@}RfE+{8r3#2iC|DKlO>wjippSRx=W{N4D}65g?no{z`^d*N z;g9EHuAQpoIu*@!qi&Ipf4I&%-5;k`6pHRCwBAU>F4h3>c|tn6a_3Fp#o> za*v%od-g3MJuFoAPz?}sLD^0~Tu4X*6O|pnh0F$qh%CJwfDSlGiUO#M!^p7-7~j1( z(nT?v&?=zX$MgyTy61wKXhOX}-`*O?H1M4&*^q?%{S7H6d_#_FO3MLa^LGofLy0k% zg$UovqUUcsIRO+hn@NcyCTiqmN&qqCz-Anw5=N$-L#!MC`c@4{6{E#{yJ0SDV*28_Vi%Z_IOq zbSg|5b@Z1_VyM3K$z0m>C{8bCyqfP~*Y|CNv5&4k@syNkE^}(i^nEB;X@C0Z$6vpro_boV2>$ z{a+GA3CKySJMZ7`&hO6doulYwJn>k&&r6+7r;X_~B&Mo@6w~Q+{%8Q`vejDq1`4LJCs_Dh5gETE^@ zQ}}$m3UDrCtPIWx!t9IH+_TJxZa`b%02p@Te8%~Lb60X~qJgig=zPF5m@$NW<9a}w z!4Wtl`ZG9?JdV_}CFG42sbi+aswr z8yO?krtQWE^qA|h(v{TBU{JnjfHL=18>RFd}uHNp3B@v&_ zET9=dMygVTCo}TL9|0Aj+yN>jC|UO%&R47#=R!Ece9T8I&)o8{8teK;tJMruI}}zp$(U;kPAw} zNQqo4n{g8dR;(BHV%{g?tAI0Lq&l9oXQ`k{9Alm8=2Zv45buDb=?9)wCCg0{PdiLh zBdY4kuux$-W+AO!y-6bgBA?e8R3yur z0I(tLiA~on$#)tKEw(xjlA6*?*bQU$4`cJcvF=hz7ep8PjpaMYrl}0*e_FSn4-M7P zCqLv?bQ27KApTe&{z7-@xq7+A4&ST2lHK)ET9SAn4eH^S(r0lkf9yXdFXPF_KLG{+ X4?QSq&Sg%~00000NkvXXu0mjfmm+n+ 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 1ed2c56ee4239ff2987568d4fdae10166650b120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2820 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 Wdx?y z?%nsk_wL=DlSCj82m}IwKp^NP(inq`$K!!|j8q%qGsC8%#P!osA zPE;$HT~w;A6%o5vMF39x0=?}6K)^Bt5orLa&!6#lBXM{>kl)TQEJlX#Xs}Z4&Sz+( z9w!g+eQ7ZM5v5!y!}k__71#y_5^s*}D+&Q9`AcFfO#B|a#`PE~YNp!M(D#jxkVrjE z{>l)u3uR#KiC|DwX~-$pt|X)$WdDVD2c*6Tlw3=aUqA`pUBcnSG2wyd-)pZSLEVO0 zvJQvCHqY}@tS12PRQsUbRqD52oIc+;*fS>y4?MrLRS>G^XrQ_(?G@PYDQXB9;vTBD zYfJTf)d+-K@y#Y#sy?nrPGIE&t^zJd9NNZwLDZ8ms>KD4ZL%pG0qA|5`Fmg4-ZB(w zTxJ`L(6-!xQ2o_fQXSfalZyg^?a`Ur}hDF9algCtwhZ06p29b%=l=H#xfykadWFEEWOm z^)@ir^@%M3|13AQhZ!M&He@X}230_k@Nay4q9CR5HW&eTVxw<93fv*Sl=laO0PD>e zXBk|RB1Xyams|L+}iAArccq*H-e>r2{iJ5=aOk)lIH_eeCl|mNR6?`SK_G-lidh5JCtc zBq@F0-{x=~ol*F;OpngFd++^wRRX@lKgd|gSc`-^O9`D}_#aFqbjIO-OE`&yV`>3y z2H{6`!!YbDo`6Lr;h(L(0gIZ$M-_k&KAHfO@KFRHg;y7V7G6~VVt6$HsNq!vAcvnV z06qLH0VRZ=ETEL|lLV9${%QdM;YaqFWP1%+VcsZ*AK7FgAm~Q4%HiQ?o5~3iAn(#a zrY9Mnr3tA1BUt@!@akP*@BP_1_aTQ{8Owi8G2iQtDxfq8lj{PdNSIX^DM7;Q$`HB) zmC_ip1hv{Assz>ID53=Q>M)vwDCKb^3DNokP$WcckU)?Sy+b5-2}xRH0wtKV$Rz6# zx*%a(LcbLI1YD3{x_^+oPwAxIRdQ*SC4>+{2qCrdCBOixs1U1hHqUwh0000< KMNUMnLSTY5^23t= 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 3278568280e6efb215774e0c0d735c2dd971632e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3hTP)A2}nw&4UcE61KmG=qDw>M%ey@TAEfJkemRypzST# z|C*WrOF`QPnFdD}AY_2G#oZt20Ezv(VE@~k1vsKBL4*L33~)(NfOj1bOW%7^XMwN* z#>xK-944m4?NlAG`oI|Fl$St0uzwSx-_2Ekm=5cyZ-VOqefNk>@oVJqyMGFEMjeM? zH$sBU5TpK$N{Qa#c@_N%Sr2FkkXx|6MF+&FS1Fdl{q>*yaW_zFl)~Of^y4wOQE($% zfc%N|OQ(bd2h`|G5K986SsyOIle@vvDdQE_zpC{$1n4{98YX{m2GDXq<&1#(JG|@_ rKsEBu44I;Jd%`7wJD|a2Td&y;=nVpz??Yn!s zcb6z72!bF8f*=U3q{H=~;c(c8!x35tc8EvKX2)K@p0X?}8ZQ7koq)w)(Vmwt!4@FI zrf~v*<2uSG814Tu2NBZ72msDsR^<4XYyc5v6asV!?n#ld2?!fEMSulSwvIuBu=WCA z(OMA*pq(EyAp^>?pup-r1-k{Y&fs_hHnSW$l@9~5Hu$X=>WoOi;k@L09pP(3yWGG% zuBv>`fUw1;7*(rYt|vYqg1%-{a#~dNOOgqI(a!h0?3H^e+*K{7ZUUH!+{#-4um~pH zL!?_H=P!0vhh+;SzXaHEzHdr@D6ExdK;YQOM4&(D|xQmeH<>f)iC0vuaZ{noDr+2JgLZ-(XURtbV2Fw^0D7_J2d*b*ab zeY!B_)Stnf3xJy+=j!*p{Q~FzOKt%;=K&-2_lFIg86yxW@=^eF%=FKI79sXE18gH3 z`aA?`36}udRttdpdNytD!RH|`H7t2k7juCFt_Q8x>-S!-_lSk=)3hMZVE2^2!U=*P i2!bF8g7AY60R{lV{h*XWBt!`S0000mB3( 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 dea7f6ce57def66e8a806dc1cb2eec13ef9d5cb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 823 zcmV-71IYY|P)WSEgKGf{(p1hblnP0Z}QY}DT`0s#Gp ze*OsnkC)-n^4)6Dy}gNmE;PTvWxBUF1oRm1<&OZ8y|6{EszMSiMd6?1x7{azF;zP<@zXou8ys3n0*4e&nyqxtRn&mD3~T zY*91v$>eFq#^3VDoa}ml3~3blAEF76ae8d%On{8@f@28KkpS2aNGqO*tQcE6=6&Jo zz^)RYWdt<#HUa|GW3IhCHC|LjeKRO23dtqyABI44bsly`Zqz!il5-^%ZA!_01LO`l;Pmva>2}o5Dq5}|q zBpHhKdK{<(_X^z#mg2BfUobE*FfcGM;KjcH0|4|S^h<^^aH#+Q002ovPDHLkV1l(p BaU%c# 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 27e32343350b26e6c53ad5df06f31b7b090191b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1032 zcmV+j1o!)iP)-o zr+~3LXXz=hdl#tV0;kqiK)V=QB>j|;CC+fp0KbKDIy-9uNGKNQUJ+U#r)`HCQ+&=qhoHW}B0tk^2yJX?3d{=}(S7FlJmCe4xP#9Djt6f9v8aSJfl2~QVnBk2 zCA8=#ux|^#7Zche5?J7wB>a@NW2a&O2|JQB)Pr`u)AwwC3lbtX^z%sa=WE=Xg+9>s zs649^g;1;U%?khD^)>(!tGG_klwo1vmW#dCrQT3nOrFxTuQ zQpW|EQvzf^eYB_iG&CuLIj(#mLeYv(+wp|BAZwQ|{SkFqb0^ZN$=wJ7ROcMm;4uuz$;uJamXWbE8 z6Qyvd2tRebNZha1J;e)D9d|J$AZSu}7eKo{!Mq@I?E(T_75;x?X3|}nS^#VQ&^6&< z^5cTZk#hn%@j6QpoQ1x#9kiHMf*hS^9a4S*&0D`vHI4xtGymG7djBV>b6z}I> z2-|pH=NMrf0+RRc0{+j^o&XOI4-XFyk4wcr0R{j=({`w=l(7Q<00000KooXr4J@R<15;Gf z1dK$A20~X{8Zr`EGElsKVI>2lDJ?C|z(~j<*cza@0@dT zpY&w+az6RKd%xW%3J3@Y2nYxW2slmjTr4`7O!{!S02$E`-amsdkS)k&y`s!&&(Ak z-&kE?jRpA)jzpnlha~_`e=6B)VWRdsa8LOG#|JVIZ!|!5dJCH`17zanzX?Nqg>N_v z0dx`~0hy!3WhrUF*cT1BP{excAT7v+p`kAXj4HA_7kE-6Pu@fUeo`*;c6sgBJ`f

4T&4ubh0ok(u|kB3xjzHV^M?TH-mau*FtfDzzM|BA^r{>dUP|-@ zQ+WBgh0Wh6N^R$DG3|~}S(eY(y@lKN!f*;>C_i;OIHdNUqJN#?|7s2F6uBm#NmF#H zP+4BjFR7}l^Y&LY_5O-FMg9@6g9J`QPE{RKBsoKkJi;jnjlT?8_$nlp*Q`P#GFm^S zd3SXh=FA5ud;-JnE!@6P)8v&w>5Glkhl=iSME>Dih&=CL-VYlcW7{7`c@J+~qvG5| zGF62_gP^I)=4;v{6(rU@5VGG z_nCk~lPn_=d?w&7((64Mkr4a3dkk?H>M-O9A+QeTx*;<5SOc1n@B+^kT{i(cYFc2LC!z>!h4@`l@ zf<^Ob=-JI;LG1&;qG!Q!ODZs|YjbOF*Y}cU30+w4t=HRoxhw+!004kwF_XNwq9`_W z+0)3)Pj4F6rfHt)383J&bUFW-z7Pp_j_1q;Z-A5MoEif1zB$?kURky2w=d% zauRpjY!`Atbh=lL)#7Nm=5{+RF3!C*7u;%A_Y8mK*wAyJcfEe41NTd z+^Hl-?|Nn+1weov0zTRac=ydw?!Q7*ftdQe?2*HzI6q(v{T{*);oJc>{q9VF3G_K; zp3Rxw{@SMBwO4^9${+|x)DLj^7LVaCgzy7g#7GQ(0e*laKOly`Ajc1o=r5oQf`9;d z_EQ3N5@2%Mrr%qM1aPWBcKtrN{s7Jehw2Ytb%dDpJG;LywJL!AfC0J!-vJ;XwjaO^ z^ar3nK(`+-2GAdXDgXk~Bmn&Z+6gE<=i>PR+z4Ta00000K*IP6FaWeZqJ|~I6{!FK N002ovPDHLkV1k6H$pZiY 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 2b07de4c241a5d9257c1dad3ffb913662acbd83c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xnmk<`Ln>~)xwVnEK|#PF(B#}A<_&GD?=x8R?rIE(ee$=h zYeIEPUyzFDB$doV(Wfd 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 f800630be494cbe5cf475eca806fa4c52654cf0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 zcmV-#29WuQP)N1AiF6HX3l4-FNXUWcm`hDgsC!T?0S@cj>Z6Ek>(D8QL`gQhXNxkl<=|N7RPYx($6+37=9+2#EYq0)QD;f{!b@ zB@CDu36lyFQTO}Q252T)0*K<#008EvCAOX8zOw1pOe@}3&87v=8~_IUiRTRnKY{RN z>i##i6@+=g?vHxC-tKn0O-(P+{jchIi6*GA4(Rza>K6pUPN4A9k{K%4OpO7MX|^NF z5JSuJF?e`*05I@Sc1caT2gipyHFJa@_nduqN=ve}A zijt^dvi~<0Hr7pm@VutYkAy>-lRf?nb^l83Pinv7_b>FU4~qVhrXM$9HU>yC+v6%KM*#bKrqGhikSM1t`~IO!1>*xUkvTI5n7Om?<=7{RtT@& z{iH)6z?%!7Ft`^0pq5iHdvj_FYMBmcN_YsO&7oi+>qtb4f_-0^)I0WE2{)5D0KnB? z>3$p5X9`{$*MJdoO1VIu0~JG%TNbin+?OeF%!HSrRHe}qt}XB-y8mkcu0XtCJ|_|; z8twyNm&feZB@O&aGrfCD_im9hY}gnB z`a4z6n$m!YQ2jDTBR#R|tJL^InZ{J4yprBP_%VQ)a*YB{snFPP6JS-HrbR{fjre<| z)fDQRd6-;oNQ#ajnD#4)=(7-^vD<_O>~Y6rsm4B`SWyh-22Dvl0a%K-U!Yyc@Cl%E zHin!yBmLmONGxZxjNp(KgnXi%lz5)ev)nPmQ>JkVl~>+>;RxJ{C26q@bRPins_KhX zZ!65i+ORM(Kz=ZG6h`F)=RQ@R>dQcmgG@jq6*eZ+fG-sYEJkw>V`fsWw6F=UB9s~r zq49sb+7ct157=eDzgUppAoeFZSur@YZbg=78~-l;QOa_Vc#Di60BWIZf5`tvs$H=eT1y2Q;%{8KSWii z1?;nYL#5m|(9DcSC#2(z08p2X0)*!vzJk-#bjU#HqYcr2ZpaI)aX$R6Hv(1h|+owl}t5W~8%+b=AACP0*`j}-f04Ouh zbS)0yPes3Z1Lm`ENVe7`t5kEgT<&CoKIO11Gbg5k<-TU$ffB)ABLL)vRoI9vW)ue7 zySLeQ$U_PwMp1*yPr*L#jl(`qC#m<^Sq=D}zSQBUr08{p-Yx0j!`IimZep8f* z8lWN!4ELLw_0D5EDr->nr*~MoL?fQw tad}Gwcy#|T(Naq-wbW8ePniA_U;v^-v&Si?KM?=`002ovPDHLkV1iE!2+IHf 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 a5fa74def4b40d7eb6826da05bd5e12b836cb999..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2836 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 M07*qoM6N<$f~#m@YybcN 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 11eb5e19e8df1cf9e7643ab7b15cc65d4e862879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGok|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7&m&lIEGZ*dUI!^7qg>C>%$%0y<4v~yjNJ$oBx>mrSX!F zkwLsSG7?uCOzmy$^-beG=w{$(^ZeZ3`iLzaT<4#waip0^DWHvHh#J?qfLcV)bQr9H={&6$AKSC49CQo z4E6~$d~9Xt(Pv4hQDk_`jVZ<6XPziS+_-)^1q>DvCie~upZ|6O`j{{NNv-}x9gk{KF+LEOa1 z01RUV3A~)57~eFO*`J#>DMiTMm?C)a-H|mp9MjyVr8;e}HP+*9`ns^zU7^O!ddvBL zSB@|Xlx@9M9oJ;S@%l&fy%tlB#N+&|ADEq9d^~J+>El-y1Td+qW@KY9-@Rk0!#@8v Qz!+xmboFyt=akR{0OTvy#Q*>R 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 806c294c1e957b2ff3a2d48198f96823b80fd3fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGok|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nBqNM978H@y_u~W%;YH39&Ql1GGM9I;prQGIG%C)D|c;o z!bUIKMJ(+zmAwoDbgrC!cP=B5;eAT~@4wfd&rHTPvUUB=9)pml@!z|TE(+Rxd|pKZk8|Kqgl zl80Vbe}|lF2wYNVX7@|*!or52A971skF5I7%Czfr!&ZHJX%>_G0}FrhDe;(w$Fr|U zb6E4KxxwD3?_y2p^M7J2M>Oo08au2~UGeFny}LuX@q(qsO>-FRnY%Xr{MOa*ZjpVC z?HYj#vCMjN6@$(+Ffkr4^x>ayzv_nDE0;6o4+Q@5tN&QxlR9hFG{$D(nqyv>y$jS5 zu6+8Dn60#!eM|8F*9O6_1+$pibo*qbzHo0|@R!%(nc^S4qGb#3nm$*W<2V%D}1dV?z>I3=8OGi(TiuT6n)H>zcRmKF7kJw z=Y5lk(~JB6`G5WWN>%D_>r`V#Z>Cpf@xn{hpYoj0vFV$X#WrPHpYmCb6_o+;E6@Mb zO?R04X>zod?KPG^(-@b2nr{$vo?-IR<7b@K9AkQO(*1vXD5IFsgMgork(F#$HZ@#q zyfoSJam2ZXm0Qyrf=)FARB=sbxWx2L=fETl+c2Yq>xNHtS}!HL9{855b?NzTO|Bby zjyt`1Znoa|&h(}#``YJc4F6o&6c_{=7#tXw7#KMiSa5Kr{S-=Iu=Sa~c~w$;I50gj Nc)I$ztaD0e0svB2C*c49 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 c5a34319b7e31e12a08c7b429195a569be0a5c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 925 zcmV;O17iG%P)qKorKWsWo6SkRod% z11Vgjlz3oZp(`C89WB{EP`V7377c{9G=nqPA}uhciR2NJf|TyP>7qqbTlp^6-Fx=; zlTM9PJ8{16?w;Sfi;V#Q000000000000000K-)RccEO|3Xz;+l>-l_M!+>yN_vz1& z8jJp%TEF3`CAAf`pJYf01KdPsp>r#IKfqgVsC}h2BQrKI;C|s*^s(*fkHH@!$b>5x z@K^NIik=7R?M>jRX(DAb97OK%@2I5_K37Q1SgMSt*!D+Rs(Wv7Dh zE))o#*j~8X+o#mNkTBmVNZvFI>^B@#>E&z3OSq+Ti>^*V%#7L_o>q8D+NXfVBZWpn z;W!<2ItCa!m!AhLB`>uY&=WEOOyD}cnl*u*X(z5Fh7tyZFEd~SMC7I8@hcb*E~glH zi~txANc^;6R{bvv7!XGMGtVq|0|UZ{?-P8Zu1h2>5Z|}{!(7MSN0cZRf1h>bm4qD< ziDL0tc;Ceo?)4K1-y=~fKHus1*8Vx*UUYt2N+j_`?Fmw6K-I^&S_~LC9)F=l zd@TmJ6xa&sbG}9cT#9TW!;0AK(N0IkY|KRFz`hNS=i0000QP_ZU#cfRqC zXD&_eJ~xO<58LMg6)@m&#BaLujm=P1ie?Uli_fBer1rGI;XF!CvMl>iRn@H)1EiNC zT(=$av8S3wKu>V*PmTL>B$G>c3{4wGz_Uo_!T?L(bO6Z)9KnFNEMY)g>PY9p0LK1w z$VbRh)8mV!=K)iXbFPdcL}$X3(f*>$wsyz|E~)n~U_e+C*7hMxM-SYZmKw!pwEaRR zy(7t5OMECd000000000000000006+2-vSH(Y!L)N;PR}@00000NkvXXu0mjf<`|u1 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 e596f320915f4dc3c7447dfa0ba48dff2690029a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1066 zcmV+_1l9YAP)n=kf^t{7(1ezzbkg>B=jGzWwxqBB<@fG%R$Vty^z`3< zmgFYO00000000000000`g2`mkvqke~$dz+2r2+yX;hYKxh#)_<Uqk9@1kwyZhEq@0BJjl-( zSE}5%@ZB{W$6L|j@Hv<6rV}AqXOZClix!fj80Qv8K zGBPYB)Iq5(MHW_cw1jL*^)=Ps4O#Ee381YXr}X29j;GYYyY*CIN%`1Q|3$|SL)O|G z0W^}od$NRGf{mcNW07-GbL893zv;l}_8BD)b#hE?2_h0MGq<^!F5u0Sr@9HgaS}E} zTxH64BnQO8bo@NH3o;~FPd!6_|A%MO`LAp?l(vLlq2K>tZaRO#ejh-#^rpiOX-mm= z-S!2XZ^Vd%>&)-mjRshI`RLO5-tL4uXj5z3Otz^AB4O46hqR!C>t!Cv`&>}sHnp+M zWG5hDht%5XuoF-sVU~bH+LGifLcDm;^?(FysQdX5cO}%NwhaVykN`+fECQrHBoVWX+z~L! z078LBV$NVn~_*4H+A7CODrx|ZBDAfc@+**3qWLO`7l z?Ibrfh*&jrODuUH7ZL%^auYz7SR{yJYohJ^uN-pIvTcWC={|JZI3#GqEjJ!z$+kTx z0UQ!Eh$S~3WGVQ(5Jv5P-o!nG-l87zL#Y0$!4$qK5dZ)H k000000001F;kN(-0FT2kHGr*D!~g&Q07*qoM6N<$f~ptVod5s; 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 b385ee825564d9efc63f531744042b2102ace27d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1561 zcmV+!2Il#RP)%3P*3<5kb_DwLXe4dFswv7s zvP8d`?tVRut&~6@5C{YUfj}S-2n4?pezP6Cy}j-0m*2%atT?~EzQ*Z;HyJ0-^caZE zSh3e*o<8_a?BW+ffDj-A2t4AZz_}+q4q~!g7`PzdpwpWQtndA(UmrV}hQiIvGTz={*7f0*GSj^hF#UXpXPLoIAB_ny?z#}`A(+`f zHKR}D24IvaVne|2yelKnjcAn_L9(Y>2p3BD16)F65Yb2AtOWAw_?<5})K@Ksa~(iL zkYDDA2S&3%jC{WAs;Y8rqX{5muQP~ZpF=es?vf+YMAaeYPQ7R?yTHKo3dkcHue>fb1!=p#uw{9yceX1crz=X5hyW9b zg7EIb-fm=xM`Zk^_cRn@Cv*^$4=z(m{k(q~0rzmFoU%<3P|5g}2}q2N*+hObfC$>5 zT);s_?2v#y_7svhvqF}XDM0o48+=yUXxey-0aqGOi4fW_Ap(|V+BFQkz(CGOFv=@Y zjuo@w49Koy02%Fbm2FA5g!zRPI9A!)qeZZ&qZ5ux2NZ>qO?srm8}(y{tSpvwsd`@o zBuo7Xja)9u2&G*d)UWC~0SRW*GQ!!w1=mr=h!JDQMr#O2V#5=21J_%L>}sVv!{_${ z0-Nlwfd5Olo>Q9%h#86Cazk-}^LI^<<5dWFhTy6SPD7Luew3X#XrpvX08+q3#S}2A zDALLjkX|Vh<*8HR9mCRJmkeeuO1yaqI9SA7*h&IG!bTO}q-R&21>%62F?lh(i!7)J z0ZWHlnfn|o&&-&H=~dBI0`eBiBFD<}8UbH2R^D4{2`G?3RIZ=rOfQcYR_Vqj$m(h` zOM|N#8aBcB=DpO~@<#EdR&%P?2b*z9vgN*+z8`5s^S^a2f z*)r>m<`959x_2Sl@lxuAt68gtgTn=d8L8gfXPvz+&;&%&ur~tw7UMtr$|`C$K7IDT zRE6$6ju?=xW;Qa|IWRuOy$4mXn#;W@|MH6%|4uPA40C-)EWx(phNooXUNN@Fa1cO3 zW`@k;*ipkLf1%}rV*btmM>(2|zBK$|*D@TM@&CZ(uzz8Ls~k<~CiPf$Z3R$}9V>_5 zlwk|P5I(04&3>2dki09Pqo`$zQV8&j8!^Gf>`n;q1qe##qEcK?i(F8Mzr!Z*L_nbA zANz<45&{H5fDj;X9)ziBR{oVCFV12Dfj}S-2m}IwKp+qZz6vk^Q>r$T%~Y5l00000 LNkvXXu0mjf_ov{e 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 2afc10aa65588f4ec0b899a93e35729964fd5d32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247 zcmV<51R(o~P)@IfV zJKyv9`;|^oh@Nf#m6@i!nKz_sb zskAH~UWKX4DuQT~WPBB3Miy#(mL^m#2*d&a{u%$6YkpqMxh!jM1Fup4`<@`oY7Kxx z&N0XOEQ3wBQJth*HmD*=$I>>fj88+XM5k5RTJp8tO6Lid< z?RNVs{dqv;$;xK+y+iwa3K{^1gExj+sEmK^@Hz~o=<(7krE`us&0STGD@$+y zbSdZ5MygprR~uYwbpdeZ6K`OEvb;Xvxc?Gb5 z3H<_?RrJ2+p#acnPnfaekOAm!q$OFP?jIrhXva^Jui z03qYS& ze%~z`zD37WQzBok+3mTSwy35rN(0bv7z#!iowve^>*zcK&b0ERyK2bfOqwUSTp^PM zAq6qsWC9nbn1|7Jt1QJqaJoi}CvCmXQA5-9zv=%VAk+oGLMnv10JxS4p;-s( zXRM;%ROzs~mErAXO*}v>gxUab2;p;)7m(C03(9z(#5Qe0p?R>iOhYY0hylPaghIm< z&8Wt*&?cyfz8~QM{ygCZX{bL>n5kE=p(pIe6ViRr6ZYTc|_0(vsmly!|X0t{&pPzVS>00O{}`iL%k z(nyEO%e}mu^Of=?s-cZq`Q}~lA2RuH%{{%3_Iwwz^_EW+L>qtrFrO%F+>2bjW6vQGO2d1sMi{#H`&x`5EUA`IVrQ^N~z*LtVoh_9}hxvl&hyel+00eE%||L?6{T)fq^4=k<;TlC zMZ0CJUSb{_3%UJPQ7q&ZQA9FJ83F(R00000l*N|-0{~&FyY;0xny>%>002ovPDHLk FV1hGA9ZmoM 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 ce23a09856892e80d045b8faf86b14481fcfab0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGok|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XPJ6mIhE&{ob7v!Og8>hNqsT@!UG56;wiI#yhpr0}7*skO zF4j)gYd!BZ)9mHtS%M4<3JeS^3=Iqn0t^gH3=Rwo91IMM3=8Vc=EqA2-mcVXKDXMa z_`m4^(?3`9s+%CPShOJN#UjgyY)e&0f4p$^gUYE>KeBLwEW@JV?puKbhTU7(&&8Qp QPGkTAPgg&ebxsLQ03MG;`2YX_ 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 1ff3a6028de8f903b7de42d2b8826bb1ff738e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2666 zcmV-w3YGPVP)VjDOn^*9Wm2HPh%_?_$xK8FPBRHP zQlNkq^gZWoyx#2I?cVL4WM|*Zj%Dd|cl*BgzwcHp7HFl^3M>c!1ONgB00IDk0ssMk zKmmXNK%i!6^CI5#?c29w_!CQS=PzHr%rDwpHrAZcDg4=naRWvKBQ^Z$9L5sH0>&Ev zW*z`Am+Uq%y6yP%GXiF|PMWf@CX7dBcRVn?2#hHJG5f3m0LCNJcNO-$DMC#c0}#{C z3ILM$o+0CNG99tt3s8E88lS<)Z^UHEOs_Fog+^>N%y?u*-@=)qBYjNfsVgw+5SX>J zxF+{0WhM@R9yaMCHX39;GH{0^xXeDMbR51;Bq>JbJgUMZ(vSlK&`;p}lS=^rOd1)v zS0a5}n(eV2^%}1A&)RB03G*>@%;`T1(uA+@voft)g$C>?Cb}fa z*#l9B^%*m^@Ql^M!*T;A7Y+#{P6)j}_NVXs%9Z(~>SH);yuH;@ZKIu*KgyTT_kHQ z2h5KtWRxZU2q%Dc-yoUk62l^~1R>OB1`5COUUNUY3g&aWuJb2H;ysc%6*WOsBif<4 zuiOOn70fv{DHY&EVH}X@5vA!lci0-~S0-U_Y+oS^9MCr!b2Jiy1J3*%NfUTzEIZ|X zUFKb>DgA8mHs0BrqVP=^R;mjPMX{0$a z$sdfQ@5J(PO=-Zcf_Za8;B?YDp^4^X8Xic#!6l*a{Ki9FisTaEGo)9F$Y>@-a4KH- z1%T9EmVVQ+@IoWmxx6Ap5_jT=;Y*DM9ngG4$BQd&j|#MTtk8mXlN!*eBK^eFjMP}3 z+*EV?Qumo9jS5WKo?sG(s^w1Up5_WI=rjU=&^q#o=`bZ)1b;x%y)4UWOFpx$@tli- zutr6uhOe}lf-TRvT_rE5k_orVOot%|$oMhbG)|;jlsBNn!EsqdXZz7iV0cVED53bD zGjUkq{%3HmT+Wbfg|P|%sX~e>69>XT<0dr|pItZ?FBFQE**Y|1=a)FsCID!g*zS@j zs7vX;u9hQqF~nr14#oOV#i%Ey5{IjG-l+tDwIgm>GA~t_pUmR>iC~LkS|ryoOUyGC zl*!g1tVs>)FkfB^pt-^(%fVu!G-N9#wF1st;_gsWKzj|yqS(gr@2 znE8_n4v|{-n4j+GbIn_%T|J3WOUg^0u(O4v)HJ-V!?uj%sTiM>m(_L(x*xcM z#qW=(PIR;~6QrOmG$96!QK*{l73;2h4d854CfC5&m>`u+i)kfE7#w5$Ou*SkQTNl%-zCz9U*ZE0&3V@jr1>l0et-#6PR@w-vY9?H#S959! z!j$>zkgfy3cP@C+swkPW8gc!k!u3!Keq|rZ%QNO^ITWKbT{}vN`RPh#F|WGUP@Qu0 znAtBU&Z|ZyLYMTEn9yeDyPE4nGE)oYfAS0&t5JKZT#O^rV5z+Ya>pGS%lKw>Dd}{>>EeBF)8~g4$1i;0ba%3VDnq|~^-F@a< ztOpD&onq=x3)&5yrzhnwOIG2z0_Olw?0eF*7HGCFt{e@OT&ttdwi6ed`#EV#p_>1! zVJ&dk#+c|HFQRCxuSmL_bk1hN` zQuP66;W;mtluFmY|K&Q==^R~FS)FcKhTD1JwqEe^4*RgVQE3DM-?2)9;QaR-M^c== zC27m-YR+IUWqnb|@%6u~4D*zG*x)Ak-K{(oDt7-I_`DQ-Sx@_K! z<&24(*3)--4Kx07ZQiZOUi$@(6f;Yn)QOJ`HARio#t-TVJM=pEGT)onF!&ZOd;8}O149hcq!N%?hK6(oZAK7-f#HS|n9?%@Qw{w* cAUc7wfPvd9>y+w~O{pNhr>mdKI;Vst074Kf@&Et; 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.+' } }