Skip to content

Commit fff27bc

Browse files
AkshayChaurasia98surinder-tsys
authored andcommitted
implemented notification with customization
NMC-2250: Notification tray icon customized
1 parent a08fb2e commit fff27bc

15 files changed

Lines changed: 244 additions & 25 deletions

File tree

app/src/main/java/com/nextcloud/client/documentscan/GeneratePdfFromImagesWork.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ class GeneratePdfFromImagesWork(
9898
.setContentText(message)
9999
.setAutoCancel(true)
100100

101-
viewThemeUtils.androidx.themeNotificationCompatBuilder(appContext, notificationBuilder)
101+
// NMC Customization
102+
notificationBuilder.color = appContext.resources.getColor(R.color.primary, null)
102103

103104
notificationManager.notify(notificationId, notificationBuilder.build())
104105

app/src/main/java/com/nextcloud/client/jobs/FilesExportWork.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ class FilesExportWork(
135135
.setContentTitle(message)
136136
.setAutoCancel(true)
137137

138-
viewThemeUtils.androidx.themeNotificationCompatBuilder(appContext, notificationBuilder)
138+
// NMC Customization
139+
notificationBuilder.color = appContext.resources.getColor(R.color.primary, null)
139140

140141
val actionIntent = Intent(DownloadManager.ACTION_VIEW_DOWNLOADS).apply {
141142
flags = FLAG_ACTIVITY_NEW_TASK

app/src/main/java/com/nextcloud/client/jobs/MediaFoldersDetectionWork.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,8 @@ class MediaFoldersDetectionWork constructor(
223223
.setAutoCancel(true)
224224
.setContentIntent(pendingIntent)
225225

226-
viewThemeUtils.androidx.themeNotificationCompatBuilder(context, notificationBuilder)
226+
// NMC Customization
227+
notificationBuilder.color = context.resources.getColor(R.color.primary, null)
227228

228229
val disableDetection = Intent(context, NotificationReceiver::class.java)
229230
disableDetection.putExtra(NOTIFICATION_ID, notificationId)

app/src/main/java/com/nextcloud/client/jobs/NotificationWork.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@ class NotificationWork constructor(
163163
.setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
164164
.setContentIntent(pendingIntent)
165165

166-
viewThemeUtils.androidx.themeNotificationCompatBuilder(context, notificationBuilder)
166+
// NMC Customization
167+
notificationBuilder.color = context.resources.getColor(R.color.primary, null)
167168

168169
// Remove
169170
if (notification.getActions().isEmpty()) {
@@ -219,9 +220,8 @@ class NotificationWork constructor(
219220
.setAutoCancel(true)
220221
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
221222
.setContentIntent(pendingIntent)
222-
.also {
223-
viewThemeUtils.androidx.themeNotificationCompatBuilder(context, it)
224-
}
223+
// NMC Customization
224+
.setColor(context.resources.getColor(R.color.primary, null))
225225
.build()
226226
)
227227
val notificationManager = NotificationManagerCompat.from(context)

app/src/main/java/com/nextcloud/client/media/PlayerService.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ class PlayerService : Service() {
109109
AndroidInjection.inject(this)
110110
player = Player(applicationContext, clientFactory, playerListener, audioManager)
111111
notificationBuilder = NotificationCompat.Builder(this)
112-
viewThemeUtils.androidx.themeNotificationCompatBuilder(this, notificationBuilder)
112+
// NMC Customization
113+
notificationBuilder.color = resources.getColor(R.color.primary, null)
113114

114115
val stop = Intent(this, PlayerService::class.java).apply {
115116
action = ACTION_STOP

app/src/main/java/com/nextcloud/client/notifications/AppNotificationManagerImpl.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ class AppNotificationManagerImpl @Inject constructor(
3939
private fun builder(channelId: String): NotificationCompat.Builder {
4040
val builder =
4141
NotificationCompat.Builder(context, channelId)
42-
viewThemeUtils.androidx.themeNotificationCompatBuilder(context, builder)
42+
// NMC Customization
43+
builder.color = context.resources.getColor(R.color.primary, null)
4344
return builder
4445
}
4546

app/src/main/java/com/owncloud/android/syncadapter/FileSyncAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,8 @@ private void notifyForgottenLocalFiles() {
510510
private NotificationCompat.Builder createNotificationBuilder() {
511511
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext());
512512
notificationBuilder.setSmallIcon(R.drawable.notification_icon).setAutoCancel(true);
513-
viewThemeUtils.androidx.themeNotificationCompatBuilder(getContext(), notificationBuilder);
513+
// NMC Customization
514+
notificationBuilder.setColor(getContext().getResources().getColor(R.color.primary, null));
514515
return notificationBuilder;
515516
}
516517

app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ class NotificationsActivity : AppCompatActivity(), NotificationsContract.View, I
105105
setDisplayHomeAsUpEnabled(true)
106106
setHomeAsUpIndicator(R.drawable.ic_arrow_back_foreground)
107107
}
108+
// NMC Customization
109+
viewThemeUtils.platform.themeStatusBar(this)
108110
}
109111

110112
private fun setupStatusBar() {
@@ -200,14 +202,17 @@ class NotificationsActivity : AppCompatActivity(), NotificationsContract.View, I
200202
Snackbar.LENGTH_INDEFINITE
201203
)
202204
} else {
203-
val pushValue = arbitraryDataProvider.getValue(accountName, PushUtils.KEY_PUSH)
205+
// NMC Note -> Need to disable this error message for now as we will configure our
206+
// own push notification server later not now
207+
// once we will configure our server we will uncomment the below code.
208+
/* val pushValue = arbitraryDataProvider.getValue(accountName, PushUtils.KEY_PUSH)
204209
if (pushValue.isEmpty()) {
205210
snackbar = Snackbar.make(
206211
binding.emptyList.emptyListView,
207212
R.string.push_notifications_temp_error,
208213
Snackbar.LENGTH_INDEFINITE
209214
)
210-
}
215+
}*/
211216
}
212217
}
213218

app/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,11 @@ public void setButtons(NotificationViewHolder holder, Notification notification)
208208
}
209209
});
210210

211-
viewThemeUtils.material.colorMaterialButtonPrimaryFilled(button);
211+
//NMC Customization
212+
button.setBackgroundColor(ResourcesCompat.getColor(resources,
213+
R.color.shared_with_me_color, null));
214+
button.setTextColor(ResourcesCompat.getColor(resources,
215+
R.color.white, null));
212216
holder.binding.buttons.addView(button);
213217
} else {
214218
overflowActions.add(action);
@@ -220,8 +224,12 @@ public void setButtons(NotificationViewHolder holder, Notification notification)
220224
moreButton.setBackgroundColor(ResourcesCompat.getColor(resources,
221225
android.R.color.transparent,
222226
null));
223-
viewThemeUtils.material.colorMaterialButtonPrimaryBorderless(moreButton);
224-
227+
//NMC Customization
228+
moreButton.setBackgroundColor(ResourcesCompat.getColor(resources,
229+
android.R.color.transparent,
230+
null));
231+
moreButton.setTextColor(ResourcesCompat.getColor(resources,
232+
R.color.shared_with_me_color, null));
225233
moreButton.setAllCaps(false);
226234

227235
moreButton.setText(R.string.more);
@@ -263,12 +271,16 @@ public void setButtons(NotificationViewHolder holder, Notification notification)
263271
final MaterialButton button = new MaterialButton(notificationsActivity);
264272

265273
if (action.primary) {
266-
viewThemeUtils.material.colorMaterialButtonPrimaryFilled(button);
274+
button.setBackgroundColor(ResourcesCompat.getColor(resources,
275+
R.color.shared_with_me_color, null));
276+
button.setTextColor(ResourcesCompat.getColor(resources,
277+
R.color.white, null));
267278
} else {
268279
button.setBackgroundColor(ResourcesCompat.getColor(resources,
269280
android.R.color.transparent,
270281
null));
271-
viewThemeUtils.material.colorMaterialButtonPrimaryBorderless(button);
282+
button.setTextColor(ResourcesCompat.getColor(resources,
283+
R.color.shared_with_me_color, null));
272284
}
273285

274286
button.setAllCaps(false);

app/src/main/java/com/owncloud/android/ui/notifications/NotificationUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import android.os.HandlerThread;
1717
import android.os.Process;
1818

19+
import com.owncloud.android.R;
1920
import com.owncloud.android.datamodel.OCFile;
2021
import com.owncloud.android.utils.theme.ViewThemeUtils;
2122

@@ -56,7 +57,8 @@ private NotificationUtils() {
5657
*/
5758
public static NotificationCompat.Builder newNotificationBuilder(Context context, String channelId, final ViewThemeUtils viewThemeUtils) {
5859
final NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId);
59-
viewThemeUtils.androidx.themeNotificationCompatBuilder(context, builder);
60+
// NMC Customization
61+
builder.setColor(context.getResources().getColor(R.color.primary, null));
6062
return builder;
6163
}
6264

0 commit comments

Comments
 (0)