Bug 1369892 - Silence findbugs dodgy casting warning r=nalexander
Strangely enough, this patch seems to appease findbugs.
While dodgy indeed, I think this casting is acceptable in this case since we control
both sides of the equation (sender & receiver of telemetry), but can't easily do away
with casting.
MozReview-Commit-ID: FBTkRqKPtxt
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetrySyncPingBuilder.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetrySyncPingBuilder.java
@@ -126,17 +126,17 @@ public class TelemetrySyncPingBuilder ex
if (devicesJSON.size() > 0) {
payload.put("devices", devicesJSON);
}
return this;
}
public TelemetrySyncPingBuilder setError(@NonNull Serializable error) {
- payload.put("failureReason", (ExtendedJSONObject) error);
+ payload.put("failureReason", castErrorObject(error));
return this;
}
public TelemetrySyncPingBuilder setTook(long took) {
payload.put("took", took);
return this;
}
@@ -154,9 +154,13 @@ public class TelemetrySyncPingBuilder ex
/**
* We broadcast this data via LocalBroadcastManager and control both sides of this code, so it
* is acceptable to do an unchecked cast.
*/
@SuppressWarnings("unchecked")
private static HashMap<String, TelemetryStageCollector> castSyncData(final Serializable data) {
return (HashMap<String, TelemetryStageCollector>) data;
}
+
+ private static ExtendedJSONObject castErrorObject(final Serializable error) {
+ return (ExtendedJSONObject) error;
+ }
}