custom notificaiton with remote views not showing

// Step 1: Create a RemoteViews object for the custom layout
val remoteViews = RemoteViews(packageName, R.layout.custom_notification_layout)

// Step 2: Set up any desired customizations to the RemoteViews
remoteViews.setImageViewResource(R.id.notification_icon, R.drawable.custom_icon)
remoteViews.setTextViewText(R.id.notification_title, "Custom Title")
remoteViews.setTextViewText(R.id.notification_text, "Custom Text")

// Step 3: Create a PendingIntent for the notification
val notificationIntent = Intent(this, YourNotificationReceiver::class.java)
val pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0)

// Step 4: Build the NotificationCompat Builder
val builder = NotificationCompat.Builder(this, CHANNEL_ID)
    .setSmallIcon(R.drawable.notification_icon)
    .setContent(remoteViews)
    .setContentIntent(pendingIntent)

// Step 5: Get the NotificationManager and show the notification
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.notify(notificationId, builder.build())

Explanation: 1. Create RemoteViews: Initialize a RemoteViews object with the specified custom layout XML file to define the visual structure of the notification. 2. Customize RemoteViews: Use methods like setImageViewResource and setTextViewText to modify the content of the RemoteViews with custom images and text. 3. Create PendingIntent: Generate a PendingIntent to handle the user's interaction with the notification (e.g., launching an activity when the notification is clicked). 4. Build NotificationCompat Builder: Create a NotificationCompat.Builder instance, specifying the small icon, content (using the RemoteViews created earlier), and the PendingIntent. 5. Display Notification: Retrieve the NotificationManager and use its notify method to display the notification by passing the notification ID and the built notification from the builder.

Ensure to replace R.layout.custom_notification_layout, R.drawable.custom_icon, YourNotificationReceiver::class.java, R.drawable.notification_icon, CHANNEL_ID, notificationId, and any other placeholders with your actual resource IDs, class names, and values as appropriate in your application.