File tree 4 files changed +18
-11
lines changed
formula-android/src/main/java/com/instacart/formula/android
4 files changed +18
-11
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,6 @@ import android.view.ViewGroup
7
7
import androidx.fragment.app.Fragment
8
8
import com.instacart.formula.FormulaAndroid
9
9
import com.instacart.formula.android.internal.FormulaFragmentDelegate
10
- import com.instacart.formula.android.internal.getFormulaFragmentId
11
10
import com.instacart.formula.android.internal.getOrSetArguments
12
11
import java.lang.Exception
13
12
Original file line number Diff line number Diff line change 1
1
package com.instacart.formula.android
2
2
3
+ import androidx.fragment.app.Fragment
4
+ import com.instacart.formula.android.internal.getFragmentInstanceId
5
+ import com.instacart.formula.android.internal.getFragmentKey
6
+
3
7
/* *
4
8
* An object used to identify a fragment. It combines both a user generated [key] and
5
9
* a generated [String] id.
@@ -12,4 +16,14 @@ package com.instacart.formula.android
12
16
data class FragmentId (
13
17
val instanceId : String ,
14
18
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
+ }
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import com.instacart.formula.android.BackCallback
16
16
import com.instacart.formula.android.FeatureEvent
17
17
import com.instacart.formula.android.FragmentId
18
18
import com.instacart.formula.android.ViewFactory
19
+ import com.instacart.formula.android.getFormulaFragmentId
19
20
import java.util.LinkedList
20
21
21
22
/* *
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ internal object FragmentLifecycle {
19
19
}
20
20
}
21
21
22
- private fun Fragment.getFragmentKey (): FragmentKey {
22
+ internal fun Fragment.getFragmentKey (): FragmentKey {
23
23
val fragment = this as ? BaseFormulaFragment <* >
24
24
return fragment?.getFragmentKey() ? : EmptyFragmentKey (tag.orEmpty())
25
25
}
@@ -28,7 +28,7 @@ private fun Fragment.getFragmentKey(): FragmentKey {
28
28
* Gets a persisted across configuration changes fragment identifier or initializes
29
29
* one if it doesn't exist.
30
30
*/
31
- private fun Fragment.getFragmentInstanceId (): String {
31
+ internal fun Fragment.getFragmentInstanceId (): String {
32
32
return if (this is BaseFormulaFragment <* >) {
33
33
val arguments = getOrSetArguments()
34
34
val id = arguments.getString(FormulaFragment .ARG_FORMULA_ID , " " )
@@ -42,13 +42,6 @@ private fun Fragment.getFragmentInstanceId(): String {
42
42
}
43
43
}
44
44
45
- internal fun Fragment.getFormulaFragmentId (): FragmentId {
46
- return FragmentId (
47
- instanceId = getFragmentInstanceId(),
48
- key = getFragmentKey()
49
- )
50
- }
51
-
52
45
internal fun Fragment.getOrSetArguments (): Bundle {
53
46
return arguments ? : run {
54
47
Bundle ().apply {
You can’t perform that action at this time.
0 commit comments