Merge "DO NOT MERGE Adjust NotificationView bottom margin based on whether Keyboard is shown." into qt-qpr1-dev
diff --git a/core/res/res/layout/car_user_switching_dialog.xml b/core/res/res/layout/car_user_switching_dialog.xml
index 7ce35df..d727434 100644
--- a/core/res/res/layout/car_user_switching_dialog.xml
+++ b/core/res/res/layout/car_user_switching_dialog.xml
@@ -16,25 +16,22 @@
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:fitsSystemWindows="true"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- >
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
<ImageView
android:id="@+id/user_loading_avatar"
android:layout_width="@dimen/car_fullscreen_user_pod_image_avatar_width"
android:layout_height="@dimen/car_fullscreen_user_pod_image_avatar_height"
- android:layout_centerHorizontal="true"
- />
+ android:layout_centerHorizontal="true"/>
<TextView android:id="@+id/user_loading"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/car_padding_4"
android:textSize="@dimen/car_body1_size"
- android:textColor="@color/car_body1_light"
+ android:textColor="@color/car_body1"
android:layout_below="@id/user_loading_avatar"
- android:gravity="center"
- />
+ android:gravity="center"/>
</RelativeLayout>
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index 80d36a1..c3244a4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -641,9 +641,10 @@
if (previewBefore != null) {
mPreviewContainer.removeView(previewBefore);
}
- if (mLeftIsVoiceAssist) {
- mLeftPreview = mPreviewInflater.inflatePreviewFromService(
- mAssistManager.getVoiceInteractorComponentName());
+ ComponentName voiceInteractorComponentName =
+ mAssistManager.getVoiceInteractorComponentName();
+ if (mLeftIsVoiceAssist && voiceInteractorComponentName != null) {
+ mLeftPreview = mPreviewInflater.inflatePreviewFromService(voiceInteractorComponentName);
} else {
mLeftPreview = mPreviewInflater.inflatePreview(mLeftButton.getIntent());
}
diff --git a/services/core/java/com/android/server/am/CarUserSwitchingDialog.java b/services/core/java/com/android/server/am/CarUserSwitchingDialog.java
index 60754fb..a6811e3 100644
--- a/services/core/java/com/android/server/am/CarUserSwitchingDialog.java
+++ b/services/core/java/com/android/server/am/CarUserSwitchingDialog.java
@@ -30,7 +30,6 @@
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
-import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.UserManager;
import android.provider.Settings;
@@ -57,8 +56,6 @@
String switchingToSystemUserMessage) {
super(service, context, oldUser, newUser, aboveSystem, switchingFromSystemUserMessage,
switchingToSystemUserMessage);
-
- getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
@Override
diff --git a/services/core/java/com/android/server/broadcastradio/hal2/Convert.java b/services/core/java/com/android/server/broadcastradio/hal2/Convert.java
index 9730c9a..ab5bef8 100644
--- a/services/core/java/com/android/server/broadcastradio/hal2/Convert.java
+++ b/services/core/java/com/android/server/broadcastradio/hal2/Convert.java
@@ -275,8 +275,18 @@
return hwSel;
}
- static @NonNull ProgramSelector programSelectorFromHal(
+ private static boolean isEmpty(
@NonNull android.hardware.broadcastradio.V2_0.ProgramSelector sel) {
+ if (sel.primaryId.type != 0) return false;
+ if (sel.primaryId.value != 0) return false;
+ if (sel.secondaryIds.size() != 0) return false;
+ return true;
+ }
+
+ static @Nullable ProgramSelector programSelectorFromHal(
+ @NonNull android.hardware.broadcastradio.V2_0.ProgramSelector sel) {
+ if (isEmpty(sel)) return null;
+
ProgramSelector.Identifier[] secondaryIds = sel.secondaryIds.stream().
map(Convert::programIdentifierFromHal).map(Objects::requireNonNull).
toArray(ProgramSelector.Identifier[]::new);
@@ -364,7 +374,7 @@
collect(Collectors.toList());
return new RadioManager.ProgramInfo(
- programSelectorFromHal(info.selector),
+ Objects.requireNonNull(programSelectorFromHal(info.selector)),
programIdentifierFromHal(info.logicallyTunedTo),
programIdentifierFromHal(info.physicallyTunedTo),
relatedContent,
@@ -402,7 +412,7 @@
public static @NonNull android.hardware.radio.Announcement announcementFromHal(
@NonNull Announcement hwAnnouncement) {
return new android.hardware.radio.Announcement(
- programSelectorFromHal(hwAnnouncement.selector),
+ Objects.requireNonNull(programSelectorFromHal(hwAnnouncement.selector)),
hwAnnouncement.type,
vendorInfoFromHal(hwAnnouncement.vendorInfo)
);