Skip to content

Commit df6ab2e

Browse files
authored
Merge pull request #171 from nextcloud/issue-169-png-icons-in-emails-and-for-ios
Use PNG icons for emails and ios client
2 parents af6e202 + c8c3b31 commit df6ab2e

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

lib/Controller/APIv2.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
use OCA\Activity\GroupHelper;
3030
use OCA\Activity\UserSettings;
3131
use OCA\Activity\ViewInfoCache;
32+
use OCP\Activity\IManager;
3233
use OCP\AppFramework\Http;
3334
use OCP\AppFramework\Http\DataResponse;
3435
use OCP\AppFramework\OCSController;
@@ -67,6 +68,9 @@ class APIv2 extends OCSController {
6768
protected $loadPreviews;
6869

6970

71+
/** @var IManager */
72+
protected $activityManager;
73+
7074
/** @var Data */
7175
protected $data;
7276

@@ -99,6 +103,7 @@ class APIv2 extends OCSController {
99103
*
100104
* @param string $appName
101105
* @param IRequest $request
106+
* @param IManager $activityManager
102107
* @param Data $data
103108
* @param GroupHelper $helper
104109
* @param UserSettings $settings
@@ -111,6 +116,7 @@ class APIv2 extends OCSController {
111116
*/
112117
public function __construct($appName,
113118
IRequest $request,
119+
IManager $activityManager,
114120
Data $data,
115121
GroupHelper $helper,
116122
UserSettings $settings,
@@ -121,6 +127,7 @@ public function __construct($appName,
121127
View $view,
122128
ViewInfoCache $infoCache) {
123129
parent::__construct($appName, $request);
130+
$this->activityManager = $activityManager;
124131
$this->data = $data;
125132
$this->helper = $helper;
126133
$this->settings = $settings;
@@ -220,6 +227,7 @@ protected function get($filter, $since, $limit, $previews, $filterObjectType, $f
220227
return new DataResponse(null, Http::STATUS_FORBIDDEN);
221228
}
222229

230+
$this->activityManager->setRequirePNG($this->request->isUserAgent([IRequest::USER_AGENT_CLIENT_IOS]));
223231
try {
224232
$response = $this->data->get(
225233
$this->helper,
@@ -241,6 +249,7 @@ protected function get($filter, $since, $limit, $previews, $filterObjectType, $f
241249
// No activity settings enabled
242250
return new DataResponse(null, Http::STATUS_NO_CONTENT);
243251
}
252+
$this->activityManager->setRequirePNG(false);
244253

245254
$headers = $this->generateHeaders($response['headers'], $response['has_more'], $response['data']);
246255
if (empty($response['data']) || $this->request->getHeader('If-None-Match') === $headers['ETag']) {

lib/MailQueueHandler.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ public function sendEmails($limit, $sendTime, $forceSending = false, $restrictEm
161161
$defaultTimeZone = date_default_timezone_get();
162162

163163
$deleteItemsForUsers = [];
164+
$this->activityManager->setRequirePNG(true);
164165
foreach ($affectedUsers as $user) {
165166
if (empty($userEmails[$user])) {
166167
// The user did not setup an email address
@@ -181,6 +182,7 @@ public function sendEmails($limit, $sendTime, $forceSending = false, $restrictEm
181182
// continue;
182183
}
183184
}
185+
$this->activityManager->setRequirePNG(false);
184186

185187
// Delete all entries we dealt with
186188
$this->deleteSentItems($deleteItemsForUsers, $sendTime);

tests/Controller/APIv2Test.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
use OCA\Activity\Controller\APIv2;
2626
use OCA\Activity\Exception\InvalidFilterException;
2727
use OCA\Activity\Tests\TestCase;
28+
use OCP\Activity\IManager;
2829
use OCP\AppFramework\Http;
2930
use OCP\AppFramework\Http\DataResponse;
3031
use OCP\IUser;
@@ -51,6 +52,9 @@ class APIv2Test extends TestCase {
5152
/** @var \OCP\IRequest|\PHPUnit_Framework_MockObject_MockObject */
5253
protected $request;
5354

55+
/** @var IManager|\PHPUnit_Framework_MockObject_MockObject */
56+
protected $activityManager;
57+
5458
/** @var \OCA\Activity\Data|\PHPUnit_Framework_MockObject_MockObject */
5559
protected $data;
5660

@@ -90,6 +94,7 @@ class APIv2Test extends TestCase {
9094
protected function setUp() {
9195
parent::setUp();
9296

97+
$this->activityManager = $this->createMock(IManager::class);
9398
$this->data = $this->createMock(Data::class);
9499
$this->helper = $this->createMock(GroupHelper::class);
95100
$this->userSettings = $this->createMock(UserSettings::class);
@@ -118,6 +123,7 @@ protected function getController(array $methods = []) {
118123
return new APIv2(
119124
'activity',
120125
$this->request,
126+
$this->activityManager,
121127
$this->data,
122128
$this->helper,
123129
$this->userSettings,
@@ -133,6 +139,7 @@ protected function getController(array $methods = []) {
133139
->setConstructorArgs([
134140
'activity',
135141
$this->request,
142+
$this->activityManager,
136143
$this->data,
137144
$this->helper,
138145
$this->userSettings,

0 commit comments

Comments
 (0)