diff --git a/.github/scripts/android/clean-fdroid.ps1 b/.github/scripts/android/clean-fdroid.ps1 index 11b5f9b1f..23a8221ed 100644 --- a/.github/scripts/android/clean-fdroid.ps1 +++ b/.github/scripts/android/clean-fdroid.ps1 @@ -30,16 +30,6 @@ $xml.Load($androidManifest); $nsAndroid=New-Object System.Xml.XmlNamespaceManager($xml.NameTable); $nsAndroid.AddNamespace("android", "http://schemas.android.com/apk/res/android"); -$firebaseReceiver1=$xml.SelectSingleNode(` - "/manifest/application/receiver[@android:name='com.google.firebase.iid.FirebaseInstanceIdInternalReceiver']", ` - $nsAndroid); -$firebaseReceiver1.ParentNode.RemoveChild($firebaseReceiver1); - -$firebaseReceiver2=$xml.SelectSingleNode(` - "/manifest/application/receiver[@android:name='com.google.firebase.iid.FirebaseInstanceIdReceiver']", ` - $nsAndroid); -$firebaseReceiver2.ParentNode.RemoveChild($firebaseReceiver2); - $xml.Save($androidManifest); Write-Output "########################################" @@ -56,6 +46,10 @@ $firebaseNode=$xml.SelectSingleNode(` "/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.Firebase.Messaging']", $ns); $firebaseNode.ParentNode.RemoveChild($firebaseNode); +$daggerNode=$xml.SelectSingleNode(` + "/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.Google.Dagger']", $ns); +$daggerNode.ParentNode.RemoveChild($daggerNode); + $safetyNetNode=$xml.SelectSingleNode(` "/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.GooglePlayServices.SafetyNet']", $ns); $safetyNetNode.ParentNode.RemoveChild($safetyNetNode); diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index ed1a315c2..f0a6178dc 100644 --- a/src/Android/Android.csproj +++ b/src/Android/Android.csproj @@ -82,7 +82,7 @@ 1.5.3.2 - 71.1740.0 + 121.0.1 @@ -90,6 +90,7 @@ + 71.1600.0 @@ -113,7 +114,6 @@ - diff --git a/src/Android/Properties/AndroidManifest.xml b/src/Android/Properties/AndroidManifest.xml index a6af6738b..675c2ec89 100644 --- a/src/Android/Properties/AndroidManifest.xml +++ b/src/Android/Properties/AndroidManifest.xml @@ -40,20 +40,6 @@ android:resource="@xml/filepaths" /> - - - - - - - - - diff --git a/src/Android/Push/FirebaseInstanceIdService.cs b/src/Android/Push/FirebaseInstanceIdService.cs deleted file mode 100644 index 2ddcac048..000000000 --- a/src/Android/Push/FirebaseInstanceIdService.cs +++ /dev/null @@ -1,25 +0,0 @@ -#if !FDROID -using Android.App; -using Android.Content; -using Bit.App.Abstractions; -using Bit.Core; -using Bit.Core.Abstractions; -using Bit.Core.Utilities; -using Firebase.Iid; - -namespace Bit.Droid.Push -{ - [Service] - [IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })] - public class FirebaseInstanceIdService : Firebase.Iid.FirebaseInstanceIdService - { - public async override void OnTokenRefresh() - { - var storageService = ServiceContainer.Resolve("storageService"); - var pushNotificationService = ServiceContainer.Resolve("pushNotificationService"); - await storageService.SaveAsync(Constants.PushRegisteredTokenKey, FirebaseInstanceId.Instance.Token); - await pushNotificationService.RegisterAsync(); - } - } -} -#endif diff --git a/src/Android/Push/FirebaseMessagingService.cs b/src/Android/Push/FirebaseMessagingService.cs index a7be046bb..5351436c2 100644 --- a/src/Android/Push/FirebaseMessagingService.cs +++ b/src/Android/Push/FirebaseMessagingService.cs @@ -1,7 +1,7 @@ #if !FDROID using Android.App; -using Android.Content; using Bit.App.Abstractions; +using Bit.Core.Abstractions; using Bit.Core.Utilities; using Firebase.Messaging; using Newtonsoft.Json; @@ -10,10 +10,19 @@ using Xamarin.Forms; namespace Bit.Droid.Push { - [Service] + [Service(Exported=false)] [IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })] public class FirebaseMessagingService : Firebase.Messaging.FirebaseMessagingService { + public async override void OnNewToken(string token) + { + var storageService = ServiceContainer.Resolve("storageService"); + var pushNotificationService = ServiceContainer.Resolve("pushNotificationService"); + + await storageService.SaveAsync(Core.Constants.PushRegisteredTokenKey, token); + await pushNotificationService.RegisterAsync(); + } + public async override void OnMessageReceived(RemoteMessage message) { if (message?.Data == null)