Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 561d3858 authored by Joe Onorato's avatar Joe Onorato
Browse files

The large icon for notifications.

Change-Id: I8537c602b5b5fca03be8980295bfa28330543669
parent 3f76aa77
Loading
Loading
Loading
Loading
+57 −32
Original line number Diff line number Diff line
@@ -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}.
@@ -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) {
@@ -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;
@@ -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);
@@ -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;
@@ -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;
                }
            }
        }

+3 −3
Original line number Diff line number Diff line
@@ -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"
@@ -40,6 +39,7 @@
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:paddingLeft="8dp"
        />
</LinearLayout>
+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>
+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>
+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