From 88604c199ea4b6c16f86e4a1d3a1bdbc6ffe4c4b Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 14:20:27 +0000 Subject: [PATCH 1/7] Delete firebase messaging service --- .../LocalFirebaseMessagingService.java | 39 ------------------- 1 file changed, 39 deletions(-) delete mode 100644 java/systems/obsidian/LocalFirebaseMessagingService.java diff --git a/java/systems/obsidian/LocalFirebaseMessagingService.java b/java/systems/obsidian/LocalFirebaseMessagingService.java deleted file mode 100644 index 01a35628..00000000 --- a/java/systems/obsidian/LocalFirebaseMessagingService.java +++ /dev/null @@ -1,39 +0,0 @@ -// File based on https://github.com/firebase/quickstart-android/blob/d454ecdbb664450d11812b9cfde91fca36c56a81/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/java/MyFirebaseMessagingService.java -package systems.obsidian; - -import android.util.Log; -import com.google.firebase.messaging.FirebaseMessagingService; -import com.google.firebase.messaging.RemoteMessage; - -public class LocalFirebaseMessagingService extends FirebaseMessagingService { - - private static final String TAG = "LocalFirebaseMessagingService"; - - private native void handleDeviceToken(String token); - private native void handleNotification(String intent, String notificationdata); - - /** - * Called if InstanceID token is updated. This may occur if the security of - * the previous token had been compromised. Note that this is called when the InstanceID token - * is initially generated so this is where you would retrieve the token. - */ - @Override - public void onNewToken(String token) { - Log.d(TAG, "onNewToken: Refreshed token: " + token); - - // If you want to send messages to this application instance or - // manage this apps subscriptions on the server side, send the - // Instance ID token to your app server. - handleDeviceToken(token); - } - - @Override - public void onMessageReceived(RemoteMessage remoteMessage) { - if (remoteMessage.getData().size() > 0) { - String custom = remoteMessage.getData().get("custom"); - if (custom != null) { - handleNotification("custom-foreground", custom); - } - } - } -} From 630c4f88a0f9ebfbad62697e8ffe3d154e7a4c69 Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 14:47:00 +0000 Subject: [PATCH 2/7] Minimally invasive removal of Firebase related code I just delete every line that mentions firebase. Almost would have done it in sed. --- src/Android/HaskellActivity.hsc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/Android/HaskellActivity.hsc b/src/Android/HaskellActivity.hsc index 38a3c56c..a8bf0b54 100644 --- a/src/Android/HaskellActivity.hsc +++ b/src/Android/HaskellActivity.hsc @@ -93,7 +93,6 @@ data ActivityCallbacks = ActivityCallbacks , _activityCallbacks_onRestart :: IO () , _activityCallbacks_onBackPressed :: IO () , _activityCallbacks_onNewIntent :: String -> String -> IO () - , _activityCallbacks_firebaseInstanceIdServiceSendRegistrationToServer :: String -> IO () } instance Default ActivityCallbacks where @@ -107,7 +106,6 @@ instance Default ActivityCallbacks where , _activityCallbacks_onRestart = return () , _activityCallbacks_onBackPressed = return () , _activityCallbacks_onNewIntent = \_ _ -> return () - , _activityCallbacks_firebaseInstanceIdServiceSendRegistrationToServer = \_ -> return () } traceBracket :: String -> IO a -> IO a @@ -124,8 +122,6 @@ traceActivityCallbacks ac = ActivityCallbacks , _activityCallbacks_onRestart = traceBracket "onRestart" $ _activityCallbacks_onRestart ac , _activityCallbacks_onNewIntent = \x y -> traceBracket "onNewIntent" $ _activityCallbacks_onNewIntent ac x y , _activityCallbacks_onBackPressed = traceBracket "onBackPressed" $ _activityCallbacks_onBackPressed ac - , _activityCallbacks_firebaseInstanceIdServiceSendRegistrationToServer = \x -> - traceBracket "firebaseInstanceIdServiceSendRegistrationToServer" $ _activityCallbacks_firebaseInstanceIdServiceSendRegistrationToServer ac x } foreign import ccall "wrapper" wrapIO :: IO () -> IO (FunPtr (IO ())) @@ -149,7 +145,6 @@ activityCallbacksToPtrs ac = ActivityCallbacksPtrs ) <*> wrapCStringIO (\token -> do token' <- peekCString token - _activityCallbacks_firebaseInstanceIdServiceSendRegistrationToServer ac token' ) data ActivityCallbacksPtrs = ActivityCallbacksPtrs @@ -162,7 +157,6 @@ data ActivityCallbacksPtrs = ActivityCallbacksPtrs , _activityCallbacksPtrs_onRestart :: FunPtr (IO ()) , _activityCallbacksPtrs_onBackPressed :: FunPtr (IO ()) , _activityCallbacksPtrs_onNewIntent :: FunPtr (CString -> CString -> IO ()) - , _activityCallbacksPtrs_firebaseInstanceIdService_sendRegistrationToServer :: FunPtr (CString -> IO ()) } instance Storable ActivityCallbacksPtrs where @@ -178,7 +172,6 @@ instance Storable ActivityCallbacksPtrs where #{poke ActivityCallbacks, onRestart} p $ _activityCallbacksPtrs_onRestart ac #{poke ActivityCallbacks, onBackPressed} p $ _activityCallbacksPtrs_onBackPressed ac #{poke ActivityCallbacks, onNewIntent} p $ _activityCallbacksPtrs_onNewIntent ac - #{poke ActivityCallbacks, firebaseInstanceIdService_sendRegistrationToServer} p $ _activityCallbacksPtrs_firebaseInstanceIdService_sendRegistrationToServer ac peek p = ActivityCallbacksPtrs <$> #{peek ActivityCallbacks, onCreate} p <*> #{peek ActivityCallbacks, onStart} p @@ -189,4 +182,3 @@ instance Storable ActivityCallbacksPtrs where <*> #{peek ActivityCallbacks, onRestart} p <*> #{peek ActivityCallbacks, onBackPressed} p <*> #{peek ActivityCallbacks, onNewIntent} p - <*> #{peek ActivityCallbacks, firebaseInstanceIdService_sendRegistrationToServer} p From 61ba2e903a38fa93adec33f1f099c06c92a711a8 Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 14:53:33 +0000 Subject: [PATCH 3/7] Tryfix Haskell syntax "The last statement in a 'do' block must be an expression" --- src/Android/HaskellActivity.hsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Android/HaskellActivity.hsc b/src/Android/HaskellActivity.hsc index a8bf0b54..22ff25fd 100644 --- a/src/Android/HaskellActivity.hsc +++ b/src/Android/HaskellActivity.hsc @@ -143,7 +143,7 @@ activityCallbacksToPtrs ac = ActivityCallbacksPtrs b' <- peekCString b _activityCallbacks_onNewIntent ac a' b' ) - <*> wrapCStringIO (\token -> do + <*> wrapCStringIO (\token -> token' <- peekCString token ) From b905ae403adf9e4152d5c0e83decfb61d167797c Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 15:25:55 +0000 Subject: [PATCH 4/7] Or maybe this compiles, who knows --- src/Android/HaskellActivity.hsc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Android/HaskellActivity.hsc b/src/Android/HaskellActivity.hsc index 22ff25fd..7176a2c2 100644 --- a/src/Android/HaskellActivity.hsc +++ b/src/Android/HaskellActivity.hsc @@ -143,9 +143,7 @@ activityCallbacksToPtrs ac = ActivityCallbacksPtrs b' <- peekCString b _activityCallbacks_onNewIntent ac a' b' ) - <*> wrapCStringIO (\token -> - token' <- peekCString token - ) + <*> wrapCStringIO peekCString data ActivityCallbacksPtrs = ActivityCallbacksPtrs { _activityCallbacksPtrs_onCreate :: FunPtr (IO ()) From f15785998122fc93c8f0b9031b9146efc31ddc5e Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 15:35:34 +0000 Subject: [PATCH 5/7] Help, I really don't know what I'm doing --- src/Android/HaskellActivity.hsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Android/HaskellActivity.hsc b/src/Android/HaskellActivity.hsc index 7176a2c2..cc9effd3 100644 --- a/src/Android/HaskellActivity.hsc +++ b/src/Android/HaskellActivity.hsc @@ -143,7 +143,7 @@ activityCallbacksToPtrs ac = ActivityCallbacksPtrs b' <- peekCString b _activityCallbacks_onNewIntent ac a' b' ) - <*> wrapCStringIO peekCString + <*> wrapCStringIO (peekCString a) data ActivityCallbacksPtrs = ActivityCallbacksPtrs { _activityCallbacksPtrs_onCreate :: FunPtr (IO ()) From cc74af42d6cf4045f87f9881e3ffa0afe308efc5 Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 16:14:05 +0000 Subject: [PATCH 6/7] Just delete more stuff, maybe --- src/Android/HaskellActivity.hsc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Android/HaskellActivity.hsc b/src/Android/HaskellActivity.hsc index cc9effd3..c6555a5b 100644 --- a/src/Android/HaskellActivity.hsc +++ b/src/Android/HaskellActivity.hsc @@ -143,7 +143,6 @@ activityCallbacksToPtrs ac = ActivityCallbacksPtrs b' <- peekCString b _activityCallbacks_onNewIntent ac a' b' ) - <*> wrapCStringIO (peekCString a) data ActivityCallbacksPtrs = ActivityCallbacksPtrs { _activityCallbacksPtrs_onCreate :: FunPtr (IO ()) From 0f55d889392289f0e31f7f4bd92f3da61b967490 Mon Sep 17 00:00:00 2001 From: Florian Sesser Date: Thu, 3 Aug 2023 16:20:05 +0000 Subject: [PATCH 7/7] Delete yet more stuff FTW --- src/Android/HaskellActivity.hsc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Android/HaskellActivity.hsc b/src/Android/HaskellActivity.hsc index c6555a5b..1790eb95 100644 --- a/src/Android/HaskellActivity.hsc +++ b/src/Android/HaskellActivity.hsc @@ -125,7 +125,6 @@ traceActivityCallbacks ac = ActivityCallbacks } foreign import ccall "wrapper" wrapIO :: IO () -> IO (FunPtr (IO ())) -foreign import ccall "wrapper" wrapCStringIO :: (CString -> IO ()) -> IO (FunPtr (CString -> IO ())) foreign import ccall "wrapper" wrapCStringCStringIO :: (CString -> CString -> IO ()) -> IO (FunPtr (CString -> CString -> IO ())) activityCallbacksToPtrs :: ActivityCallbacks -> IO ActivityCallbacksPtrs