commit | 4477d12e0db07bf1517949a63dfb38797a3ccabc | [log] [tgz] |
---|---|---|
author | Fabian Kozynski <kozynski@google.com> | Wed Aug 19 12:57:19 2020 -0400 |
committer | Fabian Kozynski <kozynski@google.com> | Mon Aug 24 15:30:00 2020 +0000 |
tree | 2eb00097c930cb0c82ea2b30329d9139bf3a4f08 | |
parent | b28236132d5b3172962851e0f671838192943a73 [diff] |
Don't create a file with empty favorites A file could be created with empty favorites, preventing a late restore (from D2D) from overwriting it. Test: atest ControlsFavoritePersistenceWrapperTest Test: manual D2d restore Bug: 165200632 Change-Id: Ia99b8e98e4f62d8d0c7385c820c645f3aaabe6f3 Merged-In: Ia99b8e98e4f62d8d0c7385c820c645f3aaabe6f3 (cherry picked from commit 9c892d30f1b51c45eed2081d23a28b22cd98fb54)
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt index 1bda841..d930c98 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt
@@ -87,6 +87,10 @@ * @param list a list of favorite controls. The list will be stored in the same order. */ fun storeFavorites(structures: List<StructureInfo>) { + if (structures.isEmpty() && !file.exists()) { + // Do not create a new file to store nothing + return + } executor.execute { Log.d(TAG, "Saving data to file: $file") val atomicFile = AtomicFile(file)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapperTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapperTest.kt index 861c620..690b9a7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapperTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapperTest.kt
@@ -25,6 +25,7 @@ import com.android.systemui.util.time.FakeSystemClock import org.junit.After import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -78,4 +79,15 @@ assertEquals(list, wrapper.readFavorites()) } + + @Test + fun testSaveEmptyOnNonExistingFile() { + if (file.exists()) { + file.delete() + } + + wrapper.storeFavorites(emptyList()) + + assertFalse(file.exists()) + } }