Merge "fix typo in scanresult" into lmp-dev
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index f117f99..bedd369 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -1812,7 +1812,14 @@
     }
 
     private static AudioAttributes audioAttributesForNotification(Notification n) {
-        return new AudioAttributes.Builder().setLegacyStreamType(n.audioStreamType).build();
+        if (n.audioAttributes != null
+                && !Notification.AUDIO_ATTRIBUTES_DEFAULT.equals(n.audioAttributes)) {
+            return n.audioAttributes;
+        }
+        return new AudioAttributes.Builder()
+                .setLegacyStreamType(n.audioStreamType)
+                .setUsage(AudioAttributes.usageForLegacyStreamType(n.audioStreamType))
+                .build();
     }
 
     void showNextToastLocked() {
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index 57f3e2d..fefa6f6 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -20,7 +20,9 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
+import android.media.AudioAttributes;
 import android.service.notification.StatusBarNotification;
+
 import com.android.internal.annotations.VisibleForTesting;
 
 import java.io.PrintWriter;
@@ -105,6 +107,8 @@
         pw.println(prefix + String.format("  defaults=0x%08x flags=0x%08x",
                 notification.defaults, notification.flags));
         pw.println(prefix + "  sound=" + notification.sound);
+        pw.println(prefix + "  audioStreamType=" + notification.audioStreamType);
+        pw.println(prefix + "  audioAttributes=" + notification.audioAttributes);
         pw.println(prefix + String.format("  color=0x%08x", notification.color));
         pw.println(prefix + "  vibrate=" + Arrays.toString(notification.vibrate));
         pw.println(prefix + String.format("  led=0x%08x onMs=%d offMs=%d",
@@ -224,7 +228,16 @@
     }
 
     public boolean isCategory(String category) {
-        return Objects.equals(category, getNotification().category);
+        return Objects.equals(getNotification().category, category);
+    }
+
+    public boolean isAudioStream(int stream) {
+        return getNotification().audioStreamType == stream;
+    }
+
+    public boolean isAudioAttributesUsage(int usage) {
+        final AudioAttributes attributes = getNotification().audioAttributes;
+        return attributes != null && attributes.getUsage() == usage;
     }
 
     /**
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index c61ce03..6b55213 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -33,6 +33,7 @@
 import android.content.res.Resources;
 import android.content.res.XmlResourceParser;
 import android.database.ContentObserver;
+import android.media.AudioAttributes;
 import android.media.AudioManager;
 import android.net.Uri;
 import android.os.Handler;
@@ -319,7 +320,9 @@
 
     private boolean isAlarm(NotificationRecord record) {
         return record.isCategory(Notification.CATEGORY_ALARM)
-                || record.isCategory(Notification.CATEGORY_EVENT);
+                || record.isCategory(Notification.CATEGORY_EVENT)
+                || record.isAudioStream(AudioManager.STREAM_ALARM)
+                || record.isAudioAttributesUsage(AudioAttributes.USAGE_ALARM);
     }
 
     private boolean isCall(NotificationRecord record) {
diff --git a/telecomm/java/android/telecomm/Connection.java b/telecomm/java/android/telecomm/Connection.java
index 322dafe..7123e09 100644
--- a/telecomm/java/android/telecomm/Connection.java
+++ b/telecomm/java/android/telecomm/Connection.java
@@ -237,6 +237,8 @@
      */
     public static String stateToString(int state) {
         switch (state) {
+            case State.INITIALIZING:
+                return "INITIALIZING";
             case State.NEW:
                 return "NEW";
             case State.RINGING:
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index dd30ac7..8e27e2a 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -818,6 +818,17 @@
                 append(" BSSID: ").append(this.BSSID).append(" FQDN: ").append(this.FQDN).
                 append(" REALM: ").append(this.naiRealm).append(" PRIO: ").append(this.priority).
                 append('\n');
+        if (this.numConnectionFailures > 0) {
+            sbuf.append(" numConnectFailures ").append(this.numConnectionFailures).append("\n");
+        }
+        if (this.autoJoinStatus > 0) {
+            sbuf.append(" autoJoinStatus ").append(this.numConnectionFailures).append("\n");
+        }
+        if (this.didSelfAdd || this.selfAdded) {
+            if (this.didSelfAdd) sbuf.append(" didSelfAdd ");
+            if (this.selfAdded) sbuf.append(" selfAdded ");
+            sbuf.append("\n");
+        }
         sbuf.append(" KeyMgmt:");
         for (int k = 0; k < this.allowedKeyManagement.size(); k++) {
             if (this.allowedKeyManagement.get(k)) {