       @scrollView.scrollTo {top : 0, duration : 200}, ->
         view.slideIn()
 
+  followedActivityArrived: (activity) -> 
+    if @_state is 'private' 
+      view = @addHiddenItem activity, 0 
+      @activityHeader.newActivityArrived() 
+
   newActivityArrived:(activity)->
+    return unless @_state is 'public'
     unless @isMine activity
-      if (@_state is 'private' and @isInFollowing activity) or @_state is 'public'
-        view = @addHiddenItem activity, 0
-        @activityHeader.newActivityArrived()
+      view = @addHiddenItem activity, 0 
+      @activityHeader.newActivityArrived() 
+
+    #   if (@_state is 'private' and @isInFollowing activity) or @_state is 'public'
+    #     view = @addHiddenItem activity, 0
+    #     @activityHeader.newActivityArrived()
     else
       switch activity.constructor
         when KD.remote.api.CFolloweeBucket

          unhideNewHiddenItems hiddenItems
    super

    @fetchFollowings()

  fetchFollowings:->
    # To filter followings activites we need to fetch followings data

        @activityListController.isLoading = no
        @activityListController.hideLazyLoader()

  performFetchingTeasers:(type, selector, options, callback) -> 
    if type is 'public' 
      appManager.fetchStorage 'Activity', '1.0', (err, storage) => 
        if err 
          log '>> error fetching app storage', err 
        else 
          options.collection = 'activities' 
          flags = KD.whoami().globalFlags 
          exempt = flags?.indexOf 'exempt' 
          exempt = (exempt? and ~exempt) or storage.getAt 'bucket.showLowQualityContent' 
          $.ajax KD.apiUri+'/1.0' 
            data      : 
              t       : if exempt then 1 else undefined 
              data    : JSON.stringify(_.extend options, selector) 
              env     : KD.config.env 
            dataType  : 'jsonp' 
            success   : (data) -> callback null, data 
          # unless exempt 
          #   selector['isLowQuality'] = {'$ne':yes} 
          # KD.remote.api.CActivity.some selector, options, (err, data) -> 
          #   if err  
          #     callback err  
          #   else  
          #     for datum in data  
          #       datum.snapshot = datum.snapshot?.replace /&quot;/g, '"' 
          #     callback null, data 

    else if type is 'private' 
      KD.whoami().fetchFeedByTitle "followed", (err, feed) -> 
        feed.fetchActivities selector, options, (err, data) -> 
          if err 
            callback err 
          else 
            for datum in data 
              datum.snapshot = datum.snapshot.replace /&quot;/g, '"' 
            callback null, data 

  fetchTeasers:(selector,options,callback)->
    type = @activityListController._state 
    @performFetchingTeasers type, selector, options, (err, data) -> 
      KD.remote.reviveFromSnapshots data, (err, instances)-> 
        callback instances     

    # # Old code
    #
    # appManager.fetchStorage 'Activity', '1.0', (err, storage) =>
    #   if err
    #     log '>> error fetching app storage', err
    #   else
    #     options.collection = 'activities'
    #     flags = KD.whoami().globalFlags
    #     exempt = flags?.indexOf 'exempt'
    #     exempt = (exempt? and ~exempt) or storage.getAt 'bucket.showLowQualityContent'
    #     $.ajax KD.apiUri+'/1.0'
    #       data      :
    #         t       : if exempt then 1 else undefined
    #         data    : JSON.stringify(_.extend options, selector)
    #         env     : KD.config.env
    #       dataType  : 'jsonp'
    #       success   : (data)->
    #         KD.remote.reviveFromSnapshots data, (err, instances)->
    #           # console.log instances
    #           callback instances

    # # Unused code from before
    #
    # KD.remote.api.CActivity.teasers selector, options, (err, activities) =>
    #   if not err and activities?
