expo-paste-input 0.1.14 → 0.1.15
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.
- package/android/build/.transforms/04cfbef6d6438014a0f56f30321e9943/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/pasteinput/ExpoPasteInputView$1.dex +0 -0
- package/android/build/.transforms/04cfbef6d6438014a0f56f30321e9943/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/pasteinput/ExpoPasteInputView$ClipboardPayload.dex +0 -0
- package/android/build/.transforms/04cfbef6d6438014a0f56f30321e9943/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/pasteinput/ExpoPasteInputView$createActionModeCallback$1.dex +0 -0
- package/android/build/.transforms/04cfbef6d6438014a0f56f30321e9943/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/pasteinput/ExpoPasteInputView.dex +0 -0
- package/android/build/.transforms/61052c0b101cc72f1be04cd5637e14e3/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/pasteinput/ExpoPasteInputView$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/pasteinput/ExpoPasteInputView$ClipboardPayload.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/pasteinput/ExpoPasteInputView$createActionModeCallback$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/pasteinput/ExpoPasteInputView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/pasteinput/ExpoPasteInputView$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/pasteinput/ExpoPasteInputView$ClipboardPayload.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/pasteinput/ExpoPasteInputView$createActionModeCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/pasteinput/ExpoPasteInputView.class +0 -0
- package/android/src/main/java/expo/modules/pasteinput/ExpoPasteInputView.kt +22 -69
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab
CHANGED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab
CHANGED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
10
|
|
2
2
|
0
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len
CHANGED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i
CHANGED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream
CHANGED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len
CHANGED
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin
CHANGED
|
Binary file
|
|
Binary file
|
package/android/build/tmp/kotlin-classes/debug/expo/modules/pasteinput/ExpoPasteInputView$1.class
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/tmp/kotlin-classes/debug/expo/modules/pasteinput/ExpoPasteInputView.class
CHANGED
|
Binary file
|
|
@@ -11,7 +11,6 @@ import android.view.View
|
|
|
11
11
|
import android.view.ViewGroup
|
|
12
12
|
import android.view.ActionMode
|
|
13
13
|
import android.widget.EditText
|
|
14
|
-
import kotlin.math.max
|
|
15
14
|
import androidx.core.view.ContentInfoCompat
|
|
16
15
|
import androidx.core.view.OnReceiveContentListener
|
|
17
16
|
import androidx.core.view.ViewCompat
|
|
@@ -61,91 +60,45 @@ class ExpoPasteInputView(context: Context, appContext: AppContext) : ExpoView(co
|
|
|
61
60
|
})
|
|
62
61
|
}
|
|
63
62
|
|
|
64
|
-
/**
|
|
65
|
-
* Ensure this wrapper behaves like a normal container in React Native layouts.
|
|
66
|
-
*
|
|
67
|
-
* Without an explicit measure/layout pass-through, some parent layouts can end up
|
|
68
|
-
* treating this view as having near-zero height, collapsing the wrapped EditText.
|
|
69
|
-
*/
|
|
70
63
|
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
64
|
+
// Let the wrapper resolve its own size first, then size children to the
|
|
65
|
+
// resolved content box so wrapped RN inputs can fill like a normal container.
|
|
66
|
+
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
|
67
|
+
|
|
68
|
+
val availableWidth = (measuredWidth - paddingLeft - paddingRight).coerceAtLeast(0)
|
|
69
|
+
val availableHeight = (measuredHeight - paddingTop - paddingBottom).coerceAtLeast(0)
|
|
70
|
+
|
|
71
|
+
val childWidthSpec = MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.EXACTLY)
|
|
72
|
+
val childHeightSpec = MeasureSpec.makeMeasureSpec(availableHeight, MeasureSpec.EXACTLY)
|
|
74
73
|
|
|
75
74
|
for (i in 0 until childCount) {
|
|
76
75
|
val child = getChildAt(i)
|
|
77
|
-
if (child.visibility
|
|
78
|
-
|
|
79
|
-
val lp = child.layoutParams
|
|
80
|
-
if (lp is MarginLayoutParams) {
|
|
81
|
-
measureChildWithMargins(child, widthMeasureSpec, 0, heightMeasureSpec, 0)
|
|
82
|
-
maxChildWidth = max(maxChildWidth, child.measuredWidth + lp.leftMargin + lp.rightMargin)
|
|
83
|
-
maxChildHeight = max(maxChildHeight, child.measuredHeight + lp.topMargin + lp.bottomMargin)
|
|
84
|
-
} else {
|
|
85
|
-
measureChild(child, widthMeasureSpec, heightMeasureSpec)
|
|
86
|
-
maxChildWidth = max(maxChildWidth, child.measuredWidth)
|
|
87
|
-
maxChildHeight = max(maxChildHeight, child.measuredHeight)
|
|
76
|
+
if (child.visibility != View.GONE) {
|
|
77
|
+
child.measure(childWidthSpec, childHeightSpec)
|
|
88
78
|
}
|
|
89
|
-
|
|
90
|
-
childState = View.combineMeasuredStates(childState, child.measuredState)
|
|
91
79
|
}
|
|
92
|
-
|
|
93
|
-
maxChildWidth += paddingLeft + paddingRight
|
|
94
|
-
maxChildHeight += paddingTop + paddingBottom
|
|
95
|
-
|
|
96
|
-
val measuredWidth = View.resolveSizeAndState(maxChildWidth, widthMeasureSpec, childState)
|
|
97
|
-
val measuredHeight =
|
|
98
|
-
View.resolveSizeAndState(maxChildHeight, heightMeasureSpec, childState shl View.MEASURED_HEIGHT_STATE_SHIFT)
|
|
99
|
-
|
|
100
|
-
setMeasuredDimension(measuredWidth, measuredHeight)
|
|
101
80
|
}
|
|
102
81
|
|
|
103
82
|
override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
|
|
104
|
-
val
|
|
105
|
-
val
|
|
106
|
-
val
|
|
83
|
+
val left = paddingLeft
|
|
84
|
+
val top = paddingTop
|
|
85
|
+
val right = (r - l - paddingRight).coerceAtLeast(left)
|
|
86
|
+
val bottom = (b - t - paddingBottom).coerceAtLeast(top)
|
|
107
87
|
|
|
108
88
|
for (i in 0 until childCount) {
|
|
109
89
|
val child = getChildAt(i)
|
|
110
|
-
if (child.visibility
|
|
111
|
-
|
|
112
|
-
val lp = child.layoutParams
|
|
113
|
-
val left: Int
|
|
114
|
-
val top: Int
|
|
115
|
-
val right: Int
|
|
116
|
-
val bottom: Int
|
|
117
|
-
|
|
118
|
-
if (lp is MarginLayoutParams) {
|
|
119
|
-
left = parentLeft + lp.leftMargin
|
|
120
|
-
top = parentTop + lp.topMargin
|
|
121
|
-
right = (parentRight - lp.rightMargin).coerceAtLeast(left)
|
|
122
|
-
bottom = (top + child.measuredHeight).coerceAtMost(b - t - paddingBottom - lp.bottomMargin)
|
|
123
|
-
} else {
|
|
124
|
-
left = parentLeft
|
|
125
|
-
top = parentTop
|
|
126
|
-
right = parentRight.coerceAtLeast(left)
|
|
127
|
-
bottom = (top + child.measuredHeight).coerceAtMost(b - t - paddingBottom)
|
|
90
|
+
if (child.visibility != View.GONE) {
|
|
91
|
+
child.layout(left, top, right, bottom)
|
|
128
92
|
}
|
|
129
|
-
|
|
130
|
-
child.layout(left, top, right, bottom)
|
|
131
93
|
}
|
|
132
94
|
}
|
|
133
|
-
|
|
134
|
-
// Pass through all touch events to children - never intercept
|
|
135
|
-
override fun onInterceptTouchEvent(ev: android.view.MotionEvent?): Boolean {
|
|
136
|
-
return false
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
override fun onTouchEvent(event: android.view.MotionEvent?): Boolean {
|
|
140
|
-
return false
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
override fun dispatchTouchEvent(ev: android.view.MotionEvent?): Boolean {
|
|
144
|
-
return super.dispatchTouchEvent(ev)
|
|
145
|
-
}
|
|
146
|
-
|
|
95
|
+
|
|
147
96
|
override fun onViewAdded(child: View?) {
|
|
148
97
|
super.onViewAdded(child)
|
|
98
|
+
// Let default container sizing recalculate after RN inserts a child.
|
|
99
|
+
requestLayout()
|
|
100
|
+
invalidate()
|
|
101
|
+
|
|
149
102
|
// Re-scan for text input when a new child is added
|
|
150
103
|
if (!isMonitoring) {
|
|
151
104
|
startMonitoring()
|
package/package.json
CHANGED