merge in jb-mr2-release history after reset to jb-mr2-dev
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index a65b18b..1bd29e8 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -30,7 +30,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"ابزارک‌ها"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"برای انتخاب یک ابزارک لمس کنید و نگه دارید."</string>
     <string name="market" msgid="2652226429823445833">"فروشگاه"</string>
-    <string name="widget_dims_format" msgid="1386418557719032947">"%1$d × %2$d‎"</string>
+    <string name="widget_dims_format" msgid="1386418557719032947">"%2$d \\u00d7 %1$d"</string>
     <string name="external_drop_widget_error" msgid="2285187188524172774">"این مورد را نمی‌توان در این صفحهٔ اصلی رها کرد."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"انتخاب ابزارک برای ایجاد"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"نام پوشه"</string>
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index fc42f3f..0aab2ac 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -3796,9 +3796,13 @@
         // seeded when they start up for the first time. Clings won't work well with that
         boolean supportsLimitedUsers =
                 android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2;
-        if (supportsLimitedUsers) {
-            final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
-            if (um.isLinkedUser()) return false;
+        Account[] accounts = AccountManager.get(this).getAccounts();
+        if (supportsLimitedUsers && accounts.length == 0) {
+            UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
+            Bundle restrictions = um.getUserRestrictions();
+            if (restrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false)) {
+               return false;
+            }
         }
         return true;
     }