- The width and height are now both set as a measured dimension rather than in the layoutParams. This reduces unnecessary measurement cycles and vastly improves performance
- The first layout switch (from characters to symbols etc.) is now smooth and does not glitch around
- The special keys in the modifier layout (ENTER, DELETE, VIEW_* (except NUMERIC) and SHIFT are now fixed in width (1.5 * the desired key width)
- Settings proxy for launcher is now an activity-alias and not an Activity
- Settings will be split into Fragments (coming later) insteadof separate Activities
- Add preference for hiding/showing app icon
- Extended popup layout now is 1 FlexboxLayout instead of 3 LinearLayouts (makes getting the views much easier)
- The extended TextView is responsible for rendering the active background
- KeyView decides based on KeyPopupManager's answer which code to send
- KeyboardView is now only responsible for building the UI from the given ComputedLayoutData
- FlorisBoard (InputMethodService) is now responsible for both selectiong the correct KeyboardView for the active KeyboardMode and sending an actual key press to the system
LayoutManager is now solely responsible for fetching the layout from the app's resource folder and will also automatically based on the shared prefs (NYI, currently static strings) fetch the layout associations. CustomKeyboard can now ask to get a computed layout from LayoutManager. LayoutManager then automatically decides based on the given keyboard mode, how to squish the layouts together. This way the keyboard class now only has to render the layout, not compute it too.
- CustomKey is now named KeyView
- LayoutManager will now be responsible for loading Layouts
- Key's data like code, type, etc. is now stored in a KeyData object (KeyView.data)
- Layouts are now preloaded as LayoutData and computed when requesting for the needed keyboard mode
- Switched from png to svg resources
- Icons use vector padding to gain the centered effect on the button
- Implement caps lock feature
- Code cleanup in CustomKey.kt
- Keyboard layout is now programmatically built, insteadof a predefined <layout>.xml file
- Layout definitions are in JSON (located in res/raw/*)
- Buttons now have a background color
- Setup AndroidManifest.xml to register this app as an valid IME
- Layout of keyboard is made with LinearLayout, Buttons and Google's Flexbox project
- Basic icons for caps, backspace, confirm and language_switch have been added from the default Google Icon Library
- Input, Confirm, Delete and Caps lock is working on a very basic implementation