turbo-native-initializer 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/turbo_native_initializer/templates/android_stack/app/src/main/java/dev/hotwire/turbo/turbonativeproject/features/web/WebFragment.kt.tt +0 -5
- data/lib/turbo_native_initializer/templates/android_stack/app/src/main/java/dev/hotwire/turbo/turbonativeproject/strada/NavButtonComponent.kt.tt +21 -14
- data/lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/layout/nav_button_component.xml +14 -0
- data/lib/turbo_native_initializer/templates/android_tabs/app/src/main/java/dev/hotwire/turbo/turbonativeproject/features/web/WebFragment.kt.tt +0 -5
- data/lib/turbo_native_initializer/templates/android_tabs/app/src/main/java/dev/hotwire/turbo/turbonativeproject/strada/NavButtonComponent.kt.tt +21 -14
- data/lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/layout/nav_button_component.xml +14 -0
- data/lib/turbo_native_initializer/version.rb +1 -1
- metadata +3 -3
- data/lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/menu/web.xml +0 -9
- data/lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/menu/web.xml +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d89f212990b6d8acf8b1f37073d8b892b7f043bdf4a19d11997fabf620ba4ca1
|
4
|
+
data.tar.gz: d2b4ea5ee37d49c0d3eb23d4bb56894407a3ff5d535058ac21c54292439eae45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3002e6b664dd0c92f04c2535707e8008a5c38e6d61e129bf3d376aa586bf2906228323a6947910b7a9d107dbcc2e33403ee1a2de508d444d97d37cea54fa1434
|
7
|
+
data.tar.gz: 6884c3e84fef8d9462387a1ba5c787befe6b79053378bf6d21c5e65f68a3d31f117abf94a9eb0fb671581317968c17a3727247598b657b1171bf149316dbe00c
|
@@ -25,7 +25,6 @@ open class WebFragment : TurboWebFragment(), NavDestination {
|
|
25
25
|
|
26
26
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
27
27
|
super.onViewCreated(view, savedInstanceState)
|
28
|
-
setupMenu()
|
29
28
|
viewLifecycleOwner.lifecycle.addObserver(bridgeDelegate)
|
30
29
|
}
|
31
30
|
|
@@ -60,8 +59,4 @@ open class WebFragment : TurboWebFragment(), NavDestination {
|
|
60
59
|
override fun createErrorView(statusCode: Int): View {
|
61
60
|
return layoutInflater.inflate(R.layout.error_web, null)
|
62
61
|
}
|
63
|
-
|
64
|
-
private fun setupMenu() {
|
65
|
-
toolbarForNavigation()?.inflateMenu(R.menu.web)
|
66
|
-
}
|
67
62
|
}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
package <%= package_name %>.strada
|
2
2
|
|
3
3
|
import android.util.Log
|
4
|
+
import android.view.LayoutInflater
|
5
|
+
import android.view.Menu
|
6
|
+
import android.view.MenuItem
|
4
7
|
import androidx.appcompat.widget.Toolbar
|
5
8
|
import androidx.fragment.app.Fragment
|
6
9
|
import dev.hotwire.strada.BridgeComponent
|
@@ -8,6 +11,7 @@ import dev.hotwire.strada.BridgeDelegate
|
|
8
11
|
import dev.hotwire.strada.Message
|
9
12
|
import <%= package_name %>.R
|
10
13
|
import <%= package_name %>.base.NavDestination
|
14
|
+
import <%= package_name %>.databinding.NavButtonComponentBinding
|
11
15
|
import kotlinx.serialization.Serializable
|
12
16
|
|
13
17
|
class NavButtonComponent(
|
@@ -15,6 +19,8 @@ class NavButtonComponent(
|
|
15
19
|
private val delegate: BridgeDelegate<NavDestination>
|
16
20
|
) : BridgeComponent<NavDestination>(name, delegate) {
|
17
21
|
|
22
|
+
private val navButtonItemId = 10
|
23
|
+
private var navButtonMenuItem: MenuItem? = null
|
18
24
|
private val fragment: Fragment
|
19
25
|
get() = delegate.destination.fragment
|
20
26
|
private val toolbar: Toolbar?
|
@@ -34,26 +40,27 @@ class NavButtonComponent(
|
|
34
40
|
}
|
35
41
|
|
36
42
|
private fun showToolbarButton(data: MessageData) {
|
37
|
-
val
|
43
|
+
val menu = toolbar?.menu ?: return
|
44
|
+
val inflater = LayoutInflater.from(fragment.requireContext())
|
45
|
+
val binding = NavButtonComponentBinding.inflate(inflater)
|
46
|
+
val order = 999 // Show as the right-most button
|
38
47
|
|
39
|
-
|
40
|
-
|
41
|
-
|
48
|
+
binding.navButton.apply {
|
49
|
+
text = data.title
|
50
|
+
setOnClickListener {
|
51
|
+
performAction()
|
52
|
+
}
|
42
53
|
}
|
43
54
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
true
|
49
|
-
}
|
50
|
-
else -> false
|
51
|
-
}
|
55
|
+
menu.removeItem(navButtonItemId)
|
56
|
+
navButtonMenuItem = menu.add(Menu.NONE, navButtonItemId, order, data.title).apply {
|
57
|
+
actionView = binding.root
|
58
|
+
setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS)
|
52
59
|
}
|
53
60
|
}
|
54
61
|
|
55
|
-
private fun
|
56
|
-
replyTo("connect")
|
62
|
+
private fun performAction(): Boolean {
|
63
|
+
return replyTo("connect")
|
57
64
|
}
|
58
65
|
|
59
66
|
@Serializable
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
android:layout_width="wrap_content"
|
4
|
+
android:layout_height="match_parent"
|
5
|
+
android:layout_gravity="end|center_vertical"
|
6
|
+
android:paddingEnd="16dp">
|
7
|
+
|
8
|
+
<com.google.android.material.button.MaterialButton
|
9
|
+
style="@style/Widget.Material3.Button.TextButton"
|
10
|
+
android:id="@+id/nav_button"
|
11
|
+
android:layout_width="wrap_content"
|
12
|
+
android:layout_height="48dp"
|
13
|
+
android:minWidth="0dip" />
|
14
|
+
</FrameLayout>
|
@@ -22,7 +22,6 @@ open class WebFragment : TurboWebFragment(), NavDestination {
|
|
22
22
|
|
23
23
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
24
24
|
super.onViewCreated(view, savedInstanceState)
|
25
|
-
setupMenu()
|
26
25
|
viewLifecycleOwner.lifecycle.addObserver(bridgeDelegate)
|
27
26
|
}
|
28
27
|
|
@@ -50,8 +49,4 @@ open class WebFragment : TurboWebFragment(), NavDestination {
|
|
50
49
|
override fun createErrorView(statusCode: Int): View {
|
51
50
|
return layoutInflater.inflate(R.layout.error_web, null)
|
52
51
|
}
|
53
|
-
|
54
|
-
private fun setupMenu() {
|
55
|
-
toolbarForNavigation()?.inflateMenu(R.menu.web)
|
56
|
-
}
|
57
52
|
}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
package <%= package_name %>.strada
|
2
2
|
|
3
3
|
import android.util.Log
|
4
|
+
import android.view.LayoutInflater
|
5
|
+
import android.view.Menu
|
6
|
+
import android.view.MenuItem
|
4
7
|
import androidx.appcompat.widget.Toolbar
|
5
8
|
import androidx.fragment.app.Fragment
|
6
9
|
import dev.hotwire.strada.BridgeComponent
|
@@ -8,6 +11,7 @@ import dev.hotwire.strada.BridgeDelegate
|
|
8
11
|
import dev.hotwire.strada.Message
|
9
12
|
import <%= package_name %>.R
|
10
13
|
import <%= package_name %>.base.NavDestination
|
14
|
+
import <%= package_name %>.databinding.NavButtonComponentBinding
|
11
15
|
import kotlinx.serialization.Serializable
|
12
16
|
|
13
17
|
class NavButtonComponent(
|
@@ -15,6 +19,8 @@ class NavButtonComponent(
|
|
15
19
|
private val delegate: BridgeDelegate<NavDestination>
|
16
20
|
) : BridgeComponent<NavDestination>(name, delegate) {
|
17
21
|
|
22
|
+
private val navButtonItemId = 10
|
23
|
+
private var navButtonMenuItem: MenuItem? = null
|
18
24
|
private val fragment: Fragment
|
19
25
|
get() = delegate.destination.fragment
|
20
26
|
private val toolbar: Toolbar?
|
@@ -34,26 +40,27 @@ class NavButtonComponent(
|
|
34
40
|
}
|
35
41
|
|
36
42
|
private fun showToolbarButton(data: MessageData) {
|
37
|
-
val
|
43
|
+
val menu = toolbar?.menu ?: return
|
44
|
+
val inflater = LayoutInflater.from(fragment.requireContext())
|
45
|
+
val binding = NavButtonComponentBinding.inflate(inflater)
|
46
|
+
val order = 999 // Show as the right-most button
|
38
47
|
|
39
|
-
|
40
|
-
|
41
|
-
|
48
|
+
binding.navButton.apply {
|
49
|
+
text = data.title
|
50
|
+
setOnClickListener {
|
51
|
+
performAction()
|
52
|
+
}
|
42
53
|
}
|
43
54
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
true
|
49
|
-
}
|
50
|
-
else -> false
|
51
|
-
}
|
55
|
+
menu.removeItem(navButtonItemId)
|
56
|
+
navButtonMenuItem = menu.add(Menu.NONE, navButtonItemId, order, data.title).apply {
|
57
|
+
actionView = binding.root
|
58
|
+
setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS)
|
52
59
|
}
|
53
60
|
}
|
54
61
|
|
55
|
-
private fun
|
56
|
-
replyTo("connect")
|
62
|
+
private fun performAction(): Boolean {
|
63
|
+
return replyTo("connect")
|
57
64
|
}
|
58
65
|
|
59
66
|
@Serializable
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
android:layout_width="wrap_content"
|
4
|
+
android:layout_height="match_parent"
|
5
|
+
android:layout_gravity="end|center_vertical"
|
6
|
+
android:paddingEnd="16dp">
|
7
|
+
|
8
|
+
<com.google.android.material.button.MaterialButton
|
9
|
+
style="@style/Widget.Material3.Button.TextButton"
|
10
|
+
android:id="@+id/nav_button"
|
11
|
+
android:layout_width="wrap_content"
|
12
|
+
android:layout_height="48dp"
|
13
|
+
android:minWidth="0dip" />
|
14
|
+
</FrameLayout>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbo-native-initializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nixon
|
@@ -77,7 +77,7 @@ files:
|
|
77
77
|
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/layout/fragment_web_home.xml
|
78
78
|
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/layout/menu_component_adapter_row.xml
|
79
79
|
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/layout/menu_component_bottom_sheet.xml
|
80
|
-
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/
|
80
|
+
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/layout/nav_button_component.xml
|
81
81
|
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
|
82
82
|
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
|
83
83
|
- lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/mipmap-xhdpi/ic_launcher.png
|
@@ -136,8 +136,8 @@ files:
|
|
136
136
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/layout/fragment_web_home.xml
|
137
137
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/layout/menu_component_adapter_row.xml
|
138
138
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/layout/menu_component_bottom_sheet.xml
|
139
|
+
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/layout/nav_button_component.xml
|
139
140
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/menu/bottom_navigation_menu.xml
|
140
|
-
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/menu/web.xml
|
141
141
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
|
142
142
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
|
143
143
|
- lib/turbo_native_initializer/templates/android_tabs/base/app/src/main/res/mipmap-xhdpi/ic_launcher.png
|
data/lib/turbo_native_initializer/templates/android_stack/base/app/src/main/res/menu/web.xml
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
-
xmlns:app="http://schemas.android.com/apk/res-auto">
|
4
|
-
<item
|
5
|
-
android:id="@+id/nav_button"
|
6
|
-
android:orderInCategory="999"
|
7
|
-
android:visible="false"
|
8
|
-
app:showAsAction="always" />
|
9
|
-
</menu>
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
-
xmlns:app="http://schemas.android.com/apk/res-auto">
|
4
|
-
<item
|
5
|
-
android:id="@+id/nav_button"
|
6
|
-
android:orderInCategory="999"
|
7
|
-
android:visible="false"
|
8
|
-
app:showAsAction="always" />
|
9
|
-
</menu>
|