diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscription.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscription.java index 3a784cec5c..1a7e987755 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscription.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscription.java @@ -137,7 +137,7 @@ public final class ActiveSubscription { } public boolean isInProgress() { - return !isActive() && (!isFailedPayment() || isPastDue()) && !isCanceled(); + return activeSubscription != null && !isActive() && (!isFailedPayment() || isPastDue()) && !isCanceled(); } public boolean isPastDue() { diff --git a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscriptionTest.java b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscriptionTest.java index f3b887291c..c1caaf093f 100644 --- a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscriptionTest.java +++ b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/subscriptions/ActiveSubscriptionTest.java @@ -15,4 +15,11 @@ public class ActiveSubscriptionTest { assertTrue(activeSubscription.isActive()); assertFalse(activeSubscription.isFailedPayment()); } + + @Test + public void givenNoActiveSubscription_whenIIsInProgress_thenIExpectFalse() throws Exception { + ActiveSubscription activeSubscription = new ActiveSubscription(null, null); + + assertFalse(activeSubscription.isInProgress()); + } } \ No newline at end of file