diff --git a/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteActivity.kt b/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteActivity.kt index d044f4f..e3e9855 100644 --- a/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteActivity.kt +++ b/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteActivity.kt @@ -136,7 +136,6 @@ class AddSiteActivity : DarkModeSwitchActivity() { viewModel.commit { setResult(RESULT_OK) finish() - overridePendingTransition(R.anim.fade_out, R.anim.fade_out) } } } diff --git a/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteViewModel.kt b/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteViewModel.kt index 04cd16d..ffc3619 100644 --- a/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteViewModel.kt +++ b/app/src/main/java/com/afollestad/nocknock/ui/addsite/AddSiteViewModel.kt @@ -28,10 +28,12 @@ import com.afollestad.nocknock.data.AppDatabase import com.afollestad.nocknock.data.RetryPolicy import com.afollestad.nocknock.data.model.Site import com.afollestad.nocknock.data.model.SiteSettings +import com.afollestad.nocknock.data.model.Status.WAITING import com.afollestad.nocknock.data.model.ValidationMode import com.afollestad.nocknock.data.model.ValidationMode.JAVASCRIPT import com.afollestad.nocknock.data.model.ValidationMode.STATUS_CODE import com.afollestad.nocknock.data.model.ValidationMode.TERM_SEARCH +import com.afollestad.nocknock.data.model.ValidationResult import com.afollestad.nocknock.data.putSite import com.afollestad.nocknock.engine.validation.ValidationManager import com.afollestad.nocknock.ui.ScopedViewModel @@ -42,6 +44,7 @@ import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import okhttp3.HttpUrl +import java.lang.System.currentTimeMillis /** @author Aidan Follestad (@afollestad) */ class AddSiteViewModel( @@ -229,9 +232,15 @@ class AddSiteViewModel( disabled = false ) + val newLastResult = ValidationResult( + timestampMs = currentTimeMillis(), + status = WAITING, + reason = null + ) + val retryPolicyTimes = retryPolicyTimes.value ?: 0 val retryPolicyMinutes = retryPolicyMinutes.value ?: 0 - val retryPolicy: RetryPolicy? = if (retryPolicyTimes > 0 && retryPolicyMinutes > 0) { + val newRetryPolicy: RetryPolicy? = if (retryPolicyTimes > 0 && retryPolicyMinutes > 0) { RetryPolicy(count = retryPolicyTimes, minutes = retryPolicyMinutes) } else { null @@ -242,8 +251,8 @@ class AddSiteViewModel( name = name.value!!.trim(), url = url.value!!.trim(), settings = newSettings, - lastResult = null, - retryPolicy = retryPolicy + lastResult = newLastResult, + retryPolicy = newRetryPolicy ) } } diff --git a/app/src/main/res/anim/fade_out.xml b/app/src/main/res/anim/fade_out.xml deleted file mode 100644 index da8bafd..0000000 --- a/app/src/main/res/anim/fade_out.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/data/src/main/java/com/afollestad/nocknock/data/AppDatabase.kt b/data/src/main/java/com/afollestad/nocknock/data/AppDatabase.kt index 542d2e4..c80b9f8 100644 --- a/data/src/main/java/com/afollestad/nocknock/data/AppDatabase.kt +++ b/data/src/main/java/com/afollestad/nocknock/data/AppDatabase.kt @@ -98,10 +98,12 @@ fun AppDatabase.putSite(site: Site): Site { val settings = site.settings ?: throw IllegalArgumentException("Settings cannot be null.") val newId = siteDao().insert(site) val settingsWithSiteId = settings.copy(siteId = newId) + val lastResultWithSiteId = site.lastResult?.copy(siteId = newId) + val retryPolicyWithSiteId = site.retryPolicy?.copy(siteId = newId) siteSettingsDao().insert(settingsWithSiteId) - site.lastResult?.let { validationResultsDao().insert(it) } - site.retryPolicy?.let { retryPolicyDao().insert(it) } + lastResultWithSiteId?.let { validationResultsDao().insert(it) } + retryPolicyWithSiteId?.let { retryPolicyDao().insert(it) } return site.copy( id = newId, diff --git a/dependencies.gradle b/dependencies.gradle index 1b4a3b6..7e47816 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,8 +3,8 @@ ext.versions = [ minSdk : 21, compileSdk : 28, buildTools : '28.0.3', - publishVersion : '0.8.1', - publishVersionCode : 30, + publishVersion : '0.8.2', + publishVersionCode : 32, // Plugins gradlePlugin : '3.2.1',