Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
react-native-notifications
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Jira
Jira
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
冷佳娟
react-native-notifications
Commits
8f807e80
Commit
8f807e80
authored
Feb 03, 2019
by
yogevbd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes FCM notifications
parent
61d3d5fe
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
86 additions
and
46 deletions
+86
-46
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
...m/wix/reactnativenotifications/RNNotificationsModule.java
+18
-45
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java
.../wix/reactnativenotifications/RNNotificationsPackage.java
+68
-1
No files found.
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
View file @
8f807e80
...
...
@@ -8,6 +8,7 @@ import android.os.Bundle;
import
android.support.v4.app.NotificationManagerCompat
;
import
android.util.Log
;
import
com.facebook.react.bridge.ActivityEventListener
;
import
com.facebook.react.bridge.Arguments
;
import
com.facebook.react.bridge.Promise
;
import
com.facebook.react.bridge.ReactApplicationContext
;
...
...
@@ -29,17 +30,15 @@ import com.google.firebase.FirebaseApp;
import
static
com
.
wix
.
reactnativenotifications
.
Defs
.
LOGTAG
;
public
class
RNNotificationsModule
extends
ReactContextBaseJavaModule
implements
A
ppLifecycleFacade
.
AppVisibilityListener
,
Application
.
ActivityLifecycleCallbacks
{
public
class
RNNotificationsModule
extends
ReactContextBaseJavaModule
implements
A
ctivityEventListener
{
public
RNNotificationsModule
(
Application
application
,
ReactApplicationContext
reactContext
)
{
super
(
reactContext
);
FirebaseApp
.
initializeApp
(
reactContext
.
getApplicationContext
());
if
(
AppLifecycleFacadeHolder
.
get
()
instanceof
ReactAppLifecycleFacade
)
{
((
ReactAppLifecycleFacade
)
AppLifecycleFacadeHolder
.
get
()).
init
(
reactContext
);
}
AppLifecycleFacadeHolder
.
get
().
addVisibilityListener
(
this
);
application
.
registerActivityLifecycleCallbacks
(
this
);
reactContext
.
addActivityEventListener
(
this
);
}
@Override
...
...
@@ -56,6 +55,20 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
notificationsDrawer
.
onAppInit
();
}
@Override
public
void
onActivityResult
(
Activity
activity
,
int
requestCode
,
int
resultCode
,
Intent
data
)
{
}
@Override
public
void
onNewIntent
(
Intent
intent
)
{
Bundle
notificationData
=
intent
.
getExtras
();
if
(
notificationData
!=
null
)
{
final
IPushNotification
notification
=
PushNotification
.
get
(
getReactApplicationContext
().
getApplicationContext
(),
notificationData
);
notification
.
onOpened
();
}
}
@ReactMethod
public
void
refreshToken
()
{
Log
.
d
(
LOGTAG
,
"Native method invocation: refreshToken()"
);
...
...
@@ -99,46 +112,6 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
promise
.
resolve
(
new
Boolean
(
hasPermission
));
}
@Override
public
void
onAppVisible
()
{
final
IPushNotificationsDrawer
notificationsDrawer
=
PushNotificationsDrawer
.
get
(
getReactApplicationContext
().
getApplicationContext
());
notificationsDrawer
.
onAppVisible
();
}
@Override
public
void
onAppNotVisible
()
{
}
@Override
public
void
onActivityCreated
(
Activity
activity
,
Bundle
savedInstanceState
)
{
final
IPushNotificationsDrawer
notificationsDrawer
=
PushNotificationsDrawer
.
get
(
getReactApplicationContext
().
getApplicationContext
());
notificationsDrawer
.
onNewActivity
(
activity
);
}
@Override
public
void
onActivityStarted
(
Activity
activity
)
{
}
@Override
public
void
onActivityResumed
(
Activity
activity
)
{
}
@Override
public
void
onActivityPaused
(
Activity
activity
)
{
}
@Override
public
void
onActivityStopped
(
Activity
activity
)
{
}
@Override
public
void
onActivitySaveInstanceState
(
Activity
activity
,
Bundle
outState
)
{
}
@Override
public
void
onActivityDestroyed
(
Activity
activity
)
{
}
protected
void
startGcmIntentService
(
String
extraFlag
)
{
final
Context
appContext
=
getReactApplicationContext
().
getApplicationContext
();
final
Intent
tokenFetchIntent
=
new
Intent
(
appContext
,
FcmInstanceIdRefreshHandlerService
.
class
);
...
...
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java
View file @
8f807e80
package
com.wix.reactnativenotifications
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.util.Log
;
import
com.facebook.react.ReactPackage
;
import
com.facebook.react.bridge.ActivityEventListener
;
import
com.facebook.react.bridge.NativeModule
;
import
com.facebook.react.bridge.ReactApplicationContext
;
import
com.facebook.react.uimanager.ViewManager
;
import
com.google.firebase.FirebaseApp
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacadeHolder
;
import
com.wix.reactnativenotifications.core.notification.IPushNotification
;
import
com.wix.reactnativenotifications.core.notification.PushNotification
;
import
com.wix.reactnativenotifications.core.notificationdrawer.IPushNotificationsDrawer
;
import
com.wix.reactnativenotifications.core.notificationdrawer.PushNotificationsDrawer
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
public
class
RNNotificationsPackage
implements
ReactPackage
{
import
static
com
.
wix
.
reactnativenotifications
.
Defs
.
LOGTAG
;
public
class
RNNotificationsPackage
implements
ReactPackage
,
AppLifecycleFacade
.
AppVisibilityListener
,
Application
.
ActivityLifecycleCallbacks
{
private
final
Application
mApplication
;
public
RNNotificationsPackage
(
Application
application
)
{
mApplication
=
application
;
FirebaseApp
.
initializeApp
(
application
.
getApplicationContext
());
AppLifecycleFacadeHolder
.
get
().
addVisibilityListener
(
this
);
application
.
registerActivityLifecycleCallbacks
(
this
);
}
@Override
...
...
@@ -28,4 +47,52 @@ public class RNNotificationsPackage implements ReactPackage {
public
List
<
ViewManager
>
createViewManagers
(
ReactApplicationContext
reactContext
)
{
return
Collections
.
emptyList
();
}
@Override
public
void
onAppVisible
()
{
final
IPushNotificationsDrawer
notificationsDrawer
=
PushNotificationsDrawer
.
get
(
mApplication
.
getApplicationContext
());
notificationsDrawer
.
onAppVisible
();
}
@Override
public
void
onAppNotVisible
()
{
}
@Override
public
void
onActivityCreated
(
Activity
activity
,
Bundle
savedInstanceState
)
{
final
IPushNotificationsDrawer
notificationsDrawer
=
PushNotificationsDrawer
.
get
(
mApplication
.
getApplicationContext
());
notificationsDrawer
.
onNewActivity
(
activity
);
Bundle
notificationData
=
activity
.
getIntent
().
getExtras
();
if
(
notificationData
!=
null
)
{
final
IPushNotification
pushNotification
=
PushNotification
.
get
(
mApplication
.
getApplicationContext
(),
notificationData
);
if
(
pushNotification
!=
null
)
{
pushNotification
.
onOpened
();
}
}
}
@Override
public
void
onActivityStarted
(
Activity
activity
)
{
}
@Override
public
void
onActivityResumed
(
Activity
activity
)
{
}
@Override
public
void
onActivityPaused
(
Activity
activity
)
{
}
@Override
public
void
onActivityStopped
(
Activity
activity
)
{
}
@Override
public
void
onActivitySaveInstanceState
(
Activity
activity
,
Bundle
outState
)
{
}
@Override
public
void
onActivityDestroyed
(
Activity
activity
)
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment