Skip to content

Commit 4128010

Browse files
authored
Merge pull request #7 from plaidev/feat/nubrick
feat: rename to nubrick
2 parents 8a9ee85 + c385163 commit 4128010

13 files changed

Lines changed: 97 additions & 93 deletions

File tree

.github/workflows/test-android.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
- README.md
88
pull_request:
99
branches: [ main ]
10-
paths:
10+
paths-ignore:
1111
- README.md
1212

1313
concurrency:

app/src/main/java/com/nativebrik/example/MainActivity.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,25 @@ import androidx.compose.runtime.Composable
1515
import androidx.compose.ui.Modifier
1616
import androidx.compose.ui.tooling.preview.Preview
1717
import androidx.compose.ui.unit.dp
18-
import com.nativebrik.example.ui.theme.NativebrikAndroidTheme
18+
import com.nativebrik.example.ui.theme.NubrickAndroidTheme
1919
import com.nativebrik.sdk.Config
20-
import com.nativebrik.sdk.Nativebrik
21-
import com.nativebrik.sdk.NativebrikClient
22-
import com.nativebrik.sdk.NativebrikProvider
20+
import com.nativebrik.sdk.Nubrick
21+
import com.nativebrik.sdk.NubrickClient
22+
import com.nativebrik.sdk.NubrickProvider
2323

