Loading api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -3775,6 +3775,12 @@ package android.app { method public android.app.Notification.Builder setWhen(long); } public static class Notification.InboxStyle { ctor public Notification.InboxStyle(android.app.Notification.Builder); method public android.app.Notification.InboxStyle addLine(java.lang.CharSequence); method public android.app.Notification build(); } public class NotificationManager { method public void cancel(int); method public void cancel(java.lang.String, int); core/java/android/app/Notification.java +56 −0 Original line number Diff line number Diff line Loading @@ -1696,4 +1696,60 @@ public class Notification implements Parcelable return wip; } } /** * Helper class for generating large-format notifications that include a list of (up to 5) strings. * * This class is a "rebuilder": It consumes a Builder object and modifies its behavior, like so: * <pre class="prettyprint"> * Notification noti = new Notification.DigestStyle( * new Notification.Builder() * .setContentTitle("New mail from " + sender.toString()) * .setContentText(subject) * .setSmallIcon(R.drawable.new_mail) * .setLargeIcon(aBitmap)) * .addLine(str1) * .addLine(str2) * .build(); * </pre> * * @see Notification#bigContentView */ public static class InboxStyle { private Builder mBuilder; private ArrayList<CharSequence> mTexts = new ArrayList<CharSequence>(5); public InboxStyle(Builder builder) { mBuilder = builder; } public InboxStyle addLine(CharSequence cs) { mTexts.add(cs); return this; } private RemoteViews makeBigContentView() { RemoteViews contentView = mBuilder.applyStandardTemplateWithActions(R.layout.notification_template_inbox); int[] rowIds = {R.id.inbox_text0, R.id.inbox_text1, R.id.inbox_text2, R.id.inbox_text3, R.id.inbox_text4}; int i=0; while (i < mTexts.size() && i < rowIds.length) { CharSequence str = mTexts.get(i); if (str != null && !str.equals("")) { contentView.setViewVisibility(rowIds[i], View.VISIBLE); contentView.setTextViewText(rowIds[i], str); } i++; } return contentView; } public Notification build() { Notification wip = mBuilder.getNotification(); wip.bigContentView = makeBigContentView(); return wip; } } } core/res/res/layout/notification_template_inbox.xml 0 → 100644 +177 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2012 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/status_bar_latest_event_content" android:layout_width="match_parent" android:layout_height="wrap_content" > <ImageView android:id="@+id/icon" android:layout_width="@dimen/notification_large_icon_width" android:layout_height="@dimen/notification_large_icon_height" android:background="@android:drawable/notify_panel_notification_icon_bg_tile" android:scaleType="center" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="fill_vertical" android:layout_marginLeft="@dimen/notification_large_icon_width" android:minHeight="@dimen/notification_large_icon_height" android:orientation="vertical" android:paddingLeft="12dp" android:paddingRight="12dp" android:paddingTop="4dp" android:paddingBottom="4dp" android:gravity="center_vertical" > <LinearLayout android:id="@+id/line1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/title" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" android:layout_weight="1" /> <ViewStub android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:visibility="gone" android:layout="@layout/notification_template_part_time" /> <ViewStub android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:visibility="gone" android:layout="@layout/notification_template_part_chronometer" /> </LinearLayout> <TextView android:id="@+id/text2" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Line2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="-2dp" android:layout_marginBottom="-2dp" android:singleLine="true" android:fadingEdge="horizontal" android:ellipsize="marquee" android:visibility="gone" /> <TextView android:id="@+id/inbox_text0" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text1" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text2" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text3" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text4" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <LinearLayout android:id="@+id/line3" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> <TextView android:id="@+id/info" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:singleLine="true" android:gravity="center" android:paddingLeft="8dp" /> <ImageView android:id="@+id/right_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:scaleType="center" android:paddingLeft="8dp" android:visibility="gone" android:drawableAlpha="180" /> </LinearLayout> <ProgressBar android:id="@android:id/progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" style="?android:attr/progressBarStyleHorizontal" /> <LinearLayout android:id="@+id/actions" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" > <!-- actions will be added here --> </LinearLayout> </LinearLayout> </FrameLayout> core/res/res/values/public.xml +6 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,11 @@ <java-symbol type="id" name="big_picture" /> <java-symbol type="id" name="big_text" /> <java-symbol type="id" name="chronometer" /> <java-symbol type="id" name="inbox_text0" /> <java-symbol type="id" name="inbox_text1" /> <java-symbol type="id" name="inbox_text2" /> <java-symbol type="id" name="inbox_text3" /> <java-symbol type="id" name="inbox_text4" /> <java-symbol type="attr" name="actionModeShareDrawable" /> <java-symbol type="attr" name="alertDialogCenterButtons" /> Loading Loading @@ -1085,6 +1090,7 @@ <java-symbol type="layout" name="notification_template_big_picture" /> <java-symbol type="layout" name="notification_template_part_time" /> <java-symbol type="layout" name="notification_template_part_chronometer" /> <java-symbol type="layout" name="notification_template_inbox" /> <java-symbol type="anim" name="slide_in_child_bottom" /> <java-symbol type="anim" name="slide_in_right" /> Loading Loading
api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -3775,6 +3775,12 @@ package android.app { method public android.app.Notification.Builder setWhen(long); } public static class Notification.InboxStyle { ctor public Notification.InboxStyle(android.app.Notification.Builder); method public android.app.Notification.InboxStyle addLine(java.lang.CharSequence); method public android.app.Notification build(); } public class NotificationManager { method public void cancel(int); method public void cancel(java.lang.String, int);
core/java/android/app/Notification.java +56 −0 Original line number Diff line number Diff line Loading @@ -1696,4 +1696,60 @@ public class Notification implements Parcelable return wip; } } /** * Helper class for generating large-format notifications that include a list of (up to 5) strings. * * This class is a "rebuilder": It consumes a Builder object and modifies its behavior, like so: * <pre class="prettyprint"> * Notification noti = new Notification.DigestStyle( * new Notification.Builder() * .setContentTitle("New mail from " + sender.toString()) * .setContentText(subject) * .setSmallIcon(R.drawable.new_mail) * .setLargeIcon(aBitmap)) * .addLine(str1) * .addLine(str2) * .build(); * </pre> * * @see Notification#bigContentView */ public static class InboxStyle { private Builder mBuilder; private ArrayList<CharSequence> mTexts = new ArrayList<CharSequence>(5); public InboxStyle(Builder builder) { mBuilder = builder; } public InboxStyle addLine(CharSequence cs) { mTexts.add(cs); return this; } private RemoteViews makeBigContentView() { RemoteViews contentView = mBuilder.applyStandardTemplateWithActions(R.layout.notification_template_inbox); int[] rowIds = {R.id.inbox_text0, R.id.inbox_text1, R.id.inbox_text2, R.id.inbox_text3, R.id.inbox_text4}; int i=0; while (i < mTexts.size() && i < rowIds.length) { CharSequence str = mTexts.get(i); if (str != null && !str.equals("")) { contentView.setViewVisibility(rowIds[i], View.VISIBLE); contentView.setTextViewText(rowIds[i], str); } i++; } return contentView; } public Notification build() { Notification wip = mBuilder.getNotification(); wip.bigContentView = makeBigContentView(); return wip; } } }
core/res/res/layout/notification_template_inbox.xml 0 → 100644 +177 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2012 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/status_bar_latest_event_content" android:layout_width="match_parent" android:layout_height="wrap_content" > <ImageView android:id="@+id/icon" android:layout_width="@dimen/notification_large_icon_width" android:layout_height="@dimen/notification_large_icon_height" android:background="@android:drawable/notify_panel_notification_icon_bg_tile" android:scaleType="center" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="fill_vertical" android:layout_marginLeft="@dimen/notification_large_icon_width" android:minHeight="@dimen/notification_large_icon_height" android:orientation="vertical" android:paddingLeft="12dp" android:paddingRight="12dp" android:paddingTop="4dp" android:paddingBottom="4dp" android:gravity="center_vertical" > <LinearLayout android:id="@+id/line1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/title" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" android:layout_weight="1" /> <ViewStub android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:visibility="gone" android:layout="@layout/notification_template_part_time" /> <ViewStub android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:visibility="gone" android:layout="@layout/notification_template_part_chronometer" /> </LinearLayout> <TextView android:id="@+id/text2" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Line2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="-2dp" android:layout_marginBottom="-2dp" android:singleLine="true" android:fadingEdge="horizontal" android:ellipsize="marquee" android:visibility="gone" /> <TextView android:id="@+id/inbox_text0" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text1" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text2" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text3" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <TextView android:id="@+id/inbox_text4" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:visibility="gone" /> <LinearLayout android:id="@+id/line3" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> <TextView android:id="@+id/info" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:singleLine="true" android:gravity="center" android:paddingLeft="8dp" /> <ImageView android:id="@+id/right_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0" android:scaleType="center" android:paddingLeft="8dp" android:visibility="gone" android:drawableAlpha="180" /> </LinearLayout> <ProgressBar android:id="@android:id/progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" style="?android:attr/progressBarStyleHorizontal" /> <LinearLayout android:id="@+id/actions" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" > <!-- actions will be added here --> </LinearLayout> </LinearLayout> </FrameLayout>
core/res/res/values/public.xml +6 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,11 @@ <java-symbol type="id" name="big_picture" /> <java-symbol type="id" name="big_text" /> <java-symbol type="id" name="chronometer" /> <java-symbol type="id" name="inbox_text0" /> <java-symbol type="id" name="inbox_text1" /> <java-symbol type="id" name="inbox_text2" /> <java-symbol type="id" name="inbox_text3" /> <java-symbol type="id" name="inbox_text4" /> <java-symbol type="attr" name="actionModeShareDrawable" /> <java-symbol type="attr" name="alertDialogCenterButtons" /> Loading Loading @@ -1085,6 +1090,7 @@ <java-symbol type="layout" name="notification_template_big_picture" /> <java-symbol type="layout" name="notification_template_part_time" /> <java-symbol type="layout" name="notification_template_part_chronometer" /> <java-symbol type="layout" name="notification_template_inbox" /> <java-symbol type="anim" name="slide_in_child_bottom" /> <java-symbol type="anim" name="slide_in_right" /> Loading