Fix ErrorPolicyManager#getMostRecentDataFailCause()

- Defaults to DataFailCause.NONE, instead of NPE.

Bug: 245675105
Test: Update ErrorPolicyManagerTest#testErrorPolicyWithNumAttemptsPerFqdn.
Live test to reproduce and test fix.

Change-Id: I7d132550e8a540cf67fabdac8a9cf5b03a31c360
diff --git a/src/com/google/android/iwlan/ErrorPolicyManager.java b/src/com/google/android/iwlan/ErrorPolicyManager.java
index 0193c96..5cdf5cf 100644
--- a/src/com/google/android/iwlan/ErrorPolicyManager.java
+++ b/src/com/google/android/iwlan/ErrorPolicyManager.java
@@ -395,7 +395,10 @@
     }
 
     public synchronized int getMostRecentDataFailCause() {
-        return getDataFailCause(mMostRecentError.mIwlanError);
+        if (mMostRecentError != null) {
+            return getDataFailCause(mMostRecentError.mIwlanError);
+        }
+        return DataFailCause.NONE;
     }
 
     /**
@@ -1063,8 +1066,8 @@
     }
 
     static class ApnWithIwlanError {
-        final String mApn;
-        final IwlanError mIwlanError;
+        @NonNull final String mApn;
+        @NonNull final IwlanError mIwlanError;
 
         ApnWithIwlanError(String apn, IwlanError iwlanError) {
             mApn = apn;
diff --git a/test/com/google/android/iwlan/ErrorPolicyManagerTest.java b/test/com/google/android/iwlan/ErrorPolicyManagerTest.java
index 038e3e3..13a51a3 100644
--- a/test/com/google/android/iwlan/ErrorPolicyManagerTest.java
+++ b/test/com/google/android/iwlan/ErrorPolicyManagerTest.java
@@ -711,6 +711,7 @@
                 .sendToTarget();
 
         sleep(1000);
+        assertEquals(DataFailCause.NONE, mErrorPolicyManager.getMostRecentDataFailCause());
 
         // IKE_PROTOCOL_ERROR_TYPE(15500)
         // UE constructs 2 PLMN FQDNs.