Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 7
CRAP
0.00% covered (danger)
0.00%
0 / 1
Filter
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 7
56
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIdentifier
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPriority
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getIcon
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 filterTypes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 allowedApps
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * @copyright Copyright (c) 2019 Julien Veyssier <eneiluj@posteo.net>
4 *
5 * @author Julien Veyssier <eneiluj@posteo.net>
6 *
7 * @license GNU AGPL version 3 or any later version
8 *
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU Affero General Public License as
11 * published by the Free Software Foundation, either version 3 of the
12 * License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU Affero General Public License for more details.
18 *
19 * You should have received a copy of the GNU Affero General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 *
22 */
23
24namespace OCA\Cospend\Activity;
25
26use OCP\Activity\IFilter;
27use OCP\IL10N;
28use OCP\IURLGenerator;
29
30class Filter implements IFilter {
31
32    private $l10n;
33    private $urlGenerator;
34
35    public function __construct(IL10N $l10n,
36                                IURLGenerator $urlGenerator) {
37        $this->l10n = $l10n;
38        $this->urlGenerator = $urlGenerator;
39    }
40
41    /**
42     * @return string Lowercase a-z and underscore only identifier
43     * @since 11.0.0
44     */
45    public function getIdentifier(): string {
46        return 'cospend';
47    }
48
49    /**
50     * @return string A translated string
51     * @since 11.0.0
52     */
53    public function getName(): string {
54        return $this->l10n->t('Cospend');
55    }
56
57    /**
58     * @return int whether the filter should be rather on the top or bottom of
59     * the admin section. The filters are arranged in ascending order of the
60     * priority values. It is required to return a value between 0 and 100.
61     * @since 11.0.0
62     */
63    public function getPriority(): int {
64        return 95;
65    }
66
67    /**
68     * @return string Full URL to an icon, empty string when none is given
69     * @since 11.0.0
70     */
71    public function getIcon(): string {
72        return $this->urlGenerator->imagePath('cospend', 'app_black.svg');
73    }
74
75    /**
76     * @param string[] $types
77     * @return string[] An array of allowed apps from which activities should be displayed
78     * @since 11.0.0
79     */
80    public function filterTypes(array $types): array {
81        return $types;
82    }
83
84    /**
85     * @return string[] An array of allowed apps from which activities should be displayed
86     * @since 11.0.0
87     */
88    public function allowedApps(): array {
89        return ['cospend'];
90    }
91}