55using System ;
66using System . Collections ;
77using System . Collections . Generic ;
8+ using System . Linq ;
89using UnityEngine ;
910
1011namespace UrbanAirship {
@@ -44,24 +45,6 @@ public string ChannelId {
4445 }
4546 }
4647
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-
6548 public string NamedUserId {
6649 get {
6750 return Call < string > ( "getNamedUserId" ) ;
@@ -180,6 +163,46 @@ public void EditNamedUserAttributes (string payload) {
180163 Call ( "editNamedUserAttributes" , payload ) ;
181164 }
182165
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+
183206 private void Call ( string method , params object [ ] args ) {
184207 if ( androidPlugin != null ) {
185208 androidPlugin . Call ( method , args ) ;
@@ -192,24 +215,6 @@ private T Call<T> (string method, params object[] args) {
192215 }
193216 return default ( T ) ;
194217 }
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- }
213218 }
214219}
215220
0 commit comments