2
2
3
3
import android .content .Context ;
4
4
import android .content .SharedPreferences ;
5
- import android .content .SharedPreferences .Editor ;
5
+
6
+ import java .util .Arrays ;
7
+ import java .util .HashSet ;
8
+ import java .util .Set ;
6
9
7
10
public class NotificationHubUtil {
8
11
private static NotificationHubUtil sharedNotificationHubUtilInstance = null ;
@@ -17,7 +20,8 @@ public class NotificationHubUtil {
17
20
"AzureNotificationHub_hubName" ;
18
21
private static final String KEY_FOR_PREFS_FCMTOKEN =
19
22
"AzureNotificationHub_FCMToken" ;
20
-
23
+ private static final String KEY_FOR_PREFS_TAGS =
24
+ "AzureNotificationHub_Tags" ;
21
25
22
26
public static NotificationHubUtil getInstance () {
23
27
if (sharedNotificationHubUtilInstance == null ) {
@@ -27,41 +31,57 @@ public static NotificationHubUtil getInstance() {
27
31
}
28
32
29
33
public String getConnectionString (Context context ) {
30
- return getPref (context , KEY_FOR_PREFS_CONNECTIONSTRING , null );
34
+ return getPref (context , KEY_FOR_PREFS_CONNECTIONSTRING );
31
35
}
32
36
33
37
public void setConnectionString (Context context , String connectionString ) {
34
38
setPref (context , KEY_FOR_PREFS_CONNECTIONSTRING , connectionString );
35
39
}
36
40
37
41
public String getHubName (Context context ) {
38
- return getPref (context , KEY_FOR_PREFS_HUBNAME , null );
42
+ return getPref (context , KEY_FOR_PREFS_HUBNAME );
39
43
}
40
44
41
45
public void setHubName (Context context , String hubName ) {
42
46
setPref (context , KEY_FOR_PREFS_HUBNAME , hubName );
43
47
}
44
48
45
49
public String getRegistrationID (Context context ) {
46
- return getPref (context , KEY_FOR_PREFS_REGISTRATIONID , null );
50
+ return getPref (context , KEY_FOR_PREFS_REGISTRATIONID );
47
51
}
48
52
49
53
public void setRegistrationID (Context context , String registrationID ) {
50
54
setPref (context , KEY_FOR_PREFS_REGISTRATIONID , registrationID );
51
55
}
52
56
53
57
public String getFCMToken (Context context ) {
54
- return getPref (context , KEY_FOR_PREFS_FCMTOKEN , null );
58
+ return getPref (context , KEY_FOR_PREFS_FCMTOKEN );
55
59
}
56
60
57
61
public void setFCMToken (Context context , String token ) {
58
62
setPref (context , KEY_FOR_PREFS_FCMTOKEN , token );
59
63
}
60
64
61
- private String getPref (Context context , String key , String defaultValue ) {
65
+ public String [] getTags (Context context ) {
66
+ Set <String > set = getPrefSet (context , KEY_FOR_PREFS_TAGS );
67
+ return set != null ? set .toArray (new String [set .size ()]) : null ;
68
+ }
69
+
70
+ public void setTags (Context context , String [] tags ) {
71
+ Set <String > set = tags != null ? new HashSet <>(Arrays .asList (tags )) : null ;
72
+ setPrefSet (context , KEY_FOR_PREFS_TAGS , set );
73
+ }
74
+
75
+ private String getPref (Context context , String key ) {
62
76
SharedPreferences prefs =
63
77
context .getSharedPreferences (SHARED_PREFS_NAME , Context .MODE_PRIVATE );
64
- return prefs .getString (key , defaultValue );
78
+ return prefs .getString (key , null );
79
+ }
80
+
81
+ private Set <String > getPrefSet (Context context , String key ) {
82
+ SharedPreferences prefs =
83
+ context .getSharedPreferences (SHARED_PREFS_NAME , Context .MODE_PRIVATE );
84
+ return prefs .getStringSet (key , null );
65
85
}
66
86
67
87
private void setPref (Context context , String key , String value ) {
@@ -70,4 +90,11 @@ private void setPref(Context context, String key, String value) {
70
90
editor .putString (key , value );
71
91
editor .apply ();
72
92
}
93
+
94
+ private void setPrefSet (Context context , String key , Set <String > value ) {
95
+ SharedPreferences .Editor editor =
96
+ context .getSharedPreferences (SHARED_PREFS_NAME , Context .MODE_PRIVATE ).edit ();
97
+ editor .putStringSet (key , value );
98
+ editor .apply ();
99
+ }
73
100
}
0 commit comments