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
d2000cfc
Commit
d2000cfc
authored
Dec 01, 2016
by
d4vidi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor business logic objects getters
parent
ca6220fe
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
64 additions
and
55 deletions
+64
-55
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
...m/wix/reactnativenotifications/RNNotificationsModule.java
+11
-5
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java
.../wix/reactnativenotifications/RNNotificationsPackage.java
+0
-1
android/src/main/java/com/wix/reactnativenotifications/core/AppLifecycleFacadeHolder.java
...actnativenotifications/core/AppLifecycleFacadeHolder.java
+14
-0
android/src/main/java/com/wix/reactnativenotifications/core/InitialNotificationHolder.java
...ctnativenotifications/core/InitialNotificationHolder.java
+6
-6
android/src/main/java/com/wix/reactnativenotifications/core/ProxyService.java
...a/com/wix/reactnativenotifications/core/ProxyService.java
+1
-1
android/src/main/java/com/wix/reactnativenotifications/core/ReactAppLifecycleFacade.java
...eactnativenotifications/core/ReactAppLifecycleFacade.java
+0
-6
android/src/main/java/com/wix/reactnativenotifications/core/notification/INotificationsApplication.java
...ications/core/notification/INotificationsApplication.java
+1
-1
android/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
...tivenotifications/core/notification/PushNotification.java
+7
-10
android/src/main/java/com/wix/reactnativenotifications/core/notificationdrawer/PushNotificationsDrawer.java
...ions/core/notificationdrawer/PushNotificationsDrawer.java
+2
-2
android/src/main/java/com/wix/reactnativenotifications/gcm/GcmMessageHandlerService.java
...eactnativenotifications/gcm/GcmMessageHandlerService.java
+1
-2
android/src/test/java/com/wix/reactnativenotifications/core/InitialNotificationHolderTest.java
...tivenotifications/core/InitialNotificationHolderTest.java
+9
-9
android/src/test/java/com/wix/reactnativenotifications/core/notification/PushNotificationTest.java
...notifications/core/notification/PushNotificationTest.java
+6
-6
android/src/test/java/com/wix/reactnativenotifications/core/notificationdrawer/PushNotificationsDrawerTest.java
.../core/notificationdrawer/PushNotificationsDrawerTest.java
+6
-6
No files found.
android/src/main/java/com/wix/reactnativenotifications/
core/
RNNotificationsModule.java
→
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
View file @
d2000cfc
package
com.wix.reactnativenotifications
.core
;
package
com.wix.reactnativenotifications
;
import
android.app.Activity
;
import
android.app.Application
;
...
...
@@ -13,6 +13,10 @@ import com.facebook.react.bridge.ReactApplicationContext;
import
com.facebook.react.bridge.ReactContextBaseJavaModule
;
import
com.facebook.react.bridge.ReactMethod
;
import
com.facebook.react.bridge.ReadableMap
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacadeHolder
;
import
com.wix.reactnativenotifications.core.InitialNotificationHolder
;
import
com.wix.reactnativenotifications.core.ReactAppLifecycleFacade
;
import
com.wix.reactnativenotifications.core.notification.IPushNotification
;
import
com.wix.reactnativenotifications.core.notification.PushNotification
;
import
com.wix.reactnativenotifications.core.notification.PushNotificationProps
;
...
...
@@ -27,8 +31,10 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
public
RNNotificationsModule
(
Application
application
,
ReactApplicationContext
reactContext
)
{
super
(
reactContext
);
ReactAppLifecycleFacade
.
get
().
init
(
reactContext
);
ReactAppLifecycleFacade
.
get
().
addVisibilityListener
(
this
);
if
(
AppLifecycleFacadeHolder
.
get
()
instanceof
ReactAppLifecycleFacade
)
{
((
ReactAppLifecycleFacade
)
AppLifecycleFacadeHolder
.
get
()).
init
(
reactContext
);
}
AppLifecycleFacadeHolder
.
get
().
addVisibilityListener
(
this
);
application
.
registerActivityLifecycleCallbacks
(
this
);
}
...
...
@@ -58,7 +64,7 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
Object
result
=
null
;
try
{
final
PushNotificationProps
notification
=
InitialNotification
.
getInstance
().
get
();
final
PushNotificationProps
notification
=
InitialNotification
Holder
.
getInstance
().
get
();
if
(
notification
==
null
)
{
return
;
}
...
...
@@ -73,7 +79,7 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
public
void
postLocalNotification
(
ReadableMap
notificationPropsMap
,
int
notificationId
)
{
Log
.
d
(
LOGTAG
,
"Native method invocation: postLocalNotification"
);
final
Bundle
notificationProps
=
Arguments
.
toBundle
(
notificationPropsMap
);
final
IPushNotification
pushNotification
=
PushNotification
.
get
(
getReactApplicationContext
().
getApplicationContext
(),
notificationProps
,
ReactAppLifecycleFacade
.
get
()
);
final
IPushNotification
pushNotification
=
PushNotification
.
get
(
getReactApplicationContext
().
getApplicationContext
(),
notificationProps
);
pushNotification
.
onPostRequest
(
notificationId
);
}
...
...
android/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java
View file @
d2000cfc
...
...
@@ -7,7 +7,6 @@ import com.facebook.react.bridge.JavaScriptModule;
import
com.facebook.react.bridge.NativeModule
;
import
com.facebook.react.bridge.ReactApplicationContext
;
import
com.facebook.react.uimanager.ViewManager
;
import
com.wix.reactnativenotifications.core.RNNotificationsModule
;
import
java.util.Arrays
;
import
java.util.Collections
;
...
...
android/src/main/java/com/wix/reactnativenotifications/core/AppLifecycleFacadeHolder.java
0 → 100644
View file @
d2000cfc
package
com.wix.reactnativenotifications.core
;
public
class
AppLifecycleFacadeHolder
{
protected
static
AppLifecycleFacade
sInstance
=
new
ReactAppLifecycleFacade
();
public
static
AppLifecycleFacade
get
()
{
return
sInstance
;
}
public
static
void
set
(
AppLifecycleFacade
facade
)
{
sInstance
=
facade
;
}
}
android/src/main/java/com/wix/reactnativenotifications/core/InitialNotification.java
→
android/src/main/java/com/wix/reactnativenotifications/core/InitialNotification
Holder
.java
View file @
d2000cfc
...
...
@@ -4,22 +4,22 @@ import android.support.annotation.Nullable;
import
com.wix.reactnativenotifications.core.notification.PushNotificationProps
;
public
class
InitialNotification
{
public
class
InitialNotification
Holder
{
private
static
InitialNotification
sInstance
;
private
static
InitialNotification
Holder
sInstance
;
private
PushNotificationProps
mNotification
;
public
static
void
setInstance
(
InitialNotification
instance
)
{
public
static
void
setInstance
(
InitialNotification
Holder
instance
)
{
sInstance
=
instance
;
}
/*package*/
InitialNotification
()
{
/*package*/
InitialNotification
Holder
()
{
}
public
static
InitialNotification
getInstance
()
{
public
static
InitialNotification
Holder
getInstance
()
{
if
(
sInstance
==
null
)
{
sInstance
=
new
InitialNotification
();
sInstance
=
new
InitialNotification
Holder
();
}
return
sInstance
;
}
...
...
android/src/main/java/com/wix/reactnativenotifications/core/ProxyService.java
View file @
d2000cfc
...
...
@@ -20,7 +20,7 @@ public class ProxyService extends IntentService {
protected
void
onHandleIntent
(
Intent
intent
)
{
Log
.
d
(
TAG
,
"New intent: "
+
intent
);
final
Bundle
notificationData
=
NotificationIntentAdapter
.
extractPendingNotificationDataFromIntent
(
intent
);
final
IPushNotification
pushNotification
=
PushNotification
.
get
(
this
,
notificationData
,
ReactAppLifecycleFacade
.
get
()
);
final
IPushNotification
pushNotification
=
PushNotification
.
get
(
this
,
notificationData
);
if
(
pushNotification
!=
null
)
{
pushNotification
.
onOpened
();
}
...
...
android/src/main/java/com/wix/reactnativenotifications/core/ReactAppLifecycleFacade.java
View file @
d2000cfc
...
...
@@ -12,16 +12,10 @@ import static com.wix.reactnativenotifications.Defs.LOGTAG;
public
class
ReactAppLifecycleFacade
implements
AppLifecycleFacade
{
private
static
final
ReactAppLifecycleFacade
sInstance
=
new
ReactAppLifecycleFacade
();
private
ReactContext
mReactContext
;
private
boolean
mIsVisible
;
private
Set
<
AppVisibilityListener
>
mListeners
=
new
CopyOnWriteArraySet
<>();
public
static
ReactAppLifecycleFacade
get
()
{
return
sInstance
;
}
public
void
init
(
ReactContext
reactContext
)
{
mReactContext
=
reactContext
;
reactContext
.
addLifecycleEventListener
(
new
LifecycleEventListener
()
{
...
...
android/src/main/java/com/wix/reactnativenotifications/core/notification/INotificationsApplication.java
View file @
d2000cfc
...
...
@@ -7,5 +7,5 @@ import com.wix.reactnativenotifications.core.AppLaunchHelper;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade
;
public
interface
INotificationsApplication
{
IPushNotification
getPushNotification
(
Context
context
,
Bundle
bundle
,
AppLifecycleFacade
defaultF
acade
,
AppLaunchHelper
defaultAppLaunchHelper
);
IPushNotification
getPushNotification
(
Context
context
,
Bundle
bundle
,
AppLifecycleFacade
f
acade
,
AppLaunchHelper
defaultAppLaunchHelper
);
}
android/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
View file @
d2000cfc
...
...
@@ -11,10 +11,11 @@ import com.facebook.react.bridge.ReactContext;
import
com.wix.reactnativenotifications.core.AppLaunchHelper
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade.AppVisibilityListener
;
import
com.wix.reactnativenotifications.core.InitialNotification
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacadeHolder
;
import
com.wix.reactnativenotifications.core.InitialNotificationHolder
;
import
com.wix.reactnativenotifications.core.JsIOHelper
;
import
com.wix.reactnativenotifications.core.NotificationIntentAdapter
;
import
com.wix.reactnativenotifications.core.ProxyService
;
import
com.wix.reactnativenotifications.core.JsIOHelper
;
import
static
com
.
wix
.
reactnativenotifications
.
Defs
.
NOTIFICATION_OPENED_EVENT_NAME
;
import
static
com
.
wix
.
reactnativenotifications
.
Defs
.
NOTIFICATION_RECEIVED_EVENT_NAME
;
...
...
@@ -38,16 +39,12 @@ public class PushNotification implements IPushNotification {
}
};
public
static
IPushNotification
get
(
Context
context
,
Bundle
bundle
,
AppLifecycleFacade
facade
)
{
return
PushNotification
.
get
(
context
,
bundle
,
facade
,
new
AppLaunchHelper
());
}
public
static
IPushNotification
get
(
Context
context
,
Bundle
bundle
,
AppLifecycleFacade
facade
,
AppLaunchHelper
appLaunchHelper
)
{
public
static
IPushNotification
get
(
Context
context
,
Bundle
bundle
)
{
Context
appContext
=
context
.
getApplicationContext
();
if
(
appContext
instanceof
INotificationsApplication
)
{
return
((
INotificationsApplication
)
appContext
).
getPushNotification
(
context
,
bundle
,
facade
,
appLaunchHelper
);
return
((
INotificationsApplication
)
appContext
).
getPushNotification
(
context
,
bundle
,
AppLifecycleFacadeHolder
.
get
(),
new
AppLaunchHelper
()
);
}
return
new
PushNotification
(
context
,
bundle
,
facade
,
appLaunchHelper
,
new
JsIOHelper
());
return
new
PushNotification
(
context
,
bundle
,
AppLifecycleFacadeHolder
.
get
(),
new
AppLaunchHelper
()
,
new
JsIOHelper
());
}
protected
PushNotification
(
Context
context
,
Bundle
bundle
,
AppLifecycleFacade
appLifecycleFacade
,
AppLaunchHelper
appLaunchHelper
,
JsIOHelper
JsIOHelper
)
{
...
...
@@ -110,7 +107,7 @@ public class PushNotification implements IPushNotification {
}
protected
void
setAsInitialNotification
()
{
InitialNotification
.
getInstance
().
set
(
mNotificationProps
);
InitialNotification
Holder
.
getInstance
().
set
(
mNotificationProps
);
}
protected
void
dispatchImmediately
()
{
...
...
android/src/main/java/com/wix/reactnativenotifications/core/notificationdrawer/PushNotificationsDrawer.java
View file @
d2000cfc
...
...
@@ -5,7 +5,7 @@ import android.app.NotificationManager;
import
android.content.Context
;
import
com.wix.reactnativenotifications.core.AppLaunchHelper
;
import
com.wix.reactnativenotifications.core.InitialNotification
;
import
com.wix.reactnativenotifications.core.InitialNotification
Holder
;
public
class
PushNotificationsDrawer
implements
IPushNotificationsDrawer
{
...
...
@@ -45,7 +45,7 @@ public class PushNotificationsDrawer implements IPushNotificationsDrawer {
boolean
launchIntentsActivity
=
mAppLaunchHelper
.
isLaunchIntentsActivity
(
activity
);
boolean
launchIntentOfNotification
=
mAppLaunchHelper
.
isLaunchIntentOfNotification
(
activity
.
getIntent
());
if
(
launchIntentsActivity
&&
!
launchIntentOfNotification
)
{
InitialNotification
.
getInstance
().
clear
();
InitialNotification
Holder
.
getInstance
().
clear
();
}
}
...
...
android/src/main/java/com/wix/reactnativenotifications/gcm/GcmMessageHandlerService.java
View file @
d2000cfc
...
...
@@ -6,7 +6,6 @@ import android.util.Log;
import
com.google.android.gms.gcm.GcmListenerService
;
import
com.wix.reactnativenotifications.core.notification.IPushNotification
;
import
com.wix.reactnativenotifications.core.notification.PushNotification
;
import
com.wix.reactnativenotifications.core.ReactAppLifecycleFacade
;
import
static
com
.
wix
.
reactnativenotifications
.
Defs
.
LOGTAG
;
...
...
@@ -17,7 +16,7 @@ public class GcmMessageHandlerService extends GcmListenerService {
Log
.
d
(
LOGTAG
,
"New message from GCM: "
+
bundle
);
try
{
final
IPushNotification
notification
=
PushNotification
.
get
(
getApplicationContext
(),
bundle
,
ReactAppLifecycleFacade
.
get
()
);
final
IPushNotification
notification
=
PushNotification
.
get
(
getApplicationContext
(),
bundle
);
notification
.
onReceived
();
}
catch
(
IPushNotification
.
InvalidNotificationException
e
)
{
// A GCM message, yes - but not the kind we know how to work with.
...
...
android/src/test/java/com/wix/reactnativenotifications/core/InitialNotificationTest.java
→
android/src/test/java/com/wix/reactnativenotifications/core/InitialNotification
Holder
Test.java
View file @
d2000cfc
...
...
@@ -10,18 +10,18 @@ import static org.junit.Assert.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
class
InitialNotificationTest
{
public
class
InitialNotification
Holder
Test
{
@Test
public
void
initialState
()
throws
Exception
{
final
InitialNotification
uut
=
createUUT
();
final
InitialNotification
Holder
uut
=
createUUT
();
assertNull
(
uut
.
get
());
}
@Test
public
void
setsInitialNotification
()
throws
Exception
{
PushNotificationProps
props
=
mock
(
PushNotificationProps
.
class
);
final
InitialNotification
uut
=
createUUT
();
final
InitialNotification
Holder
uut
=
createUUT
();
uut
.
set
(
props
);
assertEquals
(
props
,
uut
.
get
());
}
...
...
@@ -29,7 +29,7 @@ public class InitialNotificationTest {
@Test
public
void
clearsInitialNotification
()
throws
Exception
{
PushNotificationProps
props
=
mock
(
PushNotificationProps
.
class
);
final
InitialNotification
uut
=
createUUT
();
final
InitialNotification
Holder
uut
=
createUUT
();
uut
.
set
(
props
);
uut
.
clear
();
assertNull
(
uut
.
get
());
...
...
@@ -39,7 +39,7 @@ public class InitialNotificationTest {
public
void
replacesInitialNotification
()
throws
Exception
{
PushNotificationProps
props1
=
mock
(
PushNotificationProps
.
class
);
PushNotificationProps
props2
=
mock
(
PushNotificationProps
.
class
);
final
InitialNotification
uut
=
createUUT
();
final
InitialNotification
Holder
uut
=
createUUT
();
uut
.
set
(
props1
);
uut
.
set
(
props2
);
assertNotEquals
(
props1
,
props2
);
...
...
@@ -48,12 +48,12 @@ public class InitialNotificationTest {
@Test
public
void
isALazySingleton
()
throws
Exception
{
final
InitialNotification
instance
=
InitialNotification
.
getInstance
();
final
InitialNotification
Holder
instance
=
InitialNotificationHolder
.
getInstance
();
assertNotNull
(
instance
);
assertEquals
(
instance
,
InitialNotification
.
getInstance
());
assertEquals
(
instance
,
InitialNotification
Holder
.
getInstance
());
}
private
InitialNotification
createUUT
()
{
return
new
InitialNotification
();
private
InitialNotification
Holder
createUUT
()
{
return
new
InitialNotification
Holder
();
}
}
\ No newline at end of file
android/src/test/java/com/wix/reactnativenotifications/core/notification/PushNotificationTest.java
View file @
d2000cfc
...
...
@@ -12,7 +12,7 @@ import com.facebook.react.bridge.ReactContext;
import
com.wix.reactnativenotifications.core.AppLaunchHelper
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade
;
import
com.wix.reactnativenotifications.core.AppLifecycleFacade.AppVisibilityListener
;
import
com.wix.reactnativenotifications.core.InitialNotification
;
import
com.wix.reactnativenotifications.core.InitialNotification
Holder
;
import
com.wix.reactnativenotifications.core.JsIOHelper
;
import
org.junit.Before
;
...
...
@@ -58,7 +58,7 @@ public class PushNotificationTest {
@Before
public
void
setup
()
throws
Exception
{
MockitoAnnotations
.
initMocks
(
this
);
InitialNotification
.
setInstance
(
mock
(
InitialNotification
.
class
));
InitialNotification
Holder
.
setInstance
(
mock
(
InitialNotificationHolder
.
class
));
when
(
mDefaultBundle
.
getString
(
eq
(
"title"
))).
thenReturn
(
DEFAULT_NOTIFICATION_TITLE
);
when
(
mDefaultBundle
.
getString
(
eq
(
"body"
))).
thenReturn
(
DEFAULT_NOTIFICATION_BODY
);
...
...
@@ -96,7 +96,7 @@ public class PushNotificationTest {
final
PushNotification
uut
=
createUUT
();
uut
.
onOpened
();
verify
(
InitialNotification
.
getInstance
()).
set
(
any
(
PushNotificationProps
.
class
));
verify
(
InitialNotification
Holder
.
getInstance
()).
set
(
any
(
PushNotificationProps
.
class
));
}
@Test
...
...
@@ -119,7 +119,7 @@ public class PushNotificationTest {
final
PushNotification
uut
=
createUUT
();
uut
.
onOpened
();
verify
(
InitialNotification
.
getInstance
(),
never
()).
set
(
any
(
PushNotificationProps
.
class
));
verify
(
InitialNotification
Holder
.
getInstance
(),
never
()).
set
(
any
(
PushNotificationProps
.
class
));
}
@Test
...
...
@@ -176,7 +176,7 @@ public class PushNotificationTest {
final
PushNotification
uut
=
createUUT
();
uut
.
onOpened
();
verify
(
InitialNotification
.
getInstance
(),
never
()).
set
(
any
(
PushNotificationProps
.
class
));
verify
(
InitialNotification
Holder
.
getInstance
(),
never
()).
set
(
any
(
PushNotificationProps
.
class
));
}
@Test
...
...
@@ -187,7 +187,7 @@ public class PushNotificationTest {
final
PushNotification
uut
=
createUUT
();
uut
.
onOpened
();
verify
(
InitialNotification
.
getInstance
()).
set
(
any
(
PushNotificationProps
.
class
));
verify
(
InitialNotification
Holder
.
getInstance
()).
set
(
any
(
PushNotificationProps
.
class
));
}
@Test
...
...
android/src/test/java/com/wix/reactnativenotifications/core/notificationdrawer/PushNotificationsDrawerTest.java
View file @
d2000cfc
...
...
@@ -7,7 +7,7 @@ import android.content.Intent;
import
com.facebook.react.bridge.ReactContext
;
import
com.wix.reactnativenotifications.core.AppLaunchHelper
;
import
com.wix.reactnativenotifications.core.InitialNotification
;
import
com.wix.reactnativenotifications.core.InitialNotification
Holder
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -35,7 +35,7 @@ public class PushNotificationsDrawerTest {
public
void
setup
()
throws
Exception
{
MockitoAnnotations
.
initMocks
(
this
);
InitialNotification
.
setInstance
(
mock
(
InitialNotification
.
class
));
InitialNotification
Holder
.
setInstance
(
mock
(
InitialNotificationHolder
.
class
));
when
(
mContext
.
getSystemService
(
Context
.
NOTIFICATION_SERVICE
)).
thenReturn
(
mNotificationManager
);
}
...
...
@@ -60,7 +60,7 @@ public class PushNotificationsDrawerTest {
@Test
public
void
onNewActivity_activityIsTheOneLaunchedByNotifs_clearInitialNotification
()
throws
Exception
{
verify
(
InitialNotification
.
getInstance
(),
never
()).
clear
();
verify
(
InitialNotification
Holder
.
getInstance
(),
never
()).
clear
();
Activity
activity
=
mock
(
Activity
.
class
);
Intent
intent
=
mock
(
Intent
.
class
);
...
...
@@ -70,7 +70,7 @@ public class PushNotificationsDrawerTest {
createUUT
().
onNewActivity
(
activity
);
verify
(
InitialNotification
.
getInstance
()).
clear
();
verify
(
InitialNotification
Holder
.
getInstance
()).
clear
();
}
@Test
...
...
@@ -83,7 +83,7 @@ public class PushNotificationsDrawerTest {
createUUT
().
onNewActivity
(
activity
);
verify
(
InitialNotification
.
getInstance
(),
never
()).
clear
();
verify
(
InitialNotification
Holder
.
getInstance
(),
never
()).
clear
();
}
@Test
...
...
@@ -96,7 +96,7 @@ public class PushNotificationsDrawerTest {
createUUT
().
onNewActivity
(
activity
);
verify
(
InitialNotification
.
getInstance
(),
never
()).
clear
();
verify
(
InitialNotification
Holder
.
getInstance
(),
never
()).
clear
();
}
protected
PushNotificationsDrawer
createUUT
()
{
...
...
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