Skip to content

Commit

Permalink
Fix hardcoded company name
Browse files Browse the repository at this point in the history
There was a problem that the company name specified in SDK configs on `init` was ignored even when no remote was loaded.
  • Loading branch information
gugalo authored and AH-MOC committed Aug 13, 2024
1 parent b4a7562 commit bdbbd38
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class CallActivityTest {
Dependencies.setResourceProvider(resourceProvider)

// set up StringProvider
val localeProvider = LocaleProvider(resourceProvider, sdkConfigurationManager.companyName)
val localeProvider = LocaleProvider(resourceProvider)
Dependencies.setLocaleProvider(localeProvider)

callStatus = mockk(relaxed = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public class Dependencies {
public static void onAppCreate(Application application) {
schedulers = new GliaWidgetsSchedulers();
resourceProvider = new ResourceProvider(application.getBaseContext());
localeProvider = new LocaleProvider(resourceProvider, sdkConfigurationManager.getCompanyName());
localeProvider = new LocaleProvider(resourceProvider);
notificationManager = new NotificationManager(application);
DownloadsFolderDataSource downloadsFolderDataSource = new DownloadsFolderDataSource(application);
repositoryFactory = new RepositoryFactory(gliaCore, downloadsFolderDataSource);
Expand Down Expand Up @@ -196,6 +196,7 @@ public static void init(@NonNull GliaWidgetsConfig gliaWidgetsConfig) {
controllerFactory.init();
repositoryFactory.getEngagementRepository().initialize();
sdkConfigurationManager.fromConfiguration(gliaWidgetsConfig);
localeProvider.setCompanyName(gliaWidgetsConfig.companyName);
}

public static ControllerFactory getControllerFactory() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ data class LocaleString(

@OpenForTesting
internal open class LocaleProvider @JvmOverloads constructor(
private val resourceProvider: IResourceProvider,
private val hardcodedCompanyName: String?
private val resourceProvider: IResourceProvider
) : StringProvider {

private var hardcodedCompanyName: String? = null
private val regex = "(\\{[a-zA-Z\\d]*\\})".toRegex()
private val localeObservable: Observable<String>
private val localeEmitter: Observer<String>
Expand Down Expand Up @@ -114,6 +114,10 @@ internal open class LocaleProvider @JvmOverloads constructor(
return localeObservable
}

fun setCompanyName(companyName: String?) {
hardcodedCompanyName = companyName
}

// Priority for remote company name but not found or no locales it will fall back to hardcoded one or "" if no hardcoded one
fun getCompanyName(): String {
var companyName = getStringInternal(R.string.general_company_name)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class GliaWidgetsTest {
Dependencies.setControllerFactory(controllerFactory)
repositoryFactory = mock()
Dependencies.setRepositoryFactory(repositoryFactory)
Dependencies.setLocaleProvider(mock())
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ internal interface SnapshotProviders: SnapshotContent, SnapshotTestLifecycle {

fun localeProviderMock(): LocaleProvider {
val resourceProvider = resourceProviderMock()
val localeProvider = object: LocaleProvider(resourceProvider, null) {
val localeProvider = object: LocaleProvider(resourceProvider) {
override fun getStringInternal(stringKey: Int, values: List<StringKeyPair>): String {
return snapshotLocales[stringKey] ?: context.resources.getResourceName(stringKey).split("/")[1]
}
Expand Down

0 comments on commit bdbbd38

Please sign in to comment.