title: android.app.RemoteServiceException: Bad notification posted from package. Couldn't expand RemoteViews for: StatusBarNotification
body: <p>I have implemented custom notification with RemoteViews widget. I tested it on Android 5.0.2 and Android 6.0. It was working fine. But after sometime, it started crashing everytime it received notification from GCM.</p>
  
  <p>Crash Dump -</p>
  
  <pre><code>Process: package.name, PID: 27743
  android.app.RemoteServiceException: Bad notification posted from package package.name: Couldn't expand RemoteViews for: StatusBarNotification(pkg=package.name user=UserHandle{0} id=1524095391 tag=null key=0|package.name|1524095391|null|10247: Notification(pri=0 contentView=package.name/0x7f040033 vibrate=null sound=null defaults=0x0 flags=0x10 color=0x00000000 category=recommendation vis=PUBLIC))
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:154)
  at android.app.ActivityThread.main(ActivityThread.java:6077)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
  </code></pre>
  
  <p>My layout for RemoteViews have Imageview inside LinearLayout and custom TextView classes which are extending TextView.</p>
  
  <p>My code for creating notification is </p>
  
  <pre><code>    private void showCustomNotification(ABCNotification notification) {
          RemoteViews notificationView = new RemoteViews(getPackageName(), R.layout.layout_notification);
          PendingIntent contentPendingIntent = PendingIntent.getBroadcast(mContext, 0, notification.getContentIntent(), PendingIntent.FLAG_UPDATE_CURRENT);
  
                  NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext);
                  builder.setSmallIcon(R.drawable.ic_notification).setAutoCancel(true).setContentIntent(contentPendingIntent);
  
                  // Set Notification Priority
                  builder.setPriority(notification.getNotificationPriority());
  
                  // Set Notification Category
                  builder.setCategory(notification.getNotificationCategory());
  
                  // Set Notification Visibility
                  builder.setVisibility(notification.getNotificationVisibility());
  
  notificationView.setTextViewText(R.id.tv_notification_title, notification.getTitle());
          notificationView.setTextViewText(R.id.tv_notification_message, notification.getMessage());
          notificationView.setTextViewText(R.id.tv_notification_subtext, notification.getSubtext());
          Notification notif = builder.build();
                  if (null != notif) {
                      if (Build.VERSION.SDK_INT &gt; Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
                          notif.bigContentView = notificationView;
                      }
                      notif.contentView = notificationView;
                      NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
                      notificationManager.notify(mNotificationId, notif);
                  }
      }
  </code></pre>
  
  <p>My Layout for RemoteViews is something like this</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical"&gt;
  
          &lt;LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:paddingBottom="4dp"
              android:paddingTop="4dp"&gt;
  
              &lt;com.abc.ui.customviews.fonts.TextViewYMRegular
                  android:id="@+id/tv_notification_title"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_marginBottom="8dp"
                  android:ellipsize="end"
                  android:singleLine="true"
                  android:textColor="@color/black"
                  android:textSize="16sp" /&gt;
  
              &lt;com.abc.ui.customviews.fonts.TextViewYMMedium
                  android:id="@+id/tv_notification_message"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_marginBottom="8dp"
                  android:textColor="@color/black"
                  android:textSize="14sp" /&gt;
  
              &lt;com.abc.ui.customviews.fonts.TextViewYMMedium
                  android:id="@+id/tv_notification_subtext"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:textColor="@color/black"
                  android:textSize="12sp" /&gt;
          &lt;/LinearLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>I have seen almost all the solution on stack overflow. Nothing seems to work.</p>
  
  <p>Funny part is, it was working perfectly before. But started crashing after sometime. All in span of 2 hours.</p>