Skip to content

Commit 4cdb619

Browse files
authored
refactor: reusable TextInput protocol (#696)
## 📜 Description Put `TextInput` protocol in a separate directory to highlight that it's common protocol that can be re-used by other project files (not only traversal group). ## 💡 Motivation and Context In preparation for `offset` functionality of interactive keyboard I discovered that we need to have common `UITextField` and `UITextView` interface to be able to manage some props without additional `if`-statements. We already have our own `TextInput` protocol, so I thought we could benefit from it and extend it for future functionality. The only one thing is that now `TextInput` is associated with `traversal` group, but since it can be re-used by other groups I thought it would be better to move the file into its own separate group. That's what I did in this PR 🙂 ## 📢 Changelog ### iOS - move `TextInput` file from `traversal` to `protocol` group; ## 🤔 How Has This Been Tested? Tested on CI. ## 📝 Checklist - [x] CI successfully passed - [x] I added new mocks and corresponding unit-tests if library API was changed
1 parent 1870f04 commit 4cdb619

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

ios/KeyboardControllerNative/KeyboardControllerNative.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
081006AC2C36906900578E07 /* UIScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081006AB2C36906800578E07 /* UIScrollView.swift */; };
1414
081006AD2C36906900578E07 /* UIScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081006AB2C36906800578E07 /* UIScrollView.swift */; };
1515
081006AE2C36906900578E07 /* UIScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081006AB2C36906800578E07 /* UIScrollView.swift */; };
16+
0837001E2CE8CA4F00D67BBF /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0837001D2CE8CA4F00D67BBF /* TextInput.swift */; };
17+
0837001F2CE8CA4F00D67BBF /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0837001D2CE8CA4F00D67BBF /* TextInput.swift */; };
18+
083700202CE8CA4F00D67BBF /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0837001D2CE8CA4F00D67BBF /* TextInput.swift */; };
1619
0850CCBA2CB49ECC000C0F8D /* SpringAnimationPerformanceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0850CCB92CB49ECC000C0F8D /* SpringAnimationPerformanceTest.swift */; };
1720
0850CCC22CB49F74000C0F8D /* SpringAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0850CCBF2CB49F74000C0F8D /* SpringAnimation.swift */; };
1821
0850CCC32CB49F74000C0F8D /* SpringAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0850CCBF2CB49F74000C0F8D /* SpringAnimation.swift */; };
@@ -36,9 +39,6 @@
3639
0873ED822BB6B94B0004F3A4 /* FocusedInputHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED7F2BB6B94B0004F3A4 /* FocusedInputHolder.swift */; };
3740
0873ED832BB6B94B0004F3A4 /* FocusedInputHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED7F2BB6B94B0004F3A4 /* FocusedInputHolder.swift */; };
3841
0873ED842BB6B94B0004F3A4 /* FocusedInputHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED7F2BB6B94B0004F3A4 /* FocusedInputHolder.swift */; };
39-
0873ED852BB6B94B0004F3A4 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED802BB6B94B0004F3A4 /* TextInput.swift */; };
40-
0873ED862BB6B94B0004F3A4 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED802BB6B94B0004F3A4 /* TextInput.swift */; };
41-
0873ED872BB6B94B0004F3A4 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED802BB6B94B0004F3A4 /* TextInput.swift */; };
4242
0873ED882BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED812BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift */; };
4343
0873ED892BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED812BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift */; };
4444
0873ED8A2BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0873ED812BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift */; };
@@ -71,6 +71,7 @@
7171
/* Begin PBXFileReference section */
7272
081006A72C36904E00578E07 /* UIResponder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UIResponder.swift; path = ../../extensions/UIResponder.swift; sourceTree = "<group>"; };
7373
081006AB2C36906800578E07 /* UIScrollView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UIScrollView.swift; path = ../../extensions/UIScrollView.swift; sourceTree = "<group>"; };
74+
0837001D2CE8CA4F00D67BBF /* TextInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = ../protocols/TextInput.swift; sourceTree = SOURCE_ROOT; };
7475
0850CCB92CB49ECC000C0F8D /* SpringAnimationPerformanceTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpringAnimationPerformanceTest.swift; sourceTree = "<group>"; };
7576
0850CCBF2CB49F74000C0F8D /* SpringAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SpringAnimation.swift; path = ../../animations/SpringAnimation.swift; sourceTree = "<group>"; };
7677
0850CCC02CB49F74000C0F8D /* KeyboardAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = KeyboardAnimation.swift; path = ../../animations/KeyboardAnimation.swift; sourceTree = "<group>"; };
@@ -87,7 +88,6 @@
8788
0873ED702BB6B7390004F3A4 /* KeyboardControllerNativeUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardControllerNativeUITests.swift; sourceTree = "<group>"; };
8889
0873ED722BB6B7390004F3A4 /* KeyboardControllerNativeUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardControllerNativeUITestsLaunchTests.swift; sourceTree = "<group>"; };
8990
0873ED7F2BB6B94B0004F3A4 /* FocusedInputHolder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FocusedInputHolder.swift; path = ../../traversal/FocusedInputHolder.swift; sourceTree = "<group>"; };
90-
0873ED802BB6B94B0004F3A4 /* TextInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = ../../traversal/TextInput.swift; sourceTree = "<group>"; };
9191
0873ED812BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewHierarchyNavigator.swift; path = ../../traversal/ViewHierarchyNavigator.swift; sourceTree = "<group>"; };
9292
0873ED8F2BB6B9960004F3A4 /* Extension+UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = "<group>"; };
9393
08833D512CB56DB9007D4380 /* TimingAnimationPerformanceTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimingAnimationPerformanceTest.swift; sourceTree = "<group>"; };
@@ -142,6 +142,7 @@
142142
0873ED542BB6B7380004F3A4 /* KeyboardControllerNative */ = {
143143
isa = PBXGroup;
144144
children = (
145+
0837001D2CE8CA4F00D67BBF /* TextInput.swift */,
145146
0850CCCB2CB4A096000C0F8D /* UIUtils.swift */,
146147
0850CCC02CB49F74000C0F8D /* KeyboardAnimation.swift */,
147148
0850CCBF2CB49F74000C0F8D /* SpringAnimation.swift */,
@@ -151,7 +152,6 @@
151152
081006A72C36904E00578E07 /* UIResponder.swift */,
152153
0873ED8F2BB6B9960004F3A4 /* Extension+UIView.swift */,
153154
0873ED7F2BB6B94B0004F3A4 /* FocusedInputHolder.swift */,
154-
0873ED802BB6B94B0004F3A4 /* TextInput.swift */,
155155
0873ED812BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift */,
156156
0873ED552BB6B7380004F3A4 /* KeyboardControllerNativeApp.swift */,
157157
0873ED572BB6B7380004F3A4 /* ContentView.swift */,
@@ -326,10 +326,10 @@
326326
0873ED882BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift in Sources */,
327327
081006A82C36904E00578E07 /* UIResponder.swift in Sources */,
328328
081006AC2C36906900578E07 /* UIScrollView.swift in Sources */,
329+
0837001F2CE8CA4F00D67BBF /* TextInput.swift in Sources */,
329330
0850CCC52CB49F74000C0F8D /* KeyboardAnimation.swift in Sources */,
330331
0850CCC22CB49F74000C0F8D /* SpringAnimation.swift in Sources */,
331332
0873ED822BB6B94B0004F3A4 /* FocusedInputHolder.swift in Sources */,
332-
0873ED852BB6B94B0004F3A4 /* TextInput.swift in Sources */,
333333
0850CCCC2CB4A096000C0F8D /* UIUtils.swift in Sources */,
334334
);
335335
runOnlyForDeploymentPostprocessing = 0;
@@ -349,9 +349,9 @@
349349
0850CCC62CB49F74000C0F8D /* KeyboardAnimation.swift in Sources */,
350350
0850CCC32CB49F74000C0F8D /* SpringAnimation.swift in Sources */,
351351
081006AD2C36906900578E07 /* UIScrollView.swift in Sources */,
352-
0873ED862BB6B94B0004F3A4 /* TextInput.swift in Sources */,
353352
0850CCCD2CB4A096000C0F8D /* UIUtils.swift in Sources */,
354353
08833D522CB56DB9007D4380 /* TimingAnimationPerformanceTest.swift in Sources */,
354+
083700202CE8CA4F00D67BBF /* TextInput.swift in Sources */,
355355
);
356356
runOnlyForDeploymentPostprocessing = 0;
357357
};
@@ -367,10 +367,10 @@
367367
0873ED8A2BB6B94B0004F3A4 /* ViewHierarchyNavigator.swift in Sources */,
368368
081006AA2C36904E00578E07 /* UIResponder.swift in Sources */,
369369
081006AE2C36906900578E07 /* UIScrollView.swift in Sources */,
370+
0837001E2CE8CA4F00D67BBF /* TextInput.swift in Sources */,
370371
0850CCC72CB49F74000C0F8D /* KeyboardAnimation.swift in Sources */,
371372
0850CCC42CB49F74000C0F8D /* SpringAnimation.swift in Sources */,
372373
0873ED842BB6B94B0004F3A4 /* FocusedInputHolder.swift in Sources */,
373-
0873ED872BB6B94B0004F3A4 /* TextInput.swift in Sources */,
374374
0850CCCE2CB4A096000C0F8D /* UIUtils.swift in Sources */,
375375
);
376376
runOnlyForDeploymentPostprocessing = 0;
File renamed without changes.

0 commit comments

Comments
 (0)