Index: views-view-row-activity-rss.tpl.php
===================================================================
--- views-view-row-activity-rss.tpl.php	(revision 0)
+++ views-view-row-activity-rss.tpl.php	(revision 433)
@@ -0,0 +1,15 @@
+<?php
+// $Id$
+/**
+ * @file
+ * Default simple view template to display a single heartbeat.
+ *
+ * @ingroup views_templates
+ */
+?>
+  <item>
+    <title><?php print $row->title; ?></title>
+    <description><?php print $row->activity_message; ?></description>
+    <?php print $row->item_elements; ?>
+  </item>
+
Index: activity.views.inc
===================================================================
--- activity.views.inc	(revision 429)
+++ activity.views.inc	(working copy)
@@ -364,6 +364,18 @@
         'type' => 'normal',
         'help topic' => 'style-activity',
       ),
+      'activity_rss' => array(
+        'title' => t('Activity RSS'),
+        'help' => t('Display the activity with the standard activity view.'),
+        'handler' => 'activity_views_plugin_row_activity_rss',
+        'path' => drupal_get_path('module', 'activity') . '/views',
+        'base' => array('activity'),
+        'theme' => 'views_view_row_activity_rss',
+        'uses options' => TRUE,
+        'type' => 'feed',
+        'help topic' => 'style-activity',
+      ),
+
     ),
   );
 }
@@ -384,3 +396,29 @@
   }
   $vars['row']->activity_message = activity_token_replace($activity);
 }
+
+/**
+ * Template handler for theme_views_view_row_activity_rss().
+ */
+function template_preprocess_views_view_row_activity_rss(&$vars) {
+  $view     = &$vars['view'];
+  $options  = &$vars['options'];
+  $item     = &$vars['row'];
+  $options  = $vars['options'];
+
+  $vars['activity'] = ''; // Make sure var is defined.
+  $aid = $item->aid;
+  if (!is_numeric($aid)) {
+    return;
+  }
+  $activity = activity_load($aid);
+  if (empty($activity)) {
+    return;
+  }
+  $item->activity_message = activity_token_replace($activity);
+
+  $vars['title'] = check_plain($item->activity_message);
+  $vars['description'] = check_plain($item->activity_message);
+  $vars['item_elements'] = empty($item->elements) ? '' : format_xml_elements($item->elements);
+}
+
Index: views/activity_views_plugin_row_activity_rss.inc
===================================================================
--- views/activity_views_plugin_row_activity_rss.inc	(revision 0)
+++ views/activity_views_plugin_row_activity_rss.inc	(revision 433)
@@ -0,0 +1,46 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Contains the activity view row style plugin.
+ */
+
+/**
+ * Plugin which performs an activity_view on the resulting object.
+ */
+class activity_views_plugin_row_activity_rss extends views_plugin_row {
+
+  function init(&$view, &$display, $options = NULL) {
+    // Call init of base class.
+    parent::init(&$view, &$display, $options);
+
+  }
+
+  function uses_fields() {
+    $has_fields = !empty($this->definition['uses fields']);
+    return $has_fields;
+  }
+
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['messages'] = array('default' => TRUE);
+    return $options;
+  }
+
+  function options_form(&$form, &$form_state) {
+    $form['messages'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Display messages'),
+      '#default_value' => $this->options['messages'],
+    );
+  }
+
+  /**
+   * Override the behavior of the render() function.
+   */
+  function render($row) {
+    return theme($this->theme_functions(), $this->view, $this->options, $row);
+  }
+
+}
