I’m using these code to hide taps for non friends members , the problem is . i need to hide the activity tap for non friends .. but without changing the default landing tab for the profile owner .. i want to dynamically set the landing tab for non friends to “profile” .. and for the profile owner to “activity” 
//remove profile tabs for non friends members//
		function bpfr_maybe_hide_friends_nav_etc() {
			$retval = false;
			// condition 
			if ( bp_is_user() && ! bp_is_my_profile() && ! friends_check_friendship( bp_displayed_user_id(), bp_loggedin_user_id() ) ) {
				
				$retval = true;
			}	
			return $retval;
		}
		function bpfr_hide_friends_nav_to_non_friends() {	
			// stop if condition is not ok
			if ( ! bpfr_maybe_hide_friends_nav_etc() ) {
				return;
			}
			// otherwise we remove the nav items
			// bp topnav items
			
			bp_core_remove_nav_item( 'groups' );
			bp_core_remove_nav_item( 'activity' );
			bp_core_remove_nav_item( 'events' );
			bp_core_remove_nav_item( 'media' );
			bp_core_remove_nav_item( 'profile' );
			bp_core_remove_nav_item( 'friends' );
			//bp subnav items
			bp_core_remove_subnav_item( 'activity', 'friends' ); 
			bp_core_remove_subnav_item( 'activity', 'mentions' ); 
			
		}
		add_action( 'bp_ready', 'bpfr_hide_friends_nav_to_non_friends' );
		
	 
	
	
	
 
		
			
	
	
		
		i have tried to redirect the non friends members to another tap “profile” instead of “activity” tab .. using the following code .. but it takes too long to redirect then i get “redirected you too many times” error 
function redirect_to_profile() {
if ( bp_is_user() && ! bp_is_my_profile() && ! friends_check_friendship( bp_displayed_user_id(), bp_loggedin_user_id() ) ) {
		global $bp;
		bp_core_redirect( bp_displayed_user_domain() . 'resume' );
		exit();
 }
 }
add_action( 'bp_ready', 'redirect_to_profile' );
please if someone just helping me to sorting this code .. i want just to set the default landing tab for non friends to profile instead of activity tab .. and keep activity tab a default landing tab for profiles owners 
		
	 
	
	
	
 
		
			
	
	
		
		What about using a custom member front page? Then you’d have total flexibility:
Custom Front Pages for your users profiles
Otherwise, I think you could conditionally filter bp_displayed_user_get_front_template to specify members/single/activity.php for self and friends and members/single/profile.php for non-friends. See this function:
https://buddypress.trac.wordpress.org/browser/tags/2.9.2/src/bp-members/bp-members-template.php#L1397