From ef5b00b8101dae1ded5162dc949a71d0c4d4e2b7 Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 10 Apr 2019 11:29:15 +0800 Subject: Add hashcode(), equals() and toString() methods to Events class. --- .../telemetry/OfflineDownloadStartEvent.java | 66 ++++++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/OfflineDownloadStartEvent.java') diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/OfflineDownloadStartEvent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/OfflineDownloadStartEvent.java index ab39e2d820..2900557805 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/OfflineDownloadStartEvent.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/OfflineDownloadStartEvent.java @@ -2,8 +2,10 @@ package com.mapbox.mapboxsdk.module.telemetry; import android.annotation.SuppressLint; import android.os.Parcel; +import android.support.annotation.FloatRange; import com.mapbox.android.telemetry.Event; +import com.mapbox.mapboxsdk.constants.MapboxConstants; /** * Event will be sent while offline download start. @@ -17,17 +19,21 @@ public class OfflineDownloadStartEvent extends Event { private final String shapeForOfflineRegion; private String styleURL; - void setStyleURL(String styleURL) { - this.styleURL = styleURL; - } - - OfflineDownloadStartEvent(PhoneState phoneState, String shapeForOfflineRegion, Double minZoom, Double maxZoom) { + OfflineDownloadStartEvent(PhoneState phoneState, String shapeForOfflineRegion, + @FloatRange(from = MapboxConstants.MINIMUM_ZOOM, + to = MapboxConstants.MAXIMUM_ZOOM) Double minZoom, + @FloatRange(from = MapboxConstants.MINIMUM_ZOOM, + to = MapboxConstants.MAXIMUM_ZOOM) Double maxZoom) { this.created = phoneState.getCreated(); this.shapeForOfflineRegion = shapeForOfflineRegion; this.minZoom = minZoom; this.maxZoom = maxZoom; } + void setStyleURL(String styleURL) { + this.styleURL = styleURL; + } + String getCreated() { return created; } @@ -48,6 +54,56 @@ public class OfflineDownloadStartEvent extends Event { return styleURL; } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + OfflineDownloadStartEvent that = (OfflineDownloadStartEvent) o; + + if (created != null ? !created.equals(that.created) : that.created != null) { + return false; + } + if (minZoom != null ? !minZoom.equals(that.minZoom) : that.minZoom != null) { + return false; + } + if (maxZoom != null ? !maxZoom.equals(that.maxZoom) : that.maxZoom != null) { + return false; + } + if (shapeForOfflineRegion != null ? !shapeForOfflineRegion.equals(that.shapeForOfflineRegion) : + that.shapeForOfflineRegion != null) { + return false; + } + return styleURL != null ? styleURL.equals(that.styleURL) : that.styleURL == null; + } + + @Override + public int hashCode() { + int result = event.hashCode(); + result = 31 * result + (created != null ? created.hashCode() : 0); + result = 31 * result + (minZoom != null ? minZoom.hashCode() : 0); + result = 31 * result + (maxZoom != null ? maxZoom.hashCode() : 0); + result = 31 * result + (shapeForOfflineRegion != null ? shapeForOfflineRegion.hashCode() : 0); + result = 31 * result + (styleURL != null ? styleURL.hashCode() : 0); + return result; + } + + @Override + public String toString() { + return "OfflineDownloadStartEvent{" + + "event='" + event + '\'' + + ", created='" + created + '\'' + + ", minZoom=" + minZoom + + ", maxZoom=" + maxZoom + + ", shapeForOfflineRegion='" + shapeForOfflineRegion + '\'' + + ", styleURL='" + styleURL + '\'' + + '}'; + } + @Override public int describeContents() { return 0; -- cgit v1.2.1