Notification for non-adopotable disks shouldn't be snoozed

Note if an adoptable SD is mounted as an external disk, it'll still be
snoozeable.  I *think* it's reasonable, as long as the sd card is inside
the device.

Bug 21898269

Change-Id: I0aaa6c85f9db84e3f30d3b0b485a35a5abef84e8
diff --git a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
index d360875..92cfaa1 100644
--- a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
+++ b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
@@ -318,11 +318,14 @@
 
     private Notification onVolumeMounted(VolumeInfo vol) {
         final VolumeRecord rec = mStorageManager.findRecordByUuid(vol.getFsUuid());
-
-        // Don't annoy when user dismissed in past
-        if (rec.isSnoozed()) return null;
-
         final DiskInfo disk = vol.getDisk();
+
+        // Don't annoy when user dismissed in past.  (But make sure the disk is adoptable; we
+        // used to allow snoozing non-adoptable disks too.)
+        if (rec.isSnoozed() && disk.isAdoptable()) {
+            return null;
+        }
+
         if (disk.isAdoptable() && !rec.isInited()) {
             final CharSequence title = disk.getDescription();
             final CharSequence text = mContext.getString(
@@ -346,7 +349,7 @@
                     R.string.ext_media_ready_notification_message, disk.getDescription());
 
             final PendingIntent browseIntent = buildBrowsePendingIntent(vol);
-            return buildNotificationBuilder(vol, title, text)
+            final Notification.Builder builder = buildNotificationBuilder(vol, title, text)
                     .addAction(new Action(R.drawable.ic_folder_24dp,
                             mContext.getString(R.string.ext_media_browse_action),
                             browseIntent))
@@ -354,10 +357,14 @@
                             mContext.getString(R.string.ext_media_unmount_action),
                             buildUnmountPendingIntent(vol)))
                     .setContentIntent(browseIntent)
-                    .setDeleteIntent(buildSnoozeIntent(vol.getFsUuid()))
                     .setCategory(Notification.CATEGORY_SYSTEM)
-                    .setPriority(Notification.PRIORITY_LOW)
-                    .build();
+                    .setPriority(Notification.PRIORITY_LOW);
+            // Non-adoptable disks can't be snoozed.
+            if (disk.isAdoptable()) {
+                builder.setDeleteIntent(buildSnoozeIntent(vol.getFsUuid()));
+            }
+
+            return builder.build();
         }
     }