Merge "Import translations. DO NOT MERGE" into nyc-mr1-dev
diff --git a/res/layout/dashboard_container_header.xml b/res/layout/dashboard_container_header.xml
index 59e7eb1..a9d78ed 100644
--- a/res/layout/dashboard_container_header.xml
+++ b/res/layout/dashboard_container_header.xml
@@ -20,6 +20,6 @@
     android:id="@+id/sliding_tabs"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:layout_marginLeft="@dimen/dashboard_header_margin_left"
-    android:layout_marginRight="@dimen/dashboard_header_margin_right"
+    android:layout_marginStart="@dimen/dashboard_header_margin_start"
+    android:layout_marginEnd="@dimen/dashboard_header_margin_end"
     android:background="?android:attr/colorPrimary"/>
diff --git a/res/layout/support_fragment.xml b/res/layout/support_fragment.xml
index 10b9418..913e607 100644
--- a/res/layout/support_fragment.xml
+++ b/res/layout/support_fragment.xml
@@ -20,4 +20,8 @@
     android:id="@+id/support_items"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:focusable="false"  />
\ No newline at end of file
+    android:clipChildren="false"
+    android:clipToPadding="false"
+    android:focusable="false"
+    android:paddingStart="@dimen/dashboard_padding_start"
+    android:paddingEnd="@dimen/dashboard_padding_end"/>
\ No newline at end of file
diff --git a/res/values-sw720dp-land/dimens.xml b/res/values-sw720dp-land/dimens.xml
index d924344..70faa0f 100644
--- a/res/values-sw720dp-land/dimens.xml
+++ b/res/values-sw720dp-land/dimens.xml
@@ -22,8 +22,8 @@
     <dimen name="dashboard_padding_end">160dp</dimen>
 
     <!-- Dashboard Header margin in its container -->
-    <dimen name="dashboard_header_margin_right">304dp</dimen>
-    <dimen name="dashboard_header_margin_left">304dp</dimen>
+    <dimen name="dashboard_header_margin_start">304dp</dimen>
+    <dimen name="dashboard_header_margin_end">304dp</dimen>
 
     <!-- ActionBar contentInsetStart -->
     <dimen name="actionbar_contentInsetStart">128dp</dimen>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index 0a2a1ce..a0be467 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -43,8 +43,8 @@
     <dimen name="dashboard_padding_end">80dp</dimen>
 
     <!-- Dashboard Header margin in its container -->
-    <dimen name="dashboard_header_margin_right">176dp</dimen>
-    <dimen name="dashboard_header_margin_left">176dp</dimen>
+    <dimen name="dashboard_header_margin_start">176dp</dimen>
+    <dimen name="dashboard_header_margin_end">176dp</dimen>
 
     <!-- Dashboard category padding start / end -->
     <dimen name="dashboard_category_padding_start">24dp</dimen>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 74441c2..28bed77 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -97,8 +97,8 @@
     <dimen name="dashboard_padding_bottom">0dp</dimen>
 
     <!-- Dashboard Header margin in its container -->
-    <dimen name="dashboard_header_margin_right">0dp</dimen>
-    <dimen name="dashboard_header_margin_left">0dp</dimen>
+    <dimen name="dashboard_header_margin_start">0dp</dimen>
+    <dimen name="dashboard_header_margin_end">0dp</dimen>
 
     <!-- Dashboard category padding start / end -->
     <dimen name="dashboard_category_padding_start">0dp</dimen>
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index d0f51f6..e1f8afe 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1269,7 +1269,14 @@
     }
 
     public void startSuggestion(Intent intent) {
-        mCurrentSuggestion = intent.getComponent();
+        if (intent == null) {
+            return;
+        }
+        final ComponentName componentName = intent.getComponent();
+        if (componentName.equals(mCurrentSuggestion)) {
+            return;
+        }
+        mCurrentSuggestion = componentName;
         startActivityForResult(intent, REQUEST_SUGGESTION);
     }
 
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index ee68311..7757efc 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -35,6 +35,7 @@
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
 import android.os.storage.VolumeRecord;
+import android.support.annotation.NonNull;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceCategory;
 import android.text.TextUtils;
@@ -407,18 +408,37 @@
 
             builder.setPositiveButton(R.string.storage_menu_mount,
                     new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
+                /**
+                 * Check if an {@link RestrictedLockUtils#sendShowAdminSupportDetailsIntent admin
+                 * details intent} should be shown for the restriction and show it.
+                 *
+                 * @param restriction The restriction to check
+                 * @return {@code true} iff a intent was shown.
+                 */
+                private boolean wasAdminSupportIntentShown(@NonNull String restriction) {
                     EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
-                            getActivity(), UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
-                            UserHandle.myUserId());
+                            getActivity(), restriction, UserHandle.myUserId());
                     boolean hasBaseUserRestriction = RestrictedLockUtils.hasBaseUserRestriction(
-                            getActivity(), UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
-                            UserHandle.myUserId());
+                            getActivity(), restriction, UserHandle.myUserId());
                     if (admin != null && !hasBaseUserRestriction) {
                         RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(), admin);
+                        return true;
+                    }
+
+                    return false;
+                }
+
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+                    if (wasAdminSupportIntentShown(UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA)) {
                         return;
                     }
+
+                    if (vol.disk != null && vol.disk.isUsb() &&
+                            wasAdminSupportIntentShown(UserManager.DISALLOW_USB_FILE_TRANSFER)) {
+                        return;
+                    }
+
                     new MountTask(context, vol).execute();
                 }
             });