Fix a bug in appwidget migration to multiuser directory.

Bug: 6393606

Migrate the old appwidgets.xml if the file doesn't exist,
not if the directory doesn't exist. It worked earlier because
this was the first service that I migrated to multi-user :(

Change-Id: I59bcbc31ff9d101e44dff5e5f44b3cab8f08dc06
diff --git a/services/java/com/android/server/AppWidgetServiceImpl.java b/services/java/com/android/server/AppWidgetServiceImpl.java
index a0b8c531..36f154a 100644
--- a/services/java/com/android/server/AppWidgetServiceImpl.java
+++ b/services/java/com/android/server/AppWidgetServiceImpl.java
@@ -1595,15 +1595,15 @@
     AtomicFile savedStateFile() {
         File dir = new File("/data/system/users/" + mUserId);
         File settingsFile = getSettingsFile(mUserId);
-        if (!dir.exists()) {
-            dir.mkdirs();
-            if (mUserId == 0) {
-                // Migrate old data
-                File oldFile = new File("/data/system/" + SETTINGS_FILENAME);
-                // Method doesn't throw an exception on failure. Ignore any errors
-                // in moving the file (like non-existence)
-                oldFile.renameTo(settingsFile);
+        if (!settingsFile.exists() && mUserId == 0) {
+            if (!dir.exists()) {
+                dir.mkdirs();
             }
+            // Migrate old data
+            File oldFile = new File("/data/system/" + SETTINGS_FILENAME);
+            // Method doesn't throw an exception on failure. Ignore any errors
+            // in moving the file (like non-existence)
+            oldFile.renameTo(settingsFile);
         }
         return new AtomicFile(settingsFile);
     }