OmniControl: add null check handling for overlay settings string
Change-Id: I12c7f177a800eebd2784e81b4823a6f6e8e4d706
diff --git a/app/src/main/java/org/omnirom/control/OverlaysProvider.kt b/app/src/main/java/org/omnirom/control/OverlaysProvider.kt
index e94aa53..a4c1c96 100644
--- a/app/src/main/java/org/omnirom/control/OverlaysProvider.kt
+++ b/app/src/main/java/org/omnirom/control/OverlaysProvider.kt
@@ -280,18 +280,18 @@
}
fun saveIconShapeOverlayToSettings(iconShapePackage: String) {
- val overlayPackageJson = Settings.Secure.getString(
+ val overlayPackageJson: String? = Settings.Secure.getString(
context.contentResolver,
"theme_customization_overlay_packages"
)
var json = JSONObject()
- if (overlayPackageJson.isNotEmpty()) {
+ if (!overlayPackageJson.isNullOrEmpty()) {
json = JSONTokener(overlayPackageJson).nextValue() as JSONObject
}
- if (iconShapePackage.isNotEmpty()) {
- json.put(getIconShapeCategory(), iconShapePackage)
- } else {
+ if (iconShapePackage.isNullOrEmpty()) {
json.remove(getIconShapeCategory())
+ } else {
+ json.put(getIconShapeCategory(), iconShapePackage)
}
Settings.Secure.putString(
context.contentResolver, "theme_customization_overlay_packages",