Loading core/java/android/app/Notification.java +57 −32 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import android.util.Slog; import android.view.View; import android.widget.RemoteViews; import com.android.internal.R; /** * A class that represents how a persistent notification is to be presented to * the user using the {@link android.app.NotificationManager}. Loading Loading @@ -379,6 +381,9 @@ public class Notification implements Parcelable if (parcel.readInt() != 0) { contentView = RemoteViews.CREATOR.createFromParcel(parcel); } if (parcel.readInt() != 0) { largeIcon = Bitmap.CREATOR.createFromParcel(parcel); } defaults = parcel.readInt(); flags = parcel.readInt(); if (parcel.readInt() != 0) { Loading Loading @@ -418,6 +423,9 @@ public class Notification implements Parcelable if (this.contentView != null) { that.contentView = this.contentView.clone(); } if (this.largeIcon != null) { that.largeIcon = Bitmap.createBitmap(this.largeIcon); } that.iconLevel = that.iconLevel; that.sound = this.sound; // android.net.Uri is immutable that.audioStreamType = this.audioStreamType; Loading Loading @@ -483,6 +491,12 @@ public class Notification implements Parcelable } else { parcel.writeInt(0); } if (largeIcon != null) { parcel.writeInt(1); largeIcon.writeToParcel(parcel, 0); } else { parcel.writeInt(0); } parcel.writeInt(defaults); parcel.writeInt(this.flags); Loading Loading @@ -546,18 +560,18 @@ public class Notification implements Parcelable public void setLatestEventInfo(Context context, CharSequence contentTitle, CharSequence contentText, PendingIntent contentIntent) { RemoteViews contentView = new RemoteViews(context.getPackageName(), com.android.internal.R.layout.status_bar_latest_event_content); R.layout.status_bar_latest_event_content); if (this.icon != 0) { contentView.setImageViewResource(com.android.internal.R.id.icon, this.icon); contentView.setImageViewResource(R.id.icon, this.icon); } if (contentTitle != null) { contentView.setTextViewText(com.android.internal.R.id.title, contentTitle); contentView.setTextViewText(R.id.title, contentTitle); } if (contentText != null) { contentView.setTextViewText(com.android.internal.R.id.text, contentText); contentView.setTextViewText(R.id.text, contentText); } if (this.when != 0) { contentView.setLong(com.android.internal.R.id.time, "setTime", when); contentView.setLong(R.id.time, "setTime", when); } this.contentView = contentView; Loading Loading @@ -754,44 +768,55 @@ public class Notification implements Parcelable } } private RemoteViews makeContentView() { if (mContentView != null) { return mContentView; } else { RemoteViews contentView = new RemoteViews(mContext.getPackageName(), com.android.internal.R.layout.status_bar_latest_event_content); private RemoteViews makeRemoteViews(int resId) { RemoteViews contentView = new RemoteViews(mContext.getPackageName(), resId); if (mSmallIcon != 0) { contentView.setImageViewResource(com.android.internal.R.id.icon, mSmallIcon); contentView.setImageViewResource(R.id.icon, mSmallIcon); } if (mContentTitle != null) { contentView.setTextViewText(com.android.internal.R.id.title, mContentTitle); contentView.setTextViewText(R.id.title, mContentTitle); } if (mContentText != null) { contentView.setTextViewText(com.android.internal.R.id.text, mContentText); contentView.setTextViewText(R.id.text, mContentText); } if (mContentInfo != null) { contentView.setTextViewText(com.android.internal.R.id.info, mContentInfo); contentView.setTextViewText(R.id.info, mContentInfo); } else if (mNumber > 0) { NumberFormat f = NumberFormat.getIntegerInstance(); contentView.setTextViewText(com.android.internal.R.id.info, f.format(mNumber)); contentView.setFloat(com.android.internal.R.id.info, "setTextSize", contentView.setTextViewText(R.id.info, f.format(mNumber)); contentView.setFloat(R.id.info, "setTextSize", mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.status_bar_content_number_size)); R.dimen.status_bar_content_number_size)); } else { contentView.setViewVisibility(com.android.internal.R.id.info, View.GONE); contentView.setViewVisibility(R.id.info, View.GONE); } if (mWhen != 0) { contentView.setLong(com.android.internal.R.id.time, "setTime", mWhen); contentView.setLong(R.id.time, "setTime", mWhen); } return contentView; } private RemoteViews makeContentView() { if (mContentView != null) { return mContentView; } else { return makeRemoteViews(mLargeIcon == null ? R.layout.status_bar_latest_event_content : R.layout.status_bar_latest_event_content_large_icon); } } private RemoteViews makeTickerView() { if (mTickerView != null) { return mTickerView; } else { return makeContentView(); if (mContentView == null) { return makeRemoteViews(mLargeIcon == null ? R.layout.status_bar_latest_event_ticker : R.layout.status_bar_latest_event_ticker_large_icon); } else { return null; } } } Loading core/res/res/layout-xlarge/status_bar_latest_event_content.xml +3 −3 Original line number Diff line number Diff line Loading @@ -2,20 +2,19 @@ android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:layout_marginLeft="4dp" android:scaleType="center" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="16dp" android:paddingLeft="8dp" > <TextView android:id="@+id/title" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" Loading @@ -40,6 +39,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:paddingLeft="8dp" /> </LinearLayout> core/res/res/layout-xlarge/status_bar_latest_event_content_large_icon.xml 0 → 100644 +43 −0 Original line number Diff line number Diff line <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" > <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" /> <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> </LinearLayout> <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_vertical" android:paddingLeft="8dp" /> <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:scaleType="center" /> </LinearLayout> core/res/res/layout-xlarge/status_bar_latest_event_ticker.xml 0 → 100644 +43 −0 Original line number Diff line number Diff line <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/status_bar_height" > <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:scaleType="center" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="16dp" > <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" /> <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> </LinearLayout> <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_vertical" /> </LinearLayout> core/res/res/layout-xlarge/status_bar_latest_event_ticker_large_icon.xml 0 → 100644 +43 −0 Original line number Diff line number Diff line <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="16dp" > <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" /> <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> </LinearLayout> <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_vertical" /> <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:scaleType="center" /> </LinearLayout> Loading
core/java/android/app/Notification.java +57 −32 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import android.util.Slog; import android.view.View; import android.widget.RemoteViews; import com.android.internal.R; /** * A class that represents how a persistent notification is to be presented to * the user using the {@link android.app.NotificationManager}. Loading Loading @@ -379,6 +381,9 @@ public class Notification implements Parcelable if (parcel.readInt() != 0) { contentView = RemoteViews.CREATOR.createFromParcel(parcel); } if (parcel.readInt() != 0) { largeIcon = Bitmap.CREATOR.createFromParcel(parcel); } defaults = parcel.readInt(); flags = parcel.readInt(); if (parcel.readInt() != 0) { Loading Loading @@ -418,6 +423,9 @@ public class Notification implements Parcelable if (this.contentView != null) { that.contentView = this.contentView.clone(); } if (this.largeIcon != null) { that.largeIcon = Bitmap.createBitmap(this.largeIcon); } that.iconLevel = that.iconLevel; that.sound = this.sound; // android.net.Uri is immutable that.audioStreamType = this.audioStreamType; Loading Loading @@ -483,6 +491,12 @@ public class Notification implements Parcelable } else { parcel.writeInt(0); } if (largeIcon != null) { parcel.writeInt(1); largeIcon.writeToParcel(parcel, 0); } else { parcel.writeInt(0); } parcel.writeInt(defaults); parcel.writeInt(this.flags); Loading Loading @@ -546,18 +560,18 @@ public class Notification implements Parcelable public void setLatestEventInfo(Context context, CharSequence contentTitle, CharSequence contentText, PendingIntent contentIntent) { RemoteViews contentView = new RemoteViews(context.getPackageName(), com.android.internal.R.layout.status_bar_latest_event_content); R.layout.status_bar_latest_event_content); if (this.icon != 0) { contentView.setImageViewResource(com.android.internal.R.id.icon, this.icon); contentView.setImageViewResource(R.id.icon, this.icon); } if (contentTitle != null) { contentView.setTextViewText(com.android.internal.R.id.title, contentTitle); contentView.setTextViewText(R.id.title, contentTitle); } if (contentText != null) { contentView.setTextViewText(com.android.internal.R.id.text, contentText); contentView.setTextViewText(R.id.text, contentText); } if (this.when != 0) { contentView.setLong(com.android.internal.R.id.time, "setTime", when); contentView.setLong(R.id.time, "setTime", when); } this.contentView = contentView; Loading Loading @@ -754,44 +768,55 @@ public class Notification implements Parcelable } } private RemoteViews makeContentView() { if (mContentView != null) { return mContentView; } else { RemoteViews contentView = new RemoteViews(mContext.getPackageName(), com.android.internal.R.layout.status_bar_latest_event_content); private RemoteViews makeRemoteViews(int resId) { RemoteViews contentView = new RemoteViews(mContext.getPackageName(), resId); if (mSmallIcon != 0) { contentView.setImageViewResource(com.android.internal.R.id.icon, mSmallIcon); contentView.setImageViewResource(R.id.icon, mSmallIcon); } if (mContentTitle != null) { contentView.setTextViewText(com.android.internal.R.id.title, mContentTitle); contentView.setTextViewText(R.id.title, mContentTitle); } if (mContentText != null) { contentView.setTextViewText(com.android.internal.R.id.text, mContentText); contentView.setTextViewText(R.id.text, mContentText); } if (mContentInfo != null) { contentView.setTextViewText(com.android.internal.R.id.info, mContentInfo); contentView.setTextViewText(R.id.info, mContentInfo); } else if (mNumber > 0) { NumberFormat f = NumberFormat.getIntegerInstance(); contentView.setTextViewText(com.android.internal.R.id.info, f.format(mNumber)); contentView.setFloat(com.android.internal.R.id.info, "setTextSize", contentView.setTextViewText(R.id.info, f.format(mNumber)); contentView.setFloat(R.id.info, "setTextSize", mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.status_bar_content_number_size)); R.dimen.status_bar_content_number_size)); } else { contentView.setViewVisibility(com.android.internal.R.id.info, View.GONE); contentView.setViewVisibility(R.id.info, View.GONE); } if (mWhen != 0) { contentView.setLong(com.android.internal.R.id.time, "setTime", mWhen); contentView.setLong(R.id.time, "setTime", mWhen); } return contentView; } private RemoteViews makeContentView() { if (mContentView != null) { return mContentView; } else { return makeRemoteViews(mLargeIcon == null ? R.layout.status_bar_latest_event_content : R.layout.status_bar_latest_event_content_large_icon); } } private RemoteViews makeTickerView() { if (mTickerView != null) { return mTickerView; } else { return makeContentView(); if (mContentView == null) { return makeRemoteViews(mLargeIcon == null ? R.layout.status_bar_latest_event_ticker : R.layout.status_bar_latest_event_ticker_large_icon); } else { return null; } } } Loading
core/res/res/layout-xlarge/status_bar_latest_event_content.xml +3 −3 Original line number Diff line number Diff line Loading @@ -2,20 +2,19 @@ android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:layout_marginLeft="4dp" android:scaleType="center" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="16dp" android:paddingLeft="8dp" > <TextView android:id="@+id/title" android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" Loading @@ -40,6 +39,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:paddingLeft="8dp" /> </LinearLayout>
core/res/res/layout-xlarge/status_bar_latest_event_content_large_icon.xml 0 → 100644 +43 −0 Original line number Diff line number Diff line <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" > <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" /> <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> </LinearLayout> <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_vertical" android:paddingLeft="8dp" /> <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:scaleType="center" /> </LinearLayout>
core/res/res/layout-xlarge/status_bar_latest_event_ticker.xml 0 → 100644 +43 −0 Original line number Diff line number Diff line <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/status_bar_height" > <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:scaleType="center" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="16dp" > <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" /> <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> </LinearLayout> <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_vertical" /> </LinearLayout>
core/res/res/layout-xlarge/status_bar_latest_event_ticker_large_icon.xml 0 → 100644 +43 −0 Original line number Diff line number Diff line <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="16dp" > <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" /> <TextView android:id="@+id/text" android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" /> </LinearLayout> <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_vertical" /> <ImageView android:id="@+id/icon" android:layout_width="48dp" android:layout_height="64dp" android:scaleType="center" /> </LinearLayout>