Skip to content

Commit 2f1ff1d

Browse files
authored
Make getFormulaFragmentId() a public function. (#400)
1 parent 520ca1c commit 2f1ff1d

File tree

4 files changed

+18
-11
lines changed

4 files changed

+18
-11
lines changed

formula-android/src/main/java/com/instacart/formula/android/FormulaFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import android.view.ViewGroup
77
import androidx.fragment.app.Fragment
88
import com.instacart.formula.FormulaAndroid
99
import com.instacart.formula.android.internal.FormulaFragmentDelegate
10-
import com.instacart.formula.android.internal.getFormulaFragmentId
1110
import com.instacart.formula.android.internal.getOrSetArguments
1211
import java.lang.Exception
1312

formula-android/src/main/java/com/instacart/formula/android/FragmentId.kt

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package com.instacart.formula.android
22

3+
import androidx.fragment.app.Fragment
4+
import com.instacart.formula.android.internal.getFragmentInstanceId
5+
import com.instacart.formula.android.internal.getFragmentKey
6+
37
/**
48
* An object used to identify a fragment. It combines both a user generated [key] and
59
* a generated [String] id.
@@ -12,4 +16,14 @@ package com.instacart.formula.android
1216
data class FragmentId(
1317
val instanceId: String,
1418
val key: FragmentKey
15-
)
19+
)
20+
21+
/**
22+
* Gets a [FragmentId] for a given [Fragment].
23+
*/
24+
fun Fragment.getFormulaFragmentId(): FragmentId {
25+
return FragmentId(
26+
instanceId = getFragmentInstanceId(),
27+
key = getFragmentKey()
28+
)
29+
}

formula-android/src/main/java/com/instacart/formula/android/internal/FragmentFlowRenderView.kt

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import com.instacart.formula.android.BackCallback
1616
import com.instacart.formula.android.FeatureEvent
1717
import com.instacart.formula.android.FragmentId
1818
import com.instacart.formula.android.ViewFactory
19+
import com.instacart.formula.android.getFormulaFragmentId
1920
import java.util.LinkedList
2021

2122
/**

formula-android/src/main/java/com/instacart/formula/android/internal/FragmentLifecycle.kt

+2-9
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ internal object FragmentLifecycle {
1919
}
2020
}
2121

22-
private fun Fragment.getFragmentKey(): FragmentKey {
22+
internal fun Fragment.getFragmentKey(): FragmentKey {
2323
val fragment = this as? BaseFormulaFragment<*>
2424
return fragment?.getFragmentKey() ?: EmptyFragmentKey(tag.orEmpty())
2525
}
@@ -28,7 +28,7 @@ private fun Fragment.getFragmentKey(): FragmentKey {
2828
* Gets a persisted across configuration changes fragment identifier or initializes
2929
* one if it doesn't exist.
3030
*/
31-
private fun Fragment.getFragmentInstanceId(): String {
31+
internal fun Fragment.getFragmentInstanceId(): String {
3232
return if (this is BaseFormulaFragment<*>) {
3333
val arguments = getOrSetArguments()
3434
val id = arguments.getString(FormulaFragment.ARG_FORMULA_ID, "")
@@ -42,13 +42,6 @@ private fun Fragment.getFragmentInstanceId(): String {
4242
}
4343
}
4444

45-
internal fun Fragment.getFormulaFragmentId(): FragmentId {
46-
return FragmentId(
47-
instanceId = getFragmentInstanceId(),
48-
key = getFragmentKey()
49-
)
50-
}
51-
5245
internal fun Fragment.getOrSetArguments(): Bundle {
5346
return arguments ?: run {
5447
Bundle().apply {

0 commit comments

Comments
 (0)