From ec0db033b1e3605145d1d540e8a9496f84fd5429 Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Sat, 27 Aug 2016 15:36:42 +0200 Subject: [PATCH] Avoid potential NPE when subclasses return null for rawKindSampleProperty --- .../gadgetbridge/devices/AbstractSampleProvider.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractSampleProvider.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractSampleProvider.java index 385863389..563efc8c2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractSampleProvider.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractSampleProvider.java @@ -1,5 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -110,6 +113,10 @@ public abstract class AbstractSampleProvider i return null; } Property rawKindProperty = getRawKindSampleProperty(); + if (rawKindProperty == null) { + return null; + } + if (dbActivityTypes.length == 1) { return rawKindProperty.eq(dbActivityTypes[0]); } @@ -142,7 +149,12 @@ public abstract class AbstractSampleProvider i public abstract AbstractDao getSampleDao(); + @Nullable protected abstract Property getRawKindSampleProperty(); + + @NonNull protected abstract Property getTimestampSampleProperty(); + + @NonNull protected abstract Property getDeviceIdentifierSampleProperty(); }