diff --git a/app/app-release.apk b/app/app-release.apk
index ad238ac..5f80490 100644
Binary files a/app/app-release.apk and b/app/app-release.apk differ
diff --git a/app/build.gradle b/app/build.gradle
index 2db0528..ce13806 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,8 +19,8 @@ android {
applicationId "org.deke.risk.riskahead"
minSdkVersion 15
targetSdkVersion 22
- versionCode 20
- versionName "1.8.5"
+ versionCode 21
+ versionName "1.8.6"
}
buildTypes {
release {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8c38424..7bdb690 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -122,6 +122,7 @@
diff --git a/app/src/main/bg_round_map-web.png b/app/src/main/bg_round_map-web.png
new file mode 100644
index 0000000..705877f
Binary files /dev/null and b/app/src/main/bg_round_map-web.png differ
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 67a7028..a8facb3 100644
--- a/app/src/main/java/org/deke/risk/riskahead/MainActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/MainActivity.java
@@ -1,12 +1,12 @@
package org.deke.risk.riskahead;
+import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import android.view.View;
-import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
@@ -35,6 +35,8 @@ public class MainActivity extends BaseActivity{
private Handler mHandler = new Handler();
private TextView notificationStatus;
+
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -193,4 +195,7 @@ public class MainActivity extends BaseActivity{
protected String getActivityName() {
return getResources().getString(R.string.title_activity_start);
}
+
+
+
}
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 748c785..2991222 100644
--- a/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java
@@ -20,6 +20,7 @@ import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.TextView;
@@ -94,6 +95,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
private boolean markersShown = false;
private boolean showAdd = true;
+ private int pbCounter = 0;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -125,8 +128,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
initClustering();
}
-
-
@Override
public void onLowMemory() {
super.onLowMemory();
@@ -306,6 +307,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}
private void refreshIncidentMarkers(LatLng northeast, LatLng southwest){
+ showProgress();
+
String tag_string_req = "getincidentsfrombound";
StringRequest strReq = getStringRequestGetAllIncidentsFromBound(northeast,southwest);
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
@@ -326,6 +329,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}
private void refreshIncidentHeatMap(LatLng northeast, LatLng southwest){
+ showProgress();
+
String tag_string_req = "getincidentsforheatmapfrombound";
StringRequest strReq = getStringRequestGetAllIncidentsForHeatMapFromBound(northeast, southwest);
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
@@ -365,7 +370,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
public void onResponse(String response) {
Log.d(TAG, "Map HeatMap positions response: " + response);
-
+ hideProgress();
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
@@ -386,6 +391,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
+ hideProgress();
Log.e(TAG, "Error getting map positions: " + error.getMessage());
showMessage(getString(R.string.errormsg_couldnotretrieve));
}
@@ -412,7 +418,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
public void onResponse(String response) {
Log.d(TAG, "Map positions response: " + response);
-
+ hideProgress();
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
@@ -433,6 +439,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
+ hideProgress();
Log.e(TAG, "Error getting map positions: " + error.getMessage());
showMessage(getString(R.string.errormsg_couldnotretrieve));
}
@@ -480,6 +487,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}
private void loadInfoWindowInformation(View infoView, String incidentID){
+ showProgress();
+
String tag_string_req = "getincidentscoreforinfowindow";
StringRequest strReq = getStringRequestGetIncidentScoreForInfoWindow(infoView, incidentID);
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
@@ -491,7 +500,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
public void onResponse(String response) {
Log.d(TAG, "Map positions response: " + response);
-
+ hideProgress();
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
@@ -503,7 +512,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
TextView tvUsername = ((TextView) infoView.findViewById(R.id.txt_infowindow_fromuser));
RatingBar rbScore = ((RatingBar) infoView.findViewById(R.id.rb_infowindow_rating));
- tvUsername.setText(getString(R.string.lbl_mapsinfowindow_author) + " " + clickedClusterItem.getFromUsername());
+ tvUsername.setText(String.format("%s %s",getString(R.string.lbl_mapsinfowindow_author),clickedClusterItem.getFromUsername()));
rbScore.setRating(clickedClusterItem.getScoreStars());
if (markerShowingInfoWindow != null && markerShowingInfoWindow.isInfoWindowShown()) {
@@ -523,6 +532,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
+ hideProgress();
Log.e(TAG, "Error getting incident details: " + error.getMessage());
showMessage(getString(R.string.errormsg_couldnotretrieve));
}
@@ -577,7 +587,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
tvSuspect.setText(String.format("%s %s",getString(R.string.lbl_mapsinfowindow_suspect),clickedClusterItem.getSuspectString(getApplicationContext())));
tvVictim.setText(String.format("%s %s",getString(R.string.lbl_mapsinfowindow_victim),clickedClusterItem.getVictimString(getApplicationContext())));
- tvTime.setText(String.format("%s %s",(R.string.lbl_mapsinfowindow_time),clickedClusterItem.getTimeString(getApplicationContext())));
+ tvTime.setText(String.format("%s %s", getString(R.string.lbl_mapsinfowindow_time), clickedClusterItem.getTimeString(getApplicationContext())));
}
return myContentsView;
}
@@ -738,8 +748,15 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
return getResources().getString(R.string.title_activity_maps);
}
- public void onBackPressed(){
- super.onBackPressed();
+ private void showProgress(){
+ ((ProgressBar) findViewById(R.id.pb_map_progress)).setVisibility(View.VISIBLE);
+ pbCounter++;
+ }
+ private void hideProgress(){
+ pbCounter--;
+ if(pbCounter == 0){
+ ((ProgressBar) findViewById(R.id.pb_map_progress)).setVisibility(View.GONE);
+ }
}
}
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 d3c184d..6201211 100644
--- a/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java
@@ -149,7 +149,6 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
currentState = state;
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
-
transaction.replace(R.id.fragment_reportwf, fragList.get(state));
transaction.commit();
@@ -168,6 +167,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
String currentSite = (currentState+1) + "/" + (fragList.size()-1);
siteIndicator.setText(currentSite);
+
}
private void resetStateAndIncident(){
@@ -378,34 +378,9 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
.setMessage(R.string.txt_share_message)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
-
- gotoMapActivity(incident.getPosition().latitude+":"+incident.getPosition().longitude);
-
- Intent sharingIntent = new Intent(Intent.ACTION_SEND);
-
- Bitmap icon = BitmapFactory.decodeResource(getApplicationContext().getResources(),
- R.drawable.ra_qrcode);
-
- String text = getString(R.string.txt_share_hint)
- +getString(R.string.txt_share_hint2)+": "+ incident.getIncidentCategoryName(getApplicationContext())
- +" - "+incident.getIncidentSubCategoryName(getApplicationContext())+"\n"
- +getString(R.string.txt_share_hint3)+": "+ incident.getIncidentPositionDescription().split("\\n")[0] + " - " + incident.getIncidentPositionDescription().split("\\n")[1] + "\n"
- +getString(R.string.txt_share_page);
-
- sharingIntent.putExtra(Intent.EXTRA_TEXT, text);
- sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), icon, "Share incident", null)));
-
- sharingIntent.setType("image/*");
-
- sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- startActivity(Intent.createChooser(sharingIntent, getString(R.string.txt_share_acttitle)));
-
-
-
-
- finish();
-
-
+ resetStateAndIncident();
+ gotoMapActivity(incident.getPosition().latitude + ":" + incident.getPosition().longitude);
+ startShareIncidentIntent(incident);
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@@ -416,15 +391,29 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
+ }
+ private void startShareIncidentIntent(IncidentReport incident) {
+ Intent sharingIntent = new Intent(Intent.ACTION_SEND);
+ Bitmap icon = BitmapFactory.decodeResource(getApplicationContext().getResources(),
+ R.drawable.ra_qrcode);
+ String text = getString(R.string.txt_share_hint)
+ +getString(R.string.txt_share_hint2)+": "+ incident.getIncidentCategoryName(getApplicationContext())
+ +" - "+incident.getIncidentSubCategoryName(getApplicationContext())+"\n"
+ +getString(R.string.txt_share_hint3)+": "+ incident.getIncidentPositionDescription().split("\\n")[0] + " - " + incident.getIncidentPositionDescription().split("\\n")[1] + "\n"
+ +getString(R.string.txt_share_page);
-
+ sharingIntent.putExtra(Intent.EXTRA_TEXT, text);
+ sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), icon, "Share incident", null)));
+ sharingIntent.setType("image/*");
+ sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ startActivity(Intent.createChooser(sharingIntent, getString(R.string.txt_share_acttitle)));
}
private void finishReportAndGotoMap(IncidentReport incident) {
resetStateAndIncident();
showAd();
- gotoMapActivity(incident.getPosition().latitude+":"+incident.getPosition().longitude);
+ gotoMapActivity(incident.getPosition().latitude + ":" + incident.getPosition().longitude);
}
@Override
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 d1b9ff4..501f636 100644
--- a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java
@@ -4,7 +4,6 @@ import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
-import android.content.IntentSender;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
@@ -172,9 +171,7 @@ public class SubscriptionsActivity extends BaseActivity{
initPurchaseTable(responseList);
}
- } catch (RemoteException e) {
- e.printStackTrace();
- } catch (JSONException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -235,11 +232,8 @@ public class SubscriptionsActivity extends BaseActivity{
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
startIntentSenderForResult(pendingIntent.getIntentSender(),
- 1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0),
- Integer.valueOf(0));
- } catch (RemoteException e) {
- e.printStackTrace();
- } catch (IntentSender.SendIntentException e) {
+ 1001, new Intent(), 0, 0, 0);
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -256,7 +250,7 @@ public class SubscriptionsActivity extends BaseActivity{
JSONObject jo = new JSONObject(purchaseData);
String sku = jo.getString("productId");
- showMessage(getResources().getString(R.string.txt_subs_youbought) + " " + purchaseMap.get(sku).getString("title") + ". " + getResources().getString(R.string.txt_subs_thankyou));
+ showMessage(String.format("%s %s. %s",getResources().getString(R.string.txt_subs_youbought),purchaseMap.get(sku).getString("title"),getResources().getString(R.string.txt_subs_thankyou)));
addSubscription(purchaseMap.get(sku).getString("productId"),purchaseMap.get(sku).getString("type"),purchaseMap.get(sku).getString("price_amount_micros"),purchaseMap.get(sku).getString("price_currency_code"));
}
catch (JSONException e) {
@@ -289,7 +283,7 @@ public class SubscriptionsActivity extends BaseActivity{
Log.e(TAG, "Error adding subscription (Server returned error): " + errorMsg);
showMessage(getResources().getString(R.string.txt_errormsg_subs));
} else {
- getSubscriptionsAndSync(user.get(SessionManager.KEY_UID));
+ gotoSubscriptionsActivity();
}
} catch (JSONException e) {
diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java b/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java
index dc7aa3d..b949bea 100644
--- a/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java
@@ -411,7 +411,6 @@ public abstract class BaseActivity extends AppCompatActivity {
Intent intent;
intent = new Intent(BaseActivity.this, MapsActivity.class);
BaseActivity.this.startActivity(intent);
- finish();
}
public void gotoMapActivity(String position){
@@ -419,7 +418,6 @@ public abstract class BaseActivity extends AppCompatActivity {
intent = new Intent(getApplicationContext(), MapsActivity.class);
intent.putExtra(EXTRA_MESSAGE, position);
startActivity(intent);
- finish();
}
public void getNotifyLocationFromMapActivity(){
@@ -427,7 +425,6 @@ public abstract class BaseActivity extends AppCompatActivity {
intent = new Intent(getApplicationContext(), MapsActivity.class);
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETNOTIFY);
startActivity(intent);
- finish();
}
public void getIncidentLocationFromMapActivity(){
@@ -435,7 +432,6 @@ public abstract class BaseActivity extends AppCompatActivity {
intent = new Intent(getApplicationContext(), MapsActivity.class);
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETINCLOC);
startActivity(intent);
- finish();
}
public void getNotifyLocationFromMapActivity(String position){
@@ -444,7 +440,6 @@ public abstract class BaseActivity extends AppCompatActivity {
intent.putExtra(EXTRA_MESSAGE, position);
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETNOTIFY);
startActivity(intent);
- finish();
}
public void getIncidentLocationFromMapActivity(String position){
@@ -453,14 +448,12 @@ public abstract class BaseActivity extends AppCompatActivity {
intent.putExtra(EXTRA_MESSAGE, position);
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETINCLOC);
startActivity(intent);
- finish();
}
public void gotoProfileActivity(){
Intent intent;
intent = new Intent(getApplicationContext(), ProfileActivity.class);
startActivity(intent);
- finish();
}
public void gotoProfileActivity(String uid){
@@ -468,21 +461,18 @@ public abstract class BaseActivity extends AppCompatActivity {
intent = new Intent(getApplicationContext(), ProfileActivity.class);
intent.putExtra(EXTRA_MESSAGE, uid);
startActivity(intent);
- finish();
}
public void gotoSettingsActivity(){
Intent intent;
intent = new Intent(getApplicationContext(), SettingsActivity.class);
startActivity(intent);
- finish();
}
public void gotoSubscriptionsActivity(){
Intent intent;
intent = new Intent(getApplicationContext(), SubscriptionsActivity.class);
startActivity(intent);
- finish();
}
public void gotoViewReportActivity(Integer uid){
@@ -490,7 +480,6 @@ public abstract class BaseActivity extends AppCompatActivity {
intent = new Intent(getApplicationContext(), ViewReportActivity.class);
intent.putExtra(EXTRA_MESSAGE, uid);
startActivity(intent);
- finish();
}
@Override
@@ -577,7 +566,7 @@ public abstract class BaseActivity extends AppCompatActivity {
((TextView) dialoglayout.findViewById(R.id.txt_about_terms)).setMovementMethod(LinkMovementMethod.getInstance());
try {
- ((TextView) dialoglayout.findViewById(R.id.lbl_about_version)).setText("Version: "+ getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
+ ((TextView) dialoglayout.findViewById(R.id.lbl_about_version)).setText(String.format("Version: %s",getPackageManager().getPackageInfo(getPackageName(), 0).versionName));
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
@@ -719,19 +708,24 @@ public abstract class BaseActivity extends AppCompatActivity {
return false;
}
-
@Override
public void onBackPressed() {
- if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis())
- {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_HOME);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
- }
- else {
- Toast.makeText(getBaseContext(), R.string.txt_backpressed_msg, Toast.LENGTH_SHORT).show(); }
+ if (isTaskRoot()) {
+ if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis()) {
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.addCategory(Intent.CATEGORY_HOME);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
+ } else {
+ showMessage(getString(R.string.txt_backpressed_msg));
+ }
- mBackPressed = System.currentTimeMillis();
+ mBackPressed = System.currentTimeMillis();
+ } else {
+ super.onBackPressed();
+ }
}
+
+
+
}
diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/SessionManager.java b/app/src/main/java/org/deke/risk/riskahead/helper/SessionManager.java
index 0323599..02eb3bb 100644
--- a/app/src/main/java/org/deke/risk/riskahead/helper/SessionManager.java
+++ b/app/src/main/java/org/deke/risk/riskahead/helper/SessionManager.java
@@ -52,6 +52,8 @@ public class SessionManager {
public static final String KEY_SUBS_NOADS = "subs_noads";
public static final String KEY_SUBS_PREMIUM = "subs_premium";
+ public static final String KEY_ONBACKPRESSED= "onbackpressed";
+
public SessionManager(Context context) {
@@ -71,6 +73,15 @@ public class SessionManager {
return status.getBoolean(KEY_IS_LOGGEDIN, false);
}
+ public Long getOnBackPressed(){
+ return status.getLong(KEY_ONBACKPRESSED, 0);
+ }
+
+ public void setOnBackPressed(Long onbackpressed){
+ statusEditor.putLong(KEY_ONBACKPRESSED, onbackpressed);
+ statusEditor.apply();
+ }
+
public void setLocation(Long latitude, Long longitude){
statusEditor.putLong(KEY_LOCATION_LAT, latitude);
statusEditor.putLong(KEY_LOCATION_LNG, longitude);
diff --git a/app/src/main/res/drawable/bg_main.jpg b/app/src/main/res/drawable/bg_main.jpg
deleted file mode 100644
index 3d4cb92..0000000
Binary files a/app/src/main/res/drawable/bg_main.jpg and /dev/null differ
diff --git a/app/src/main/res/layout/activity_maps.xml b/app/src/main/res/layout/activity_maps.xml
index 47eea8d..d27cdd2 100644
--- a/app/src/main/res/layout/activity_maps.xml
+++ b/app/src/main/res/layout/activity_maps.xml
@@ -44,6 +44,13 @@
app:layout_anchorGravity="bottom|left|end"
android:layout_alignParentBottom="true"/>
+
+
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index b3342f2..dc1c56d 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -223,7 +223,7 @@
Für mehr Details: www.riskahead.de
Vorfall teilen…
Keine Angaben
- Drücke erneut Zurück um die RiskAhead zu schließen
+ Drücke erneut Zurück um RiskAhead zu schließen
Benachrichtigungen:
AN
NICHT BEREIT (GPS FEHLT)
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 2a6733e..01ddde0 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -5,7 +5,6 @@
#1175b7
- #9e1175b7
#50626262
#e4474747
@@ -16,8 +15,6 @@
#aa4b4b4b
- #b3d1e6
-
#000000
#f5f5f5