summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/notification.xml4
-rw-r--r--res/layout/notification_main.xml4
-rw-r--r--res/values/dimens.xml6
-rw-r--r--src/com/android/launcher3/notification/NotificationFooterLayout.java6
-rw-r--r--src/com/android/launcher3/notification/NotificationItemView.java14
-rw-r--r--src/com/android/launcher3/popup/PopupContainerWithArrow.java5
6 files changed, 27 insertions, 12 deletions
diff --git a/res/layout/notification.xml b/res/layout/notification.xml
index 4a02aa169..1eebb434b 100644
--- a/res/layout/notification.xml
+++ b/res/layout/notification.xml
@@ -49,7 +49,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
- android:gravity="bottom"
+ android:gravity="center_vertical"
android:text="@string/notifications_header"
android:textSize="@dimen/notification_header_text_size"
android:textColor="?android:attr/textColorPrimary" />
@@ -58,7 +58,7 @@
android:layout_width="@dimen/notification_icon_size"
android:layout_height="match_parent"
android:layout_gravity="end"
- android:gravity="bottom|center_horizontal"
+ android:gravity="center"
android:textSize="@dimen/notification_header_count_text_size"
android:fontFamily="sans-serif-medium"
android:textColor="?android:attr/textColorPrimary" />
diff --git a/res/layout/notification_main.xml b/res/layout/notification_main.xml
index f681e8b06..f94face1b 100644
--- a/res/layout/notification_main.xml
+++ b/res/layout/notification_main.xml
@@ -31,7 +31,7 @@
android:background="?attr/popupColorPrimary"
android:paddingStart="@dimen/notification_padding_start"
android:paddingEnd="@dimen/notification_main_text_padding_end"
- android:paddingBottom="16dp">
+ android:paddingBottom="14dp">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
@@ -59,7 +59,7 @@
android:layout_width="@dimen/notification_icon_size"
android:layout_height="@dimen/notification_icon_size"
android:layout_marginEnd="@dimen/notification_padding_end"
- android:layout_marginBottom="8dp"
+ android:layout_marginBottom="7dp"
android:layout_gravity="center_vertical|end" />
</com.android.launcher3.notification.NotificationMainView>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 3f6efd794..b1f9d6379 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -214,9 +214,11 @@
<dimen name="notification_padding_end">12dp</dimen>
<!-- notification_padding_end + (icon_size - footer_icon_size) / 2 -->
<dimen name="notification_footer_icon_row_padding">15dp</dimen>
- <dimen name="notification_header_height">32dp</dimen>
- <dimen name="notification_main_height">96dp</dimen>
+ <dimen name="notification_header_height">36dp</dimen>
+ <dimen name="notification_main_height">84dp</dimen>
<dimen name="notification_footer_height">32dp</dimen>
+ <!-- How much space to keep as padding for the last notification when the footer collapses -->
+ <dimen name="notification_empty_footer_height">6dp</dimen>
<dimen name="notification_header_text_size">13sp</dimen>
<dimen name="notification_header_count_text_size">12sp</dimen>
<dimen name="notification_main_title_size">16sp</dimen>
diff --git a/src/com/android/launcher3/notification/NotificationFooterLayout.java b/src/com/android/launcher3/notification/NotificationFooterLayout.java
index 2455eabea..ad07d37bd 100644
--- a/src/com/android/launcher3/notification/NotificationFooterLayout.java
+++ b/src/com/android/launcher3/notification/NotificationFooterLayout.java
@@ -200,7 +200,9 @@ public class NotificationFooterLayout extends FrameLayout {
PopupContainerWithArrow popup = PopupContainerWithArrow.getOpen(
Launcher.getLauncher(getContext()));
if (popup != null) {
- Animator collapseFooter = popup.reduceNotificationViewHeight(getHeight(),
+ final int newHeight = getResources().getDimensionPixelSize(
+ R.dimen.notification_empty_footer_height);
+ Animator collapseFooter = popup.reduceNotificationViewHeight(getHeight() - newHeight,
getResources().getInteger(R.integer.config_removeNotificationViewDuration));
collapseFooter.addListener(new AnimatorListenerAdapter() {
@Override
@@ -208,7 +210,7 @@ public class NotificationFooterLayout extends FrameLayout {
((ViewGroup) getParent()).findViewById(R.id.divider).setVisibility(GONE);
// Keep view around because gutter is aligned to it, but remove height to
// both hide the view and keep calculations correct for last dismissal.
- getLayoutParams().height = 0;
+ getLayoutParams().height = newHeight;
requestLayout();
}
});
diff --git a/src/com/android/launcher3/notification/NotificationItemView.java b/src/com/android/launcher3/notification/NotificationItemView.java
index 78c64d7da..ab94c32d0 100644
--- a/src/com/android/launcher3/notification/NotificationItemView.java
+++ b/src/com/android/launcher3/notification/NotificationItemView.java
@@ -90,9 +90,19 @@ public class NotificationItemView extends PopupItemView implements LogContainerP
return mMainView;
}
+ /**
+ * This method is used to calculate the height to remove when dismissing the last notification.
+ * We subtract the height of the footer in this case since the footer should be gone or in the
+ * process of being removed.
+ * @return The height of the entire notification item, minus the footer if it still exists.
+ */
public int getHeightMinusFooter() {
- int footerHeight = mFooter.getParent() == null ? 0 : mFooter.getHeight();
- return getHeight() - footerHeight;
+ if (mFooter.getParent() == null) {
+ return getHeight();
+ }
+ int excessFooterHeight = mFooter.getHeight() - getResources().getDimensionPixelSize(
+ R.dimen.notification_empty_footer_height);
+ return getHeight() - excessFooterHeight;
}
public Animator animateHeightRemoval(int heightToRemove, boolean shouldRemoveFromTop) {
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index c3e2d8b89..8441598cf 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -275,8 +275,9 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
if (itemTypeToPopulate == PopupPopulator.Item.NOTIFICATION) {
mNotificationItemView = (NotificationItemView) item;
boolean notificationFooterHasIcons = numNotifications > 1;
- int footerHeight = notificationFooterHasIcons ?
- res.getDimensionPixelSize(R.dimen.notification_footer_height) : 0;
+ int footerHeight = res.getDimensionPixelSize(
+ notificationFooterHasIcons ? R.dimen.notification_footer_height
+ : R.dimen.notification_empty_footer_height);
item.findViewById(R.id.footer).getLayoutParams().height = footerHeight;
if (notificationFooterHasIcons) {
mNotificationItemView.findViewById(R.id.divider).setVisibility(VISIBLE);