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' ]) }