5
5
using System ;
6
6
using System . Collections ;
7
7
using System . Collections . Generic ;
8
+ using System . Linq ;
8
9
using UnityEngine ;
9
10
10
11
namespace UrbanAirship {
@@ -44,24 +45,6 @@ public string ChannelId {
44
45
}
45
46
}
46
47
47
- public bool LocationEnabled {
48
- get {
49
- return Call < bool > ( "isLocationEnabled" ) ;
50
- }
51
- set {
52
- Call ( "setLocationEnabled" , value ) ;
53
- }
54
- }
55
-
56
- public bool BackgroundLocationAllowed {
57
- get {
58
- return Call < bool > ( "isBackgroundLocationAllowed" ) ;
59
- }
60
- set {
61
- Call ( "setBackgroundLocationAllowed" , value ) ;
62
- }
63
- }
64
-
65
48
public string NamedUserId {
66
49
get {
67
50
return Call < string > ( "getNamedUserId" ) ;
@@ -180,6 +163,46 @@ public void EditNamedUserAttributes (string payload) {
180
163
Call ( "editNamedUserAttributes" , payload ) ;
181
164
}
182
165
166
+ public void OpenPreferenceCenter ( string preferenceCenterId ) {
167
+ Call ( "openPreferenceCenter" , preferenceCenterId ) ;
168
+ }
169
+
170
+ public void SetEnabledFeatures ( string [ ] enabledFeatures ) {
171
+ Call ( "setEnabledFeatures" , MakeJavaArray ( enabledFeatures ) ) ;
172
+ }
173
+
174
+ public void EnableFeatures ( string [ ] enabledFeatures ) {
175
+ Call ( "enableFeatures" , MakeJavaArray ( enabledFeatures ) ) ;
176
+ }
177
+
178
+ public void DisableFeatures ( string [ ] disabledFeatures ) {
179
+ Call ( "disableFeatures" , MakeJavaArray ( disabledFeatures ) ) ;
180
+ }
181
+
182
+ public bool IsFeatureEnabled ( string [ ] features ) {
183
+ return Call < bool > ( "isFeatureEnabled" , MakeJavaArray ( features ) ) ;
184
+ }
185
+
186
+ public bool IsAnyFeatureEnabled ( string [ ] features ) {
187
+ return Call < bool > ( "isAnyFeatureEnabled" , MakeJavaArray ( features ) ) ;
188
+ }
189
+
190
+ public string [ ] GetEnabledFeatures ( ) {
191
+ return Call < string [ ] > ( "getEnabledFeatures" ) ;
192
+ }
193
+
194
+ /// Internal method to make a Java Array with an array of String values, to be used with the
195
+ /// "setEnabledFeatures" method.
196
+ private AndroidJavaObject MakeJavaArray ( string [ ] values ) {
197
+ AndroidJavaClass arrayClass = new AndroidJavaClass ( "java.lang.reflect.Array" ) ;
198
+ AndroidJavaObject arrayObject = arrayClass . CallStatic < AndroidJavaObject > ( "newInstance" , new AndroidJavaClass ( "java.lang.String" ) , values . Count ( ) ) ;
199
+ for ( int i = 0 ; i < values . Count ( ) ; ++ i ) {
200
+ arrayClass . CallStatic ( "set" , arrayObject , i , new AndroidJavaObject ( "java.lang.String" , values [ i ] ) ) ;
201
+ }
202
+
203
+ return arrayObject ;
204
+ }
205
+
183
206
private void Call ( string method , params object [ ] args ) {
184
207
if ( androidPlugin != null ) {
185
208
androidPlugin . Call ( method , args ) ;
@@ -192,24 +215,6 @@ private T Call<T> (string method, params object[] args) {
192
215
}
193
216
return default ( T ) ;
194
217
}
195
-
196
- public bool DataCollectionEnabled {
197
- get {
198
- return Call < bool > ( "isDataCollectionEnabled" ) ;
199
- }
200
- set {
201
- Call ( "setDataCollectionEnabled" , value ) ;
202
- }
203
- }
204
-
205
- public bool PushTokenRegistrationEnabled {
206
- get {
207
- return Call < bool > ( "isPushTokenRegistrationEnabled" ) ;
208
- }
209
- set {
210
- Call ( "setPushTokenRegistrationEnabled" , value ) ;
211
- }
212
- }
213
218
}
214
219
}
215
220
0 commit comments