Skip to content

Commit aa9d24b

Browse files
feat: Add support for the fontFilePathMap
1 parent 88c73b8 commit aa9d24b

6 files changed

Lines changed: 47 additions & 0 deletions

File tree

android-core/proguard.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@
206206
-keep class com.mparticle.rokt.CacheConfig { *; }
207207
-keep class com.mparticle.rokt.RoktEmbeddedView { *; }
208208
-keep class com.mparticle.rokt.RoktLayoutDimensionCallBack { *; }
209+
-keep class com.mparticle.rokt.RoktOptions { *; }
209210

210211
# Preserve all method signatures in the Rokt class to prevent overload resolution issues
211212
-keepclassmembers class com.mparticle.Rokt {

android-core/src/main/java/com/mparticle/MParticleOptions.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.mparticle.internal.SideloadedKit;
1616
import com.mparticle.networking.NetworkOptions;
1717
import com.mparticle.networking.NetworkOptionsManager;
18+
import com.mparticle.rokt.RoktOptions;
1819

1920
import org.json.JSONException;
2021
import org.json.JSONObject;
@@ -51,6 +52,7 @@ public class MParticleOptions {
5152
private NetworkOptions mNetworkOptions;
5253
private String mDataplanId;
5354
private Integer mDataplanVersion;
55+
private RoktOptions mRoktOptions;
5456
private MParticle.OperatingSystem mOperatingSystem = MParticle.OperatingSystem.ANDROID;
5557
private DataplanOptions mDataplanOptions;
5658
private Map<Class, List<Configuration>> mConfigurations = new HashMap();
@@ -143,6 +145,7 @@ public MParticleOptions(@NonNull Builder builder) {
143145
this.mOperatingSystem = builder.operatingSystem;
144146
}
145147
this.mNetworkOptions = NetworkOptionsManager.validateAndResolve(builder.networkOptions);
148+
this.mRoktOptions = builder.roktOptions;
146149
this.mDataplanId = builder.dataplanId;
147150
this.mDataplanVersion = builder.dataplanVersion;
148151
this.mDataplanOptions = builder.dataplanOptions;
@@ -335,6 +338,11 @@ public NetworkOptions getNetworkOptions() {
335338
return mNetworkOptions;
336339
}
337340

341+
@NonNull
342+
public RoktOptions getRoktOptions() {
343+
return mRoktOptions;
344+
}
345+
338346
@Nullable
339347
public String getDataplanId() {
340348
return mDataplanId;
@@ -409,6 +417,7 @@ public static class Builder {
409417
private Integer dataplanVersion;
410418
private MParticle.OperatingSystem operatingSystem;
411419
private DataplanOptions dataplanOptions;
420+
private RoktOptions roktOptions;
412421
private Map<Class, List<Configuration>> configurations = new HashMap();
413422
private boolean isAppDebuggable;
414423
private List<SideloadedKit> sideloadedKits = new ArrayList<>();
@@ -751,6 +760,12 @@ public Builder dataplanOptions(DataplanOptions dataplanOptions) {
751760
return this;
752761
}
753762

763+
@NonNull
764+
public Builder roktOptions(@NonNull RoktOptions roktOptions) {
765+
this.roktOptions = roktOptions;
766+
return this;
767+
}
768+
754769
/**
755770
* Register a {@link com.mparticle.Configuration}n. Various implementations of Configuration can modify the behavior of
756771
* the SDK at runtime.

android-core/src/main/java/com/mparticle/internal/KitFrameworkWrapper.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.mparticle.internal.listeners.InternalListenerManager;
2626
import com.mparticle.rokt.RoktConfig;
2727
import com.mparticle.rokt.RoktEmbeddedView;
28+
import com.mparticle.rokt.RoktOptions;
2829

2930
import org.json.JSONArray;
3031

@@ -509,6 +510,15 @@ public void updateDataplan(@Nullable MParticleOptions.DataplanOptions dataplanOp
509510
}
510511
}
511512

513+
@Override
514+
@NonNull
515+
public RoktOptions getRoktOptions() {
516+
if (mKitManager != null) {
517+
return mKitManager.getRoktOptions();
518+
}
519+
return mOptions != null ? mOptions.getRoktOptions() : new RoktOptions();
520+
}
521+
512522
@Override
513523
public Map<Integer, KitStatus> getKitStatus() {
514524
if (mKitManager != null) {

android-core/src/main/java/com/mparticle/internal/KitManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.mparticle.identity.MParticleUser;
2424
import com.mparticle.rokt.RoktConfig;
2525
import com.mparticle.rokt.RoktEmbeddedView;
26+
import com.mparticle.rokt.RoktOptions;
2627

2728
import org.json.JSONArray;
2829

@@ -87,6 +88,9 @@ public interface KitManager {
8788

8889
void updateDataplan(@NonNull MParticleOptions.DataplanOptions dataplanOptions);
8990

91+
@NonNull
92+
RoktOptions getRoktOptions();
93+
9094
@NonNull
9195
Map<Integer, KitStatus> getKitStatus();
9296

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.mparticle.rokt
2+
3+
class RoktOptions @JvmOverloads constructor(
4+
val fontFilePathMap: Map<String, String> = emptyMap(),
5+
val fontPostScriptNames: Set<String> = emptySet()
6+
)

android-kit-base/src/main/java/com/mparticle/kits/KitManagerImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import com.mparticle.kits.mappings.CustomMapping;
4848
import com.mparticle.rokt.RoktConfig;
4949
import com.mparticle.rokt.RoktEmbeddedView;
50+
import com.mparticle.rokt.RoktOptions;
5051

5152
import org.json.JSONArray;
5253
import org.json.JSONException;
@@ -81,6 +82,7 @@ public class KitManagerImpl implements KitManager, AttributionListener, UserAttr
8182
KitIntegrationFactory mKitIntegrationFactory;
8283
private DataplanFilter mDataplanFilter = DataplanFilterImpl.EMPTY;
8384
private KitOptions mKitOptions;
85+
private RoktOptions mRoktOptions;
8486
private volatile List<KitConfiguration> kitConfigurations = new ArrayList<>();
8587

8688
private static final String RESERVED_KEY_LTV = "$Amount";
@@ -99,6 +101,9 @@ public KitManagerImpl(Context context, ReportingManager reportingManager, CoreCa
99101
mReportingManager = reportingManager;
100102
mCoreCallbacks = coreCallbacks;
101103
mKitIntegrationFactory = new KitIntegrationFactory(options);
104+
if (options != null) {
105+
mRoktOptions = options.getRoktOptions();
106+
}
102107
MParticle instance = MParticle.getInstance();
103108
if (instance != null) {
104109
instance.Identity().addIdentityStateListener(this);
@@ -199,6 +204,12 @@ public void updateDataplan(@Nullable MParticleOptions.DataplanOptions dataplanOp
199204
}
200205
}
201206

207+
@Override
208+
@NonNull
209+
public RoktOptions getRoktOptions() {
210+
return mRoktOptions != null ? mRoktOptions : new RoktOptions();
211+
}
212+
202213
/**
203214
* Update the current list of active kits based on server (or cached) configuration.
204215
* <p>

0 commit comments

Comments
 (0)