From c8c3b31d3bef18ebb353a93f3785e6d6e4f6db2a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 20 Jun 2017 14:00:27 +0200 Subject: [PATCH] Use PNG icons for emails and ios client Signed-off-by: Joas Schilling --- lib/Controller/APIv2.php | 9 +++++++++ lib/MailQueueHandler.php | 2 ++ tests/Controller/APIv2Test.php | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/lib/Controller/APIv2.php b/lib/Controller/APIv2.php index d24b6da26..2277afe23 100644 --- a/lib/Controller/APIv2.php +++ b/lib/Controller/APIv2.php @@ -29,6 +29,7 @@ use OCA\Activity\GroupHelper; use OCA\Activity\UserSettings; use OCA\Activity\ViewInfoCache; +use OCP\Activity\IManager; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCSController; @@ -67,6 +68,9 @@ class APIv2 extends OCSController { protected $loadPreviews; + /** @var IManager */ + protected $activityManager; + /** @var Data */ protected $data; @@ -99,6 +103,7 @@ class APIv2 extends OCSController { * * @param string $appName * @param IRequest $request + * @param IManager $activityManager * @param Data $data * @param GroupHelper $helper * @param UserSettings $settings @@ -111,6 +116,7 @@ class APIv2 extends OCSController { */ public function __construct($appName, IRequest $request, + IManager $activityManager, Data $data, GroupHelper $helper, UserSettings $settings, @@ -121,6 +127,7 @@ public function __construct($appName, View $view, ViewInfoCache $infoCache) { parent::__construct($appName, $request); + $this->activityManager = $activityManager; $this->data = $data; $this->helper = $helper; $this->settings = $settings; @@ -220,6 +227,7 @@ protected function get($filter, $since, $limit, $previews, $filterObjectType, $f return new DataResponse(null, Http::STATUS_FORBIDDEN); } + $this->activityManager->setRequirePNG($this->request->isUserAgent([IRequest::USER_AGENT_CLIENT_IOS])); try { $response = $this->data->get( $this->helper, @@ -241,6 +249,7 @@ protected function get($filter, $since, $limit, $previews, $filterObjectType, $f // No activity settings enabled return new DataResponse(null, Http::STATUS_NO_CONTENT); } + $this->activityManager->setRequirePNG(false); $headers = $this->generateHeaders($response['headers'], $response['has_more'], $response['data']); if (empty($response['data']) || $this->request->getHeader('If-None-Match') === $headers['ETag']) { diff --git a/lib/MailQueueHandler.php b/lib/MailQueueHandler.php index 487d0a175..448a3be9e 100644 --- a/lib/MailQueueHandler.php +++ b/lib/MailQueueHandler.php @@ -161,6 +161,7 @@ public function sendEmails($limit, $sendTime, $forceSending = false, $restrictEm $defaultTimeZone = date_default_timezone_get(); $deleteItemsForUsers = []; + $this->activityManager->setRequirePNG(true); foreach ($affectedUsers as $user) { if (empty($userEmails[$user])) { // The user did not setup an email address @@ -181,6 +182,7 @@ public function sendEmails($limit, $sendTime, $forceSending = false, $restrictEm // continue; } } + $this->activityManager->setRequirePNG(false); // Delete all entries we dealt with $this->deleteSentItems($deleteItemsForUsers, $sendTime); diff --git a/tests/Controller/APIv2Test.php b/tests/Controller/APIv2Test.php index cca735d8d..debfac0c2 100644 --- a/tests/Controller/APIv2Test.php +++ b/tests/Controller/APIv2Test.php @@ -25,6 +25,7 @@ use OCA\Activity\Controller\APIv2; use OCA\Activity\Exception\InvalidFilterException; use OCA\Activity\Tests\TestCase; +use OCP\Activity\IManager; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\IUser; @@ -51,6 +52,9 @@ class APIv2Test extends TestCase { /** @var \OCP\IRequest|\PHPUnit_Framework_MockObject_MockObject */ protected $request; + /** @var IManager|\PHPUnit_Framework_MockObject_MockObject */ + protected $activityManager; + /** @var \OCA\Activity\Data|\PHPUnit_Framework_MockObject_MockObject */ protected $data; @@ -90,6 +94,7 @@ class APIv2Test extends TestCase { protected function setUp() { parent::setUp(); + $this->activityManager = $this->createMock(IManager::class); $this->data = $this->createMock(Data::class); $this->helper = $this->createMock(GroupHelper::class); $this->userSettings = $this->createMock(UserSettings::class); @@ -118,6 +123,7 @@ protected function getController(array $methods = []) { return new APIv2( 'activity', $this->request, + $this->activityManager, $this->data, $this->helper, $this->userSettings, @@ -133,6 +139,7 @@ protected function getController(array $methods = []) { ->setConstructorArgs([ 'activity', $this->request, + $this->activityManager, $this->data, $this->helper, $this->userSettings,