module.exports = function LogsCtrl($scope, LogcatService) { $scope.started = LogcatService.started $scope.filters = {} $scope.filters.levelNumbers = LogcatService.filters.levelNumbers LogcatService.filters.filterLines() $scope.$watch('started', function(newValue, oldValue) { if (newValue !== oldValue) { LogcatService.started = newValue if (newValue) { $scope.control.startLogcat([]).then(function() { }) } else { $scope.control.stopLogcat() } } }) window.onbeforeunload = function() { if ($scope.control) { $scope.control.stopLogcat() } } $scope.clear = function() { LogcatService.clear() } function defineFilterWatchers(props) { angular.forEach(props, function(prop) { $scope.$watch('filters.' + prop, function(newValue, oldValue) { if (!angular.equals(newValue, oldValue)) { LogcatService.filters[prop] = newValue } }) }) } defineFilterWatchers([ 'levelNumber', 'message', 'pid', 'tid', 'dateLabel', 'date', 'tag', 'priority' ]) }