Skip to content

Commit 177cc97

Browse files
committed
Refactor getting settings
1 parent 4eae05c commit 177cc97

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

com.unity.mobile.notifications/Editor/AndroidNotificationPostProcessor.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#if UNITY_ANDROID
22
using System;
3+
using System.Collections.Generic;
34
using System.IO;
45
using System.Xml;
56
using UnityEditor;
@@ -68,14 +69,14 @@ private void InjectAndroidManifest(string projectPath)
6869

6970
var settings = NotificationSettingsManager.Initialize().AndroidNotificationSettingsFlat;
7071

71-
var useCustomActivity = (bool)settings.Find(i => i.Key == NotificationSettings.AndroidSettings.USE_CUSTOM_ACTIVITY).Value;
72+
var useCustomActivity = GetSetting<bool>(settings, NotificationSettings.AndroidSettings.USE_CUSTOM_ACTIVITY);
7273
if (useCustomActivity)
7374
{
74-
var customActivity = (string)settings.Find(i => i.Key == NotificationSettings.AndroidSettings.CUSTOM_ACTIVITY_CLASS).Value;
75+
var customActivity = GetSetting<string>(settings, NotificationSettings.AndroidSettings.CUSTOM_ACTIVITY_CLASS);
7576
AppendAndroidMetadataField(manifestPath, manifestDoc, "custom_notification_android_activity", customActivity);
7677
}
7778

78-
var enableRescheduleOnRestart = (bool)settings.Find(i => i.Key == NotificationSettings.AndroidSettings.RESCHEDULE_ON_RESTART).Value;
79+
var enableRescheduleOnRestart = GetSetting<bool>(settings, NotificationSettings.AndroidSettings.RESCHEDULE_ON_RESTART);
7980
if (enableRescheduleOnRestart)
8081
{
8182
AppendAndroidMetadataField(manifestPath, manifestDoc, "reschedule_notifications_on_restart", "true");
@@ -85,6 +86,11 @@ private void InjectAndroidManifest(string projectPath)
8586
manifestDoc.Save(manifestPath);
8687
}
8788

89+
private static T GetSetting<T>(List<NotificationSetting> settings, string key)
90+
{
91+
return (T)settings.Find(i => i.Key == key).Value;
92+
}
93+
8894
internal static void InjectReceivers(string manifestPath, XmlDocument manifestXmlDoc)
8995
{
9096
const string kNotificationManagerName = "com.unity.androidnotifications.UnityNotificationManager";

0 commit comments

Comments
 (0)