summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-08-26 21:06:52 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-08-26 21:06:52 +0000
commit3de601cd2efd5709912fd04e9f53dd1a1180b981 (patch)
treefc0c08d31f0d5562205462d031a7a5c77ccd2869
parent8866e8b561a8da221950e1f63c953901597111b3 (diff)
parenteda34fa2474bfc285b236007e96616b9342db805 (diff)
downloadanalytics-library-studio-master-dev.tar.gz
Snap for 6793084 from eda34fa2474bfc285b236007e96616b9342db805 to studio-4.1-releasestudio-4.1.1studio-4.1.0studio-master-dev
Change-Id: I4d377fceaac698503ad8e319102024b8bed93db5
-rw-r--r--shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt5
-rw-r--r--shared/src/test/java/com/android/tools/analytics/AnalyticsSettingsTest.kt23
2 files changed, 27 insertions, 1 deletions
diff --git a/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt b/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt
index b4c73c2..19b784d 100644
--- a/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt
+++ b/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt
@@ -448,7 +448,10 @@ class AnalyticsSettingsData {
channel.truncate(0)
val outputStream = Channels.newOutputStream(channel)
val writer = OutputStreamWriter(outputStream)
- gson.toJson(this, writer)
+
+ // Write out using pre-Java9 date format to let older releases read the file correctly.
+ val datePatternJava8 = "MMM d, y h:mm:ss a"
+ GsonBuilder().setDateFormat(datePatternJava8).create().toJson(this, writer)
writer.flush()
outputStream.flush()
}
diff --git a/shared/src/test/java/com/android/tools/analytics/AnalyticsSettingsTest.kt b/shared/src/test/java/com/android/tools/analytics/AnalyticsSettingsTest.kt
index 097f5cf..45146e5 100644
--- a/shared/src/test/java/com/android/tools/analytics/AnalyticsSettingsTest.kt
+++ b/shared/src/test/java/com/android/tools/analytics/AnalyticsSettingsTest.kt
@@ -19,6 +19,7 @@ import com.android.tools.analytics.stubs.StubDateProvider
import com.android.utils.DateProvider
import com.android.utils.ILogger
import com.google.common.base.Charsets
+import com.google.gson.GsonBuilder
import com.google.protobuf.ByteString
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals
@@ -34,6 +35,7 @@ import java.io.File
import java.io.IOException
import java.math.BigInteger
import java.nio.file.Files
+import java.nio.file.Paths
import java.util.Arrays
import java.util.Date
import java.util.UUID
@@ -585,4 +587,25 @@ class AnalyticsSettingsTest {
EnvironmentFakes.setSystemEnvironment()
}
}
+
+ @Test
+ fun useJava8DateFormat() {
+ EnvironmentFakes.setCustomAndroidSdkHomeEnvironment(testConfigDir.root.toString())
+ try {
+ AnalyticsSettings.setInstanceForTest(AnalyticsSettingsData().apply {
+ userId = "db3dd15b-053a-4066-ac93-04c50585edc2"
+ optedIn = true
+ lastSentimentAnswerDate = Date(115, 4, 17, 14, 23, 45)
+ })
+ AnalyticsSettings.saveSettings()
+ val analysticsSettingsContents =
+ String(Files.readAllBytes(Paths.get(testConfigDir.root.toString(), "analytics.settings")), Charsets.UTF_8)
+ val lastSentimentAnswerDate =
+ GsonBuilder().create().fromJson(analysticsSettingsContents, Map::class.java)["lastSentimentAnswerDate"]
+ assertEquals("May 17, 2015 2:23:45 PM", lastSentimentAnswerDate)
+ }
+ finally {
+ EnvironmentFakes.setSystemEnvironment()
+ }
+ }
}