summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbingran <bingran@google.com>2023-04-07 09:53:18 -0700
committerBingran Li <bingran@google.com>2023-05-23 16:59:46 +0000
commit172e136f59faf903b77be5e204d9f23a032e3d14 (patch)
tree65ec28419dca5fd1d93fb86861685249e86b0f80
parentc44e1c84c5f9dddcb9449804884b58a43d191024 (diff)
downloadanalytics-library-172e136f59faf903b77be5e204d9f23a032e3d14.tar.gz
Add a function to tell if analytics.settings file exist
Bug: 278767328 Test: existing Change-Id: Ia34d1a5c1992fe271fd3ced0cb9931f353431e30
-rw-r--r--shared/src/main/java/com/android/tools/analytics/AnalyticsPaths.kt13
-rw-r--r--shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt12
2 files changed, 20 insertions, 5 deletions
diff --git a/shared/src/main/java/com/android/tools/analytics/AnalyticsPaths.kt b/shared/src/main/java/com/android/tools/analytics/AnalyticsPaths.kt
index 3e52b9e..fb4ff1a 100644
--- a/shared/src/main/java/com/android/tools/analytics/AnalyticsPaths.kt
+++ b/shared/src/main/java/com/android/tools/analytics/AnalyticsPaths.kt
@@ -37,15 +37,20 @@ object AnalyticsPaths {
*/
@JvmStatic
fun getAndEnsureAndroidSettingsHome(): String {
- // currently can't be shared with AndroidLocation see b/37123089
- val prefsRoot = getEnvOrPropValue(EnvironmentVariable.ANDROID_PREFS_ROOT, SystemProperty.ANDROID_PREFS_ROOT)
- ?: getEnvOrPropValue(EnvironmentVariable.ANDROID_SDK_HOME, SystemProperty.ANDROID_SDK_HOME)
- ?: Paths.get(Environment.instance.getSystemProperty(SystemProperty.USER_HOME)!!, ".android").toString()
+ val prefsRoot = getAndroidSettingsHome()
File(prefsRoot).mkdirs()
return prefsRoot
}
+ @JvmStatic
+ fun getAndroidSettingsHome(): String {
+ // currently can't be shared with AndroidLocation see b/37123089
+ return getEnvOrPropValue(EnvironmentVariable.ANDROID_PREFS_ROOT, SystemProperty.ANDROID_PREFS_ROOT)
+ ?: getEnvOrPropValue(EnvironmentVariable.ANDROID_SDK_HOME, SystemProperty.ANDROID_SDK_HOME)
+ ?: Paths.get(Environment.instance.getSystemProperty(SystemProperty.USER_HOME)!!, ".android").toString()
+ }
+
private fun getEnvOrPropValue(
envVar: EnvironmentVariable,
sysProp: SystemProperty
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 8c36f11..7af01f9 100644
--- a/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt
+++ b/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.kt
@@ -391,15 +391,25 @@ object AnalyticsSettings {
}
}
+ private const val ANALYTICS_SETTINGS = "analytics.settings"
+
/**
* Helper to get the file to read/write settings from based on the configured android settings
* home.
*/
internal val settingsFile: File
- get() = Paths.get(AnalyticsPaths.getAndEnsureAndroidSettingsHome(), "analytics.settings")
+ get() = Paths.get(AnalyticsPaths.getAndEnsureAndroidSettingsHome(), ANALYTICS_SETTINGS)
.toFile()
/**
+ * Check if the [ANALYTICS_SETTINGS] file exists without creating parent directories
+ */
+ @JvmStatic
+ fun settingsFileExists(): Boolean {
+ return File(AnalyticsPaths.getAndroidSettingsHome(), ANALYTICS_SETTINGS).exists()
+ }
+
+ /**
* Gets a binary blob to ensure per user anonymization. Gets automatically rotated every 28
* days. Primarily used by [Anonymizer].
*/