Edit in JSFiddle

var app = angular.module('MyApp', []);

app.filter('currentUserToTop', function () {
    return function (users, current) {
        var newList = [];
        angular.forEach(users, function (u) {
            if (u.id == current) {
                newList.unshift(u);
            } else {
                newList.push(u);
            }
        });
        return newList;
    };
});

function MyCtrl($scope) {

    $scope.users = [{
        "id": 5,
            "username": "sam",
            "online": true
    }, {
        "id": 6,
            "username": "sam2",
            "online": true
    }, {
        "id": 4,
            "username": "admin",
            "online": true
    }, {
        "id": 2,
            "username": "user2"
    }, {
        "id": 3,
            "username": "user3",
            "online": true
    }, {
        "id": 1,
            "username": "user1"
    }];
}
<div ng-app='MyApp'>
    <div ng-controller="MyCtrl">
        <p>Sort by online:</p>
        <ul>
            <li data-ng-repeat="u in users | orderBy:'username' | orderBy:'online'" ng-class="{online:u.online}"><span>{{u.id}} - {{u.username}}</span>
            </li>
        </ul>
    </div>
</div>
li.online {
    background:green;
}
li.online span {
    color: #FFF;
    font-weight: bold;
}