2424
class MainActivity : ComponentActivity() {
25-
private lateinit var nativebrik: NativebrikClient
25+
private lateinit var nubrick: NubrickClient
2626

2727
override fun onCreate(savedInstanceState: Bundle?) {
2828
super.onCreate(savedInstanceState)
29-
this.nativebrik = NativebrikClient(
29+
this.nubrick = NubrickClient(
3030
config = Config(projectId = "cgv3p3223akg00fod19g"),
3131
context = this.applicationContext,
3232
)
3333

3434
setContent {
35-
NativebrikAndroidTheme {
36-
NativebrikProvider(client = nativebrik) {
35+
NubrickAndroidTheme {
36+
NubrickProvider(client = nubrick) {
3737
// A surface container using the 'background' color from the theme
3838
Surface(
3939
modifier = Modifier.fillMaxSize(),
@@ -42,12 +42,12 @@ class MainActivity : ComponentActivity() {
4242
Column(
4343
modifier = Modifier.verticalScroll(rememberScrollState())
4444
) {
45-
Nativebrik.client.experiment.Embedding(
45+
Nubrick.client.experiment.Embedding(
4646
"HEADER_INFORMATION",
4747
arguments = emptyMap<String, String>(),
4848
modifier = Modifier.height(100f.dp),
4949
)
50-
Nativebrik.client.experiment.Embedding(
50+
Nubrick.client.experiment.Embedding(
5151
"TOP_COMPONENT",
5252
arguments = emptyMap<String, String>(),
5353
modifier = Modifier.height(270f.dp),
@@ -60,7 +60,7 @@ class MainActivity : ComponentActivity() {
6060
}
6161

6262
override fun onDestroy() {
63-
this.nativebrik.close()
63+
this.nubrick.close()
6464
super.onDestroy()
6565
}
6666
}
@@ -76,7 +76,7 @@ fun Greeting(name: String, modifier: Modifier = Modifier) {
7676
@Preview(showBackground = true)
7777
@Composable
7878
fun GreetingPreview() {
79-
NativebrikAndroidTheme {
79+
NubrickAndroidTheme {
8080
Greeting("Android")
8181
}
8282
}

app/src/main/java/com/nativebrik/example/ui/theme/Theme.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ private val LightColorScheme = lightColorScheme(
3838
)
3939

4040
@Composable
41-
fun NativebrikAndroidTheme(
41+
fun NubrickAndroidTheme(
4242
darkTheme: Boolean = isSystemInDarkTheme(),
4343
// Dynamic color is available on Android 12+
4444
dynamicColor: Boolean = true,

e2e/src/main/java/com/nativebrik/e2e/MainActivity.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@ import androidx.compose.material3.Text
1414
import androidx.compose.ui.Alignment
1515
import androidx.compose.ui.Modifier
1616
import androidx.compose.ui.unit.dp
17-
import com.nativebrik.e2e.ui.theme.NativebrikAndroidTheme
17+
import com.nativebrik.e2e.ui.theme.NubrickAndroidTheme
1818
import com.nativebrik.sdk.Config
19-
import com.nativebrik.sdk.Nativebrik
20-
import com.nativebrik.sdk.NativebrikClient
21-
import com.nativebrik.sdk.NativebrikProvider
19+
import com.nativebrik.sdk.Nubrick
20+
import com.nativebrik.sdk.NubrickClient
21+
import com.nativebrik.sdk.NubrickProvider
2222
import com.nativebrik.sdk.component.EmbeddingLoadingState
2323
import com.nativebrik.sdk.remoteconfig.RemoteConfigLoadingState
2424

2525
class MainActivity : ComponentActivity() {
26-
private lateinit var nativebrik: NativebrikClient
26+
private lateinit var nubrick: NubrickClient
2727

2828
override fun onCreate(savedInstanceState: Bundle?) {
2929
super.onCreate(savedInstanceState)
30-
this.nativebrik = NativebrikClient(
30+
this.nubrick = NubrickClient(
3131
config = Config(projectId = "ckto7v223akg00ag3jsg"),
3232
context = this.applicationContext,
3333
)
3434

3535
setContent {
36-
NativebrikAndroidTheme {
36+
NubrickAndroidTheme {
3737
// A surface container using the 'background' color from the theme
38-
NativebrikProvider(client = nativebrik) {
38+
NubrickProvider(client = nubrick) {
3939
Surface(
4040
modifier = Modifier.fillMaxSize(),
4141
color = MaterialTheme.colorScheme.background
@@ -45,7 +45,7 @@ class MainActivity : ComponentActivity() {
4545
horizontalAlignment = Alignment.CenterHorizontally,
4646
) {
4747
// embedding
48-
Nativebrik.client.experiment.Embedding(
48+
Nubrick.client.experiment.Embedding(
4949
"EMBEDDING_FOR_E2E",
5050
modifier = Modifier.height(240f.dp),
5151
content = {
@@ -64,7 +64,7 @@ class MainActivity : ComponentActivity() {
6464
)
6565

6666
// remote config
67-
Nativebrik.client.experiment.RemoteConfig("REMOTE_CONFIG_FOR_E2E") {
67+
Nubrick.client.experiment.RemoteConfig("REMOTE_CONFIG_FOR_E2E") {
6868
when (it) {
6969
is RemoteConfigLoadingState.Completed -> {
7070
Text(text = it.variant.getAsString("message") ?: "")

e2e/src/main/java/com/nativebrik/e2e/ui/theme/Theme.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ private val LightColorScheme = lightColorScheme(
3838
)
3939

4040
@Composable
41-
fun NativebrikAndroidTheme(
41+
fun NubrickAndroidTheme(
4242
darkTheme: Boolean = isSystemInDarkTheme(),
4343
// Dynamic color is available on Android 12+
4444
dynamicColor: Boolean = true,

nativebrik/src/androidTest/java/com/nativebrik/sdk/data/user/user.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class UserAndroidTest {
1616
fun shouldInitiateUser() {
1717
// Context of the app under test.
1818
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
19-
val user = NativebrikUser(context = appContext, 0)
19+
val user = NubrickUser(context = appContext, 0)
2020
Assert.assertEquals(true, user.id.count() == 36)
2121
Assert.assertEquals(0.22964408192413588, user.getNormalizedUserRnd(0), 0.0001)
2222

nativebrik/src/main/java/com/nativebrik/sdk/component/trigger.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import androidx.compose.ui.platform.LocalLifecycleOwner
1111
import androidx.lifecycle.Lifecycle
1212
import androidx.lifecycle.LifecycleEventObserver
1313
import androidx.lifecycle.ViewModel
14-
import com.nativebrik.sdk.NativebrikEvent
14+
import com.nativebrik.sdk.NubrickEvent
1515
import com.nativebrik.sdk.data.Container
16-
import com.nativebrik.sdk.data.user.NativebrikUser
16+
import com.nativebrik.sdk.data.user.NubrickUser
1717
import com.nativebrik.sdk.data.user.getNativebrikUserSharedPreferences
1818
import com.nativebrik.sdk.schema.TriggerEventNameDefs
1919
import com.nativebrik.sdk.schema.UIBlock
@@ -23,7 +23,7 @@ import kotlinx.coroutines.Dispatchers
2323
import kotlinx.coroutines.GlobalScope
2424
import kotlinx.coroutines.launch
2525

26-
internal class TriggerViewModel(internal val container: Container, internal val user: NativebrikUser) : ViewModel() {
26+
internal class TriggerViewModel(internal val container: Container, internal val user: NubrickUser) : ViewModel() {
2727
private val ignoreFirstUserEventToForegroundEvent = mutableStateOf(true)
2828
internal val modalStacks = mutableStateListOf<UIRootBlock>()
2929

@@ -40,27 +40,27 @@ internal class TriggerViewModel(internal val container: Container, internal val
4040
this.user.comeBack()
4141

4242
// dispatch the event when every time the user is activated
43-
this.dispatch(NativebrikEvent(TriggerEventNameDefs.USER_ENTER_TO_APP.name))
43+
this.dispatch(NubrickEvent(TriggerEventNameDefs.USER_ENTER_TO_APP.name))
4444

4545
val retention = this.user.retention
4646
if (retention == 1) {
47-
this.dispatch(NativebrikEvent(TriggerEventNameDefs.RETENTION_1.name))
47+
this.dispatch(NubrickEvent(TriggerEventNameDefs.RETENTION_1.name))
4848
} else if (retention in 2..3) {
49-
this.dispatch(NativebrikEvent(TriggerEventNameDefs.RETENTION_2_3.name))
49+
this.dispatch(NubrickEvent(TriggerEventNameDefs.RETENTION_2_3.name))
5050
} else if (retention in 4..7) {
51-
this.dispatch(NativebrikEvent(TriggerEventNameDefs.RETENTION_4_7.name))
51+
this.dispatch(NubrickEvent(TriggerEventNameDefs.RETENTION_4_7.name))
5252
} else if (retention in 8..14) {
53-
this.dispatch(NativebrikEvent(TriggerEventNameDefs.RETENTION_8_14.name))
53+
this.dispatch(NubrickEvent(TriggerEventNameDefs.RETENTION_8_14.name))
5454
} else if (retention > 14) {
55-
this.dispatch(NativebrikEvent(TriggerEventNameDefs.RETENTION_15.name))
55+
this.dispatch(NubrickEvent(TriggerEventNameDefs.RETENTION_15.name))
5656
}
5757
}
5858

5959
@OptIn(DelicateCoroutinesApi::class)
60-
fun dispatch(event: NativebrikEvent) {
60+
fun dispatch(event: NubrickEvent) {
6161
val self = this
6262
GlobalScope.launch(Dispatchers.IO) {
63-
self.container.handleNativebrikEvent(event)
63+
self.container.handleNubrickEvent(event)
6464
self.container.fetchInAppMessage(event.name).onSuccess {
6565
GlobalScope.launch(Dispatchers.Main) {
6666
if (it is UIBlock.UnionUIRootBlock) {
@@ -88,15 +88,15 @@ internal fun Trigger(trigger: TriggerViewModel) {
8888
val context = LocalContext.current
8989
LaunchedEffect("") {
9090
// dispatch user boot
91-
trigger.dispatch(NativebrikEvent(TriggerEventNameDefs.USER_BOOT_APP.name))
91+
trigger.dispatch(NubrickEvent(TriggerEventNameDefs.USER_BOOT_APP.name))
9292

9393
// dispatch the first time visit
9494
val preferences = getNativebrikUserSharedPreferences(context)
9595
val countKey = "NATIVEBRIK_SDK_INITIALIZED_COUNT"
9696
val count: Int = preferences?.getInt(countKey, 0) ?: 0
9797
preferences?.edit()?.putInt(countKey, count + 1)?.apply()
9898
if (count == 0) {
99-
trigger.dispatch(NativebrikEvent(TriggerEventNameDefs.USER_ENTER_TO_APP_FIRSTLY.name))
99+
trigger.dispatch(NubrickEvent(TriggerEventNameDefs.USER_ENTER_TO_APP_FIRSTLY.name))
100100
}
101101

102102
trigger.callWhenUserComesBack()
@@ -110,7 +110,7 @@ internal fun Trigger(trigger: TriggerViewModel) {
110110
if (trigger.ignoreFirstCall()) {
111111
return@LifecycleEventObserver
112112
}
113-
trigger.dispatch(NativebrikEvent(TriggerEventNameDefs.USER_ENTER_TO_FOREGROUND.name))
113+
trigger.dispatch(NubrickEvent(TriggerEventNameDefs.USER_ENTER_TO_FOREGROUND.name))
114114
trigger.callWhenUserComesBack()
115115
}
116116
else -> {}

nativebrik/src/main/java/com/nativebrik/sdk/data/container.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import android.content.Context
44
import android.database.sqlite.SQLiteDatabase
55
import com.nativebrik.sdk.Config
66
import com.nativebrik.sdk.Event
7-
import com.nativebrik.sdk.NativebrikEvent
7+
import com.nativebrik.sdk.NubrickEvent
88
import com.nativebrik.sdk.data.database.DatabaseRepository
99
import com.nativebrik.sdk.data.database.DatabaseRepositoryImpl
1010
import com.nativebrik.sdk.data.extraction.extractComponentId
1111
import com.nativebrik.sdk.data.extraction.extractExperimentConfig
1212
import com.nativebrik.sdk.data.extraction.extractExperimentVariant
13-
import com.nativebrik.sdk.data.user.NativebrikUser
13+
import com.nativebrik.sdk.data.user.NubrickUser
1414
import com.nativebrik.sdk.schema.ApiHttpHeader
1515
import com.nativebrik.sdk.schema.ApiHttpRequest
1616
import com.nativebrik.sdk.schema.ExperimentConfigs
@@ -52,12 +52,12 @@ internal interface Container {
5252
suspend fun fetchRemoteConfig(experimentId: String): Result<ExperimentVariant>
5353

5454
fun record(throwable: Throwable)
55-
fun handleNativebrikEvent(it: NativebrikEvent)
55+
fun handleNubrickEvent(it: NubrickEvent)
5656
}
5757

5858
internal class ContainerImpl(
5959
private val config: Config,
60-
private val user: NativebrikUser,
60+
private val user: NubrickUser,
6161
private val db: SQLiteDatabase,
6262
private val arguments: Any? = null,
6363
private val formRepository: FormRepository? = null,
@@ -291,7 +291,7 @@ internal class ContainerImpl(
291291
this.trackRepository.record(throwable)
292292
}
293293

294-
override fun handleNativebrikEvent(it: NativebrikEvent) {
294+
override fun handleNubrickEvent(it: NubrickEvent) {
295295
this.config.onDispatch?.let { handle ->
296296
handle(it)
297297
}

nativebrik/src/main/java/com/nativebrik/sdk/data/database/database.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ internal interface DatabaseRepository {
2020

2121
private const val DATABASE_NAME = "Nativebrik.sdk.db"
2222
private const val DATABASE_VERSION = 1
23-
internal class NativebrikDbHelper(context: Context): SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
23+
internal class NubrickDbHelper(context: Context): SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
2424
override fun onCreate(db: SQLiteDatabase) {
2525
try {
2626
db.execSQL(SQL_CREATE_EXPERIMENT_HISTORY_TABLE)
2727
db.execSQL(SQL_CREATE_USER_EVENT_TABLE)
2828
} catch (_: Exception) {
29-
throw Exception("Nativebrik SDK couldn't create a sqlite database.")
29+
throw Exception("Nubrick SDK couldn't create a sqlite database.")
3030
}
3131
}
3232

nativebrik/src/main/java/com/nativebrik/sdk/data/track.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.nativebrik.sdk.data
33
import android.os.Build
44
import com.nativebrik.sdk.Config
55
import com.nativebrik.sdk.VERSION
6-
import com.nativebrik.sdk.data.user.NativebrikUser
6+
import com.nativebrik.sdk.data.user.NubrickUser
77
import com.nativebrik.sdk.data.user.formatISO8601
88
import com.nativebrik.sdk.data.user.getCurrentDate
99
import com.nativebrik.sdk.schema.TriggerEventNameDefs
@@ -141,13 +141,13 @@ internal interface TrackRepository {
141141
internal class TrackRepositoryImpl: TrackRepository {
142142
private val queueLock: ReentrantLock = ReentrantLock()
143143
private val config: Config
144-
private val user: NativebrikUser
144+
private val user: NubrickUser
145145
private var timer: Timer? = null
146146
private val maxBatchSize: Int = 50
147147
private val maxQueueSize: Int = 300
148148
private var buffer: MutableList<TrackEvent> = mutableListOf()
149149

150-
internal constructor(config: Config, user: NativebrikUser) {
150+
internal constructor(config: Config, user: NubrickUser) {
151151
this.config = config
152152
this.user = user
153153

0 commit comments

Comments
 (0)