summaryrefslogtreecommitdiffstats
path: root/apps/theming
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2017-09-12 09:09:45 +0200
committerJulius Härtl <jus@bitgrid.net>2017-09-12 09:28:22 +0200
commit8391ca8792dace13ba4cf5ebd43d9ea0931b7b2a (patch)
treed3126dfe3cfbfe76c21d5fa1b29ed1289f207aba /apps/theming
parent699c64c7504ecd1518827e031eac202da1dcd228 (diff)
downloadnextcloud-server-8391ca8792dace13ba4cf5ebd43d9ea0931b7b2a.tar.gz
nextcloud-server-8391ca8792dace13ba4cf5ebd43d9ea0931b7b2a.zip
Use IAppManager instead of private API
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/theming')
-rw-r--r--apps/theming/lib/ThemingDefaults.php24
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php7
2 files changed, 23 insertions, 8 deletions
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php
index 0a9d5a6cc1f..5dd22fb6326 100644
--- a/apps/theming/lib/ThemingDefaults.php
+++ b/apps/theming/lib/ThemingDefaults.php
@@ -23,6 +23,8 @@
namespace OCA\Theming;
+use OCP\App\AppPathNotFoundException;
+use OCP\App\IAppManager;
use OCP\Files\IAppData;
use OCP\ICacheFactory;
use OCP\IConfig;
@@ -41,6 +43,10 @@ class ThemingDefaults extends \OC_Defaults {
private $appData;
/** @var ICacheFactory */
private $cacheFactory;
+ /** @var Util */
+ private $util;
+ /** @var IAppManager */
+ private $appManager;
/** @var string */
private $name;
/** @var string */
@@ -49,8 +55,7 @@ class ThemingDefaults extends \OC_Defaults {
private $slogan;
/** @var string */
private $color;
- /** @var Util */
- private $util;
+
/** @var string */
private $iTunesAppId;
/** @var string */
@@ -68,13 +73,15 @@ class ThemingDefaults extends \OC_Defaults {
* @param IAppData $appData
* @param ICacheFactory $cacheFactory
* @param Util $util
+ * @param IAppManager $appManager
*/
public function __construct(IConfig $config,
IL10N $l,
IURLGenerator $urlGenerator,
IAppData $appData,
ICacheFactory $cacheFactory,
- Util $util
+ Util $util,
+ IAppManager $appManager
) {
parent::__construct();
$this->config = $config;
@@ -83,6 +90,7 @@ class ThemingDefaults extends \OC_Defaults {
$this->appData = $appData;
$this->cacheFactory = $cacheFactory;
$this->util = $util;
+ $this->appManager = $appManager;
$this->name = parent::getName();
$this->url = parent::getBaseUrl();
@@ -269,10 +277,12 @@ class ThemingDefaults extends \OC_Defaults {
return $this->urlGenerator->linkToRoute('theming.Icon.getTouchIcon', ['app' => $app]) . '?v=' . $cacheBusterValue;
}
if ($image === 'manifest.json') {
- $appPath = \OC_App::getAppPath($app);
- if ($appPath && file_exists($appPath . '/img/manifest.json')) {
- return false;
- }
+ try {
+ $appPath = $this->appManager->getAppPath($app);
+ if (file_exists($appPath . '/img/manifest.json')) {
+ return false;
+ }
+ } catch (AppPathNotFoundException $e) {}
return $this->urlGenerator->linkToRoute('theming.Theming.getManifest') . '?v=' . $cacheBusterValue;
}
return false;
diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php
index 48099e8be0f..b1d86bff432 100644
--- a/apps/theming/tests/ThemingDefaultsTest.php
+++ b/apps/theming/tests/ThemingDefaultsTest.php
@@ -24,6 +24,7 @@
namespace OCA\Theming\Tests;
use OCA\Theming\ThemingDefaults;
+use OCP\App\IAppManager;
use OCP\Files\IAppData;
use OCA\Theming\Util;
use OCP\Files\NotFoundException;
@@ -55,6 +56,8 @@ class ThemingDefaultsTest extends TestCase {
private $util;
/** @var ICache|\PHPUnit_Framework_MockObject_MockObject */
private $cache;
+ /** @var IAppManager|\PHPUnit_Framework_MockObject_MockObject */
+ private $appManager;
public function setUp() {
parent::setUp();
@@ -65,6 +68,7 @@ class ThemingDefaultsTest extends TestCase {
$this->cacheFactory = $this->createMock(ICacheFactory::class);
$this->cache = $this->createMock(ICache::class);
$this->util = $this->createMock(Util::class);
+ $this->appManager = $this->createMock(IAppManager::class);
$this->defaults = new \OC_Defaults();
$this->cacheFactory
->expects($this->any())
@@ -77,7 +81,8 @@ class ThemingDefaultsTest extends TestCase {
$this->urlGenerator,
$this->appData,
$this->cacheFactory,
- $this->util
+ $this->util,
+ $this->appManager
);
}