Git Product home page Git Product logo

anysoftkeyboard / anysoftkeyboard Goto Github PK

View Code? Open in Web Editor NEW
2.8K 103.0 816.0 275.97 MB

Android (f/w 2.1+) on screen keyboard for multiple languages.

Home Page: http://anysoftkeyboard.github.io/

License: Apache License 2.0

Groovy 0.04% C++ 4.76% C 0.90% Shell 0.88% Java 78.96% Makefile 0.02% Batchfile 0.06% HTML 12.82% Dockerfile 0.01% Kotlin 0.97% Python 0.20% TypeScript 0.39%
screen-keyboard java multiple-languages android anysoftkeyboard language

anysoftkeyboard's Introduction

AnySoftKeyboard Latest release

Discussions can be found on 💬 GitHub
Follow us on Mastodon
Support chat-channels can be found on Gitter chat

main latest build 
main coverage codecov

Android (f/w 4.0.3+, API level 15+) on screen keyboard for multiple languages.

Get it on Google Play  Get it on F-Droid

Sign up to beta-channel here. Beta versions are pushed via Google Play Store.

Features

  • All kinds of keyboards:
    • Supporting lots of languages via external packages. E.g., English (QWERTY, Dvorak, AZERTY, Colemak, and Workman), Hebrew, Russian, Arabic, Lao, Bulgarian, Swiss, German, Swedish, Spanish, Catalan, Belarusian, Portuguese, Ukrainian and many more.
    • Special keyboard for text fields which require only numbers.
    • Special keyboard for text fields which require email or URI addresses.
  • Physical keyboard is supported as-well.
  • Auto-capitalization.
  • Word suggestions, and Next-Word suggestions.
    • Automatic correction can be customized, or turned off entirely.
    • External packages include word lists that can be freely mixed. You can use a French layout and get suggestions for German and Russian!
  • Gesture typing.
  • Dark mode, automatic (based on system) and manual.
  • Power saving mode, disables various features to save battery.
  • Per-app tint, the keyboard changes color depending on the current app.
  • Special key-press effects:
    • Sound on key press (if phone is not muted).
    • Vibrate on key press.
  • Voice input.
  • Incognito Mode - will not learn new words, will not keep history of what was typed (including emoji history).
  • Plenty of emojis - long-press the smiley key. You customize those by clicking the Settings icon in emojis window.
  • More on AnySoftKeyboard can be found here.

Releases

from main branch

IME - AnySoftKeyboard

  • Every commit to main branch will deploy a new release to the ALPHA channel in Google Play-Store. You can subscribe to this release channel by joining the Google Groups group, and opt-in by visiting this link.
  • Every Wednesday the latest ALPHA will be promoted to BETA. You can opt-in to this channel by visiting this link.
  • Once all requirements for a release were finished, a STABLE release branch (in the format of release-branch-ime-vX.X-rX) will be cut. Every commit to this branch will be automatically published to Google Play Store (STABLE channel) and will roll-out users gradually.

AddOns

  • Every commit to main branch will deploy all addons to closed-testing ALPHA channel in Google Play-Store. If you want to subscribe to this channel, open a ticket and asking to join.
  • Every Wednesday the latest ALPHA will be promoted to BETA. This is only for supported packs. The BETA channel is an open-testing group, you can subscribe to this release channel by joining the BETA channel for each addon.
  • Once all requirements for a release were finished, a STABLE release branch (in the format of release-branch-addons-vX.X-rX) will be cut. Every commit to this branch will be automatically published to Google Play Store (STABLE channel) and will roll-out users gradually.

from release-branch

IME - AnySoftKeyboard

  • Each new commit to the release-branch will be published to 10% of the users.
  • Each day - if no new commit was pushed to the release-branch - we will increase the roll-out.
  • When roll-out reaches 100%, an fdroid release will be made.

AddOns

  • Each new commit to the release-branch will be published to 10% of the users.
  • Each day - if no new commit was pushed to the release-branch - we will increase the roll-out.

Read more

  • Our fancy web-site
  • Language-Pack add-ons in this repo.
  • Theme add-ons in this repo.
  • Quick-Text add-ons in this repo.
  • Crowdin to translate the app to your language. Crowdin
  • Via Bountysource, users can post bounties and developers can claim them when fixing bugs. This is an external community project and not directly sponsored by the ASK developers!

Development/Contributing

Want to develop a new feature, fix a bug, or add new language-pack? Read more here. Contributors should adhere to the Code of Conduct document.

Copyright requirement

Remember: the components in this repository are released under the Apache2 license. By contributing to this repository you give all copyright and distribution rights to the AnySoftKeyboard maintainer.

License

Copyright 2009 Menny Even-Danan

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

anysoftkeyboard's People

Contributors

abcdrfg777777777 avatar aiq0 avatar andrewshadura avatar anysoftkeyboard-bot avatar apederson94 avatar arenal5 avatar asl97 avatar azzamsa avatar bjpardal avatar danielrparks avatar dotsensei avatar herrlado avatar hsnamr avatar justinmichaud avatar kati42 avatar kokoye2007 avatar lubenard avatar martholomew avatar menny avatar mirfatif avatar nicoursi avatar pfischbeck avatar pokerazor avatar rillian avatar rimas-kudelis avatar somini avatar sslaia avatar taknok avatar wishawa avatar xoomerq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

anysoftkeyboard's Issues

Crash on voice input result

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 18:05:51 25.04.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.IllegalArgumentException
****** Exception message: Service not registered: com.anysoftkeyboard.voice.ServiceBridge$ConnectionRequest@47c068a0
****** Trace trace:
android.app.ActivityThread$PackageInfo.forgetServiceDispatcher(ActivityThread.java:1074)
android.app.ContextImpl.unbindService(ContextImpl.java:969)
android.content.ContextWrapper.unbindService(ContextWrapper.java:352)
com.anysoftkeyboard.voice.ServiceBridge$1.onResult(ServiceBridge.java:52)
com.anysoftkeyboard.voice.ServiceHelper.notifyResult(ServiceHelper.java:66)
com.anysoftkeyboard.voice.ServiceBridge$ConnectionResponse.onServiceConnected(ServiceBridge.java:114)
android.app.ActivityThread$PackageInfo$ServiceDispatcher.doConnected(ActivityThread.java:1247)
android.app.ActivityThread$PackageInfo$ServiceDispatcher$RunConnection.run(ActivityThread.java:1264)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:123)
android.app.ActivityThread.main(ActivityThread.java:4627)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:521)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
dalvik.system.NativeStart.main(Native Method)

Crash on view creation due to NPE

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 11:56:52 30.04.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: android.view.InflateException
****** Exception message: Binary XML file line #21: Error inflating class com.anysoftkeyboard.keyboards.views.AnyKeyboardView
****** Trace trace:
android.view.LayoutInflater.createView(LayoutInflater.java:518)
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
android.view.LayoutInflater.inflate(LayoutInflater.java:386)
android.view.LayoutInflater.inflate(LayoutInflater.java:320)
android.view.LayoutInflater.inflate(LayoutInflater.java:276)
com.anysoftkeyboard.AnySoftKeyboard.onCreateInputView(AnySoftKeyboard.java:385)
android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:1049)
android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1412)
android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1387)
android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:393)
android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:176)
com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:150)
android.app.ActivityThread.main(ActivityThread.java:4263)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
dalvik.system.NativeStart.main(Native Method)
*** Cause: java.lang.reflect.InvocationTargetException
** Message: null
** Stack track: java.lang.reflect.Constructor.constructNative(Native Method)
java.lang.reflect.Constructor.newInstance(Constructor.java:415)
android.view.LayoutInflater.createView(LayoutInflater.java:505)
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
android.view.LayoutInflater.inflate(LayoutInflater.java:386)
android.view.LayoutInflater.inflate(LayoutInflater.java:320)
android.view.LayoutInflater.inflate(LayoutInflater.java:276)
com.anysoftkeyboard.AnySoftKeyboard.onCreateInputView(AnySoftKeyboard.java:385)
android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:1049)
android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1412)
android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1387)
android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:393)
android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:176)
com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:150)
android.app.ActivityThread.main(ActivityThread.java:4263)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
dalvik.system.NativeStart.main(Native Method)
*** Cause: java.lang.NullPointerException
** Message: null
** Stack track: com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.(AnyKeyboardBaseView.java:566)
com.anysoftkeyboard.keyboards.views.AnyKeyboardView.(AnyKeyboardView.java:80)
com.anysoftkeyboard.keyboards.views.AnyKeyboardView.(AnyKeyboardView.java:76)
java.lang.reflect.Constructor.constructNative(Native Method)
java.lang.reflect.Constructor.newInstance(Constructor.java:415)
android.view.LayoutInflater.createView(LayoutInflater.java:505)
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
android.view.LayoutInflater.inflate(LayoutInflater.java:386)
android.view.LayoutInflater.inflate(LayoutInflater.java:320)
android.view.LayoutInflater.inflate(LayoutInflater.java:276)
com.anysoftkeyboard.AnySoftKeyboard.onCreateInputView(AnySoftKeyboard.java:385)
android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:1049)
android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1412)
android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1387)
android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:393)
android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:176)
com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:150)
android.app.ActivityThread.main(ActivityThread.java:4263)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
dalvik.system.NativeStart.main(Native Method)


****** Device information:
BRAND:sprint
DEVICE:supersonic
Build ID:4.67.651.3
changelist number:GRJ90
MODEL:PC36100
PRODUCT:htc_supersonic
TAGS:release-keys
VERSION.INCREMENTAL:239674.3
VERSION.RELEASE:2.3.5
VERSION.SDK_INT:10
That's all I know.


****** Logcat:
Not supported at the moment

Move to FrankenRobot

DeviceSpecific
CloudBackupRequester
MotionEvent
GestureDetector
DictionaryFactory
VoiceInput
Clipboard

Crash in AddOnListPreference window

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 09:19:05 19.12.2012
****** Application name: AnySoftKeyboard v20121215-eye-candy release 81


****** Exception type: java.lang.NullPointerException
****** Exception message: null
****** Trace trace:
com.anysoftkeyboard.ui.settings.AddOnListPreference$AddOnArrayAdapter.onClick(AddOnListPreference.java:143)
android.view.View.performClick(View.java:2494)
android.view.View$PerformClick.run(View.java:9122)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3806)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
dalvik.system.NativeStart.main(Native Method)

Crash on Fallback DB load: Couldn't init cursor window

Hi. It seems that we have crashed.... Here are some details: ****** UTC Time: 22:57:50 25.04.2012 ****** Application name: AnySoftKeyboard v20120423-friendly-chamaeleon release 69 ****************************** ****** Exception type: java.lang.RuntimeException ****** Exception message: An error occured while executing doInBackground() ****** Trace trace: android.os.AsyncTask$3.done(AsyncTask.java:200) java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) java.util.concurrent.FutureTask.setException(FutureTask.java:125) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) java.lang.Thread.run(Thread.java:1019) *** Cause: java.lang.IllegalStateException ** Message: Couldn't init cursor window ** Stack track: android.database.CursorWindow.native_init(Native Method) android.database.CursorWindow.(CursorWindow.java:41) android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:276) android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:268) com.anysoftkeyboard.dictionaries.DictionarySQLiteConnection.getAllWords(DictionarySQLiteConnection.java:142) com.anysoftkeyboard.dictionaries.SQLiteUserDictionaryBase.loadDictionaryAsync(SQLiteUserDictionaryBase.java:31) com.anysoftkeyboard.dictionaries.FallbackUserDictionary.loadDictionary(FallbackUserDictionary.java:35) com.anysoftkeyboard.dictionaries.SafeUserDictionary.loadDictionaryAsync(SafeUserDictionary.java:72) com.anysoftkeyboard.dictionaries.SafeUserDictionary.access$0(SafeUserDictionary.java:60) com.anysoftkeyboard.dictionaries.SafeUserDictionary$LoadDictionaryTask.doInBackground(SafeUserDictionary.java:51) com.anysoftkeyboard.dictionaries.SafeUserDictionary$LoadDictionaryTask.doInBackground(SafeUserDictionary.java:1) android.os.AsyncTask$2.call(AsyncTask.java:185) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) java.lang.Thread.run(Thread.java:1019) ****************************** ****** Device information: BRAND:samsung DEVICE:GT-I9100T Build ID:GINGERBREAD.JIKJ1 changelist number:GINGERBREAD MODEL:GT-I9100T PRODUCT:GT-I9100T TAGS:release-keys VERSION.INCREMENTAL:JIKJ1 VERSION.RELEASE:2.3.5 VERSION.SDK_INT:10 That's all I know. ****************************** ****** Logcat: Not supported at the moment

"pointerIndex out of range" on getPointerId

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 21:49:40 09.05.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.IllegalArgumentException
****** Exception message: pointerIndex out of range
****** Trace trace:
android.view.MotionEvent.nativeGetPointerId(Native Method)
android.view.MotionEvent.getPointerId(MotionEvent.java:1927)
android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:224)
com.anysoftkeyboard.devicespecific.AskV8GestureDetector.onTouchEvent(AskV8GestureDetector.java:40)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.onTouchEvent(AnyKeyboardBaseView.java:1995)
com.anysoftkeyboard.keyboards.views.AnyKeyboardView.onTouchEvent(AnyKeyboardView.java:306)
android.view.View.dispatchTouchEvent(View.java:5486)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1892)
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371)
android.app.Dialog.dispatchTouchEvent(Dialog.java:725)
android.inputmethodservice.SoftInputWindow.dispatchTouchEvent(SoftInputWindow.java:83)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1840)
android.view.View.dispatchPointerEvent(View.java:5662)
android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2863)
android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4340)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
dalvik.system.NativeStart.main(Native Method)


****** Device information:
BRAND:samsung
DEVICE:maguro
Build ID:ICL53F.I9250XWLA2
changelist number:ICL53F
MODEL:Galaxy Nexus
PRODUCT:yakjuxw
TAGS:release-keys
VERSION.INCREMENTAL:I9250XWLA2
VERSION.RELEASE:4.0.2
VERSION.SDK_INT:14
That's all I know.


****** Logcat:
Not supported at the moment

Keyboard switches back to QWERTY Latin in Firefox address bar

From Mozilla bug 802975 (https://bugzilla.mozilla.org/show_bug.cgi?id=802975),

  1. Enable the "QWERTY Latin keyboard" and another keyboard (e.g. Hebrew keyboard)
  2. Open the Firefox address bar
  3. Switch to Hebrew keyboard
  4. Enter a Hebrew character

The keyboard is switched back to QWERTY Latin keyboard.

This occurs because after entering the first character, Firefox calls InputMethodManager.restartInput() to change the keyboard action from "go" to "search". However, AnySoftKeyboard switches back to QWERTY when restarting. This does not happen with the Android keyboard. This also seems to not happen when the "QWERTY Latin keyboard" is disabled. Thanks for looking into the issue!

BadTokenException while storing/loading user dictionary from SDCARD

****** UTC Time: 03:24:03 05.02.2013
****** Application name: AnySoftKeyboard v20130203-skinny-eye-candy release 91


****** Exception type: android.view.WindowManager$BadTokenException
****** Exception message: Unable to add window -- token android.os.BinderProxy@41a125c8 is not valid; is your activity running?
****** Trace trace:
android.view.ViewRootImpl.setView(ViewRootImpl.java:513)
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
android.view.Window$LocalWindowManager.addView(Window.java:537)
android.app.Dialog.show(Dialog.java:278)
android.app.Activity.showDialog(Activity.java:2910)
android.app.Activity.showDialog(Activity.java:2860)
com.anysoftkeyboard.ui.settings.RestoreUserWordsAsyncTask.applyResults(RestoreUserWordsAsyncTask.java:145)
com.anysoftkeyboard.ui.settings.UserWordsEditorAsyncTask.onPostExecute(UserWordsEditorAsyncTask.java:50)
com.anysoftkeyboard.ui.settings.UserWordsEditorAsyncTask.onPostExecute(UserWordsEditorAsyncTask.java:9)
android.os.AsyncTask.finish(AsyncTask.java:602)
android.os.AsyncTask.access$600(AsyncTask.java:156)
android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4448)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
dalvik.system.NativeStart.main(Native Method)

NPE in getCursonPosition

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 14:01:54 10.05.2012
****** Application name: AnySoftKeyboard v20120510 release 72


****** Exception type: java.lang.NullPointerException
****** Exception message: null
****** Trace trace:
com.anysoftkeyboard.AnySoftKeyboard.getCursorPosition(AnySoftKeyboard.java:749)
com.anysoftkeyboard.AnySoftKeyboard.access$100(AnySoftKeyboard.java:105)
com.anysoftkeyboard.AnySoftKeyboard$1.handleMessage(AnySoftKeyboard.java:250)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4507)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
dalvik.system.NativeStart.main(Native Method)

Crash in words editor

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 15:55:01 20.12.2012
****** Application name: AnySoftKeyboard v20121215-eye-candy release 81


****** Exception type: java.lang.IllegalStateException
****** Exception message: this should only be called when the cursor is valid
****** Trace trace:
android.widget.CursorAdapter.getView(CursorAdapter.java:175)
com.anysoftkeyboard.ui.settings.UserDictionaryEditorActivity$MyAdapter.getView(UserDictionaryEditorActivity.java:598)
android.widget.AbsListView.obtainView(AbsListView.java:1571)
android.widget.ListView.makeAndAddView(ListView.java:1782)
android.widget.ListView.fillUp(ListView.java:735)
android.widget.ListView.fillGap(ListView.java:681)
android.widget.AbsListView.trackMotionScroll(AbsListView.java:4151)
android.widget.AbsListView.onTouchEvent(AbsListView.java:2592)
android.widget.ListView.onTouchEvent(ListView.java:3669)
android.view.View.dispatchTouchEvent(View.java:3885)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1769)
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1135)
android.app.Activity.dispatchTouchEvent(Activity.java:2096)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1753)
android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2227)
android.view.ViewRoot.handleMessage(ViewRoot.java:1886)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3687)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
dalvik.system.NativeStart.main(Native Method)

NPE In AutoDictionary flush

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 21:39:32 10.05.2012
****** Application name: AnySoftKeyboard v20120510 release 72


****** Exception type: java.lang.RuntimeException
****** Exception message: An error occured while executing doInBackground()
****** Trace trace:
android.os.AsyncTask$3.done(AsyncTask.java:200)
java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
java.util.concurrent.FutureTask.setException(FutureTask.java:124)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
java.util.concurrent.FutureTask.run(FutureTask.java:137)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
java.lang.Thread.run(Thread.java:1096)
*** Cause: java.lang.NullPointerException
** Message: null
** Stack track: com.anysoftkeyboard.dictionaries.AutoDictionary$UpdateDbTask.flushToDB(AutoDictionary.java:274)
com.anysoftkeyboard.dictionaries.AutoDictionary$UpdateDbTask.doInBackground(AutoDictionary.java:251)
com.anysoftkeyboard.dictionaries.AutoDictionary$UpdateDbTask.doInBackground(AutoDictionary.java:231)
android.os.AsyncTask$2.call(AsyncTask.java:185)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
java.util.concurrent.FutureTask.run(FutureTask.java:137)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
java.lang.Thread.run(Thread.java:1096)

Russian key layout which uses long-press

I've made a Russian key layout for AnySoftKeyboard, where keys are not so tightly packed as in the default layout, less used keys are invoked with long-press. The 27-key layout has the same button size as the English key layout, and the 25-key layout is for budget phones with tiny screens, which are quite popular where I live.
It would be nice to merge this thing into the Russian language pack, however it's not inside Git - I've found it at the old SVN:
http://code.google.com/p/softkeyboard/source/browse/trunk/LanguagePacks/
but it's kind of outdated.
So I've modified the LanguagePack project from Git:
https://github.com/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys

The APK file to test, it does not contain a dictionary:
https://github.com/downloads/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys/ASK_Russian_bigkeys.apk

If you'll be merging it into the old language pack, you only need to copy these files:
https://github.com/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys/blob/Russian-bigkeys/res/xml/keyboards.xml
https://github.com/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys/blob/Russian-bigkeys/res/xml/russian25.xml
https://github.com/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys/blob/Russian-bigkeys/res/xml/russian27.xml
https://github.com/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys/blob/Russian-bigkeys/res/values/strings.xml
https://github.com/pelya/AnySoftKeyboard-LanguagePack-Russian-bigkeys/blob/Russian-bigkeys/res/values-ru/strings.xml
If that's too bothersome to you, I'll just release my own apk file to the Android Market/Google Play.

OutOfMemory in AutoText

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 21:12:14 19.12.2012
****** Application name: AnySoftKeyboard v20121126-eye-candy release 80


****** Exception type: java.lang.OutOfMemoryError
****** Exception message: null
****** Trace trace:
com.anysoftkeyboard.dictionaries.AutoText.(AutoText.java:80)
com.anysoftkeyboard.dictionaries.DictionaryAddOnAndBuilder.createAutoText(DictionaryAddOnAndBuilder.java:66)
com.anysoftkeyboard.dictionaries.Suggest.setMainDictionary(Suggest.java:146)
com.anysoftkeyboard.AnySoftKeyboard.setDictionariesForCurrentKeyboard(AnySoftKeyboard.java:3315)
com.anysoftkeyboard.AnySoftKeyboard.onStartInputView(AnySoftKeyboard.java:745)
android.inputmethodservice.InputMethodService.doStartInput(InputMethodService.java:1676)
android.inputmethodservice.InputMethodService$InputMethodImpl.startInput(InputMethodService.java:448)
android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:158)
com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4507)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
dalvik.system.NativeStart.main(Native Method)

NPE crash on drawing candidates view

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 10:34:23 30.04.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.NullPointerException
****** Exception message: null
****** Trace trace:
com.anysoftkeyboard.keyboards.views.CandidateView.onDraw(CandidateView.java:339)
android.view.View.draw(View.java:6843)
android.view.ViewGroup.drawChild(ViewGroup.java:1640)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
android.view.View.draw(View.java:6743)
android.widget.FrameLayout.draw(FrameLayout.java:352)
com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2049)
android.view.ViewRoot.draw(ViewRoot.java:1429)
android.view.ViewRoot.performTraversals(ViewRoot.java:1172)
android.view.ViewRoot.handleMessage(ViewRoot.java:1749)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:123)
android.app.ActivityThread.main(ActivityThread.java:4627)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:521)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
dalvik.system.NativeStart.main(Native Method)

Some questions about building dictionaries

As you may know, f-droid.org distributes this app which it builds from source. We don't build language packs but recommend people to build themselves or download via code.google.com. Now the script for creating dictionaries is only in the source code there. It's only visible by direct link and requires the xml dictionary to be in dict and not in e.g. en/. I can't find it in AnySoftKeyboard-Tools on github.com: is there a reason for this? Anyway I have built something called res/raw/words_1.dict which I assume is OK.

Also, is it ok to delete keyboard_keystore?

Crash on words editor onPostExecute function

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 09:59:10 27.04.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.IllegalArgumentException
****** Exception message: View not attached to window manager
****** Trace trace:
android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)
android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200)
android.view.Window$LocalWindowManager.removeView(Window.java:432)
android.app.Dialog.dismissDialog(Dialog.java:278)
android.app.Dialog.access$000(Dialog.java:71)
android.app.Dialog$1.run(Dialog.java:111)
android.app.Dialog.dismiss(Dialog.java:268)
com.anysoftkeyboard.ui.settings.UserDictionaryEditorActivity$MyAsyncTask.onPostExecute(UserDictionaryEditorActivity.java:73)
com.anysoftkeyboard.ui.settings.UserDictionaryEditorActivity$MyAsyncTask.onPostExecute(UserDictionaryEditorActivity.java:1)
android.os.AsyncTask.finish(AsyncTask.java:417)
android.os.AsyncTask.access$300(AsyncTask.java:127)
android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:123)
android.app.ActivityThread.main(ActivityThread.java:4627)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:521)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
dalvik.system.NativeStart.main(Native Method)

NPE crash on IInputMethodSessionWrapper

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 18:09:34 01.05.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.NullPointerException
****** Exception message: null
****** Trace trace:
android.inputmethodservice.IInputMethodSessionWrapper.executeMessage(IInputMethodSessionWrapper.java:93)
com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3694)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
dalvik.system.NativeStart.main(Native Method)

Revisit bottom row

A better bottom row is required.
Main issue is that the space bar is too short.

@kati42 and @herrlado , can you suggest how to fix this? Which keys do you think it is safe to remove?

NPE in AddOnListPreference on rotating device

****** UTC Time: 00:21:15 28.11.2012
****** Application name: AnySoftKeyboard v20121126-eye-candy release 80


****** Exception type: java.lang.RuntimeException
****** Exception message: Unable to start activity ComponentInfo{com.menny.android.anysoftkeyboard/com.anysoftkeyboard.ui.settings.TopRowSelector}: java.lang.NullPointerException
****** Trace trace:
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2953)
android.app.ActivityThread.access$1600(ActivityThread.java:123)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3835)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
dalvik.system.NativeStart.main(Native Method)
*** Cause: java.lang.NullPointerException
** Message: null
** Stack track: java.util.Arrays$ArrayList.(Arrays.java:47)
java.util.Arrays.asList(Arrays.java:169)
android.widget.ArrayAdapter.(ArrayAdapter.java:125)
com.anysoftkeyboard.ui.settings.AddOnListPreference$AddOnArrayAdapter.(AddOnListPreference.java:71)
com.anysoftkeyboard.ui.settings.AddOnListPreference.onPrepareDialogBuilder(AddOnListPreference.java:44)
android.preference.DialogPreference.showDialog(DialogPreference.java:293)
android.preference.DialogPreference.onRestoreInstanceState(DialogPreference.java:441)
android.preference.ListPreference.onRestoreInstanceState(ListPreference.java:252)
android.preference.Preference.dispatchRestoreInstanceState(Preference.java:1552)
android.preference.PreferenceGroup.dispatchRestoreInstanceState(PreferenceGroup.java:320)
android.preference.PreferenceGroup.dispatchRestoreInstanceState(PreferenceGroup.java:320)
android.preference.Preference.restoreHierarchyState(Preference.java:1534)
android.preference.PreferenceActivity.onRestoreInstanceState(PreferenceActivity.java:145)
android.app.Activity.performRestoreInstanceState(Activity.java:816)
android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2953)
android.app.ActivityThread.access$1600(ActivityThread.java:123)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3835)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
dalvik.system.NativeStart.main(Native Method)

Exception in loading contacts dictionary - HTC device

android.os.AsyncTask$3.done(AsyncTask.java:200)
java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
java.util.concurrent.FutureTask.setException(FutureTask.java:125)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
java.util.concurrent.FutureTask.run(FutureTask.java:138)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
java.lang.Thread.run(Thread.java:1027)
*** Cause: android.database.sqlite.SQLiteException
** Message: no such table: view_htc_contacts_restricted: , while compiling: SELECT _id, display_name, starred, times_contacted FROM view_htc_contacts_restricted WHERE ((in_visible_group=1) AND (( ext_account_Type<>'DeviceOnly' ) OR ( ext_account_Type IS NULL ) ))
** Stack track: android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:372)
android.content.ContentProviderProxy.query(ContentProviderNative.java:408)
android.content.ContentResolver.query(ContentResolver.java:264)
com.anysoftkeyboard.dictionaries.ContactsDictionary.getWordsCursor(ContactsDictionary.java:183)
com.anysoftkeyboard.dictionaries.ContactsDictionary.loadDictionaryAsync(ContactsDictionary.java:79)
com.anysoftkeyboard.dictionaries.ContactsDictionary$1$1.doInBackground(ContactsDictionary.java:66)
com.anysoftkeyboard.dictionaries.ContactsDictionary$1$1.doInBackground(ContactsDictionary.java:63)
android.os.AsyncTask$2.call(AsyncTask.java:185)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
java.util.concurrent.FutureTask.run(FutureTask.java:138)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
java.lang.Thread.run(Thread.java:1027)

Word Suggestion for Devanagari.

I think I have seen somewhere that the word suggestion doesent work after the use of symbols but this is problem for Devanagari Languages like Nepali, Hindi etc. because the symbols (we call it Matra) are part of the word in those language. I have made a devanagari keyboard layout and a Nepali Dictionary based on AnySoftKeyboard but the suggestion doesnt work because we use devanagari symbols and the word suggestion doesnt after that. I hope you can understand the problem and provide option to break or restart word suggestion only after space key.

Crash while trying to show key preview on MIUI ROM

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 20:19:45 30.04.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.RuntimeException
****** Exception message: Failed to register input channel. Check logs for details.
****** Trace trace:
android.view.InputQueue.nativeRegisterInputChannel(Native Method)
android.view.InputQueue.registerInputChannel(InputQueue.java:92)
android.view.ViewRoot.setView(ViewRoot.java:569)
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
android.widget.PopupWindow.invokePopup(PopupWindow.java:907)
android.widget.PopupWindow.showAtLocation(PopupWindow.java:767)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.showKey(AnyKeyboardBaseView.java:1634)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.access$0(AnyKeyboardBaseView.java:1540)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView$UIHandler.handleMessage(AnyKeyboardBaseView.java:259)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3703)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
dalvik.system.NativeStart.main(Native Method)

False suggestion restart upon backspace after auto-pick

  1. create a new mail message in gmail app, and enter the Message text-box
  2. write a word, and press ENTER. Make sure there is a space at the end of the line.
  3. write another word (different from the last word you typed), but with a typo, so when you press SPACE, the correct word is auto-picked.
  4. move the cursor back to the line above, by thumb moving. The cursor should be located at the end of the first row, after the space.
  5. press backspace.

The word will be replaced with the word in the second line.

Suggestions interfere with address input in CycleStreets app

http://code.google.com/p/softkeyboard/issues/detail?id=971

  1. Download an install http://www.jezuk.co.uk/cyclestreets/jezhiggins/CycleStreets-latest.apk
  2. Open the app press menu -> Plan a route
  3. Enter UK post codes in start and end points, i.e. EC2A 4HJ and W2 5UH (with space)
  4. Pick the address from the auto-complete suggestion (in looks like a dropdown list, below the input text box).
  5. Click Find Route

It will ask you to select an address, rather than just use the UK postcode.

Text correction animation - all

When a word is automatically replaced in the input field, the new word should be shown momentarily just above the last pressed key.
This should help users quickly understand that a replacing took place.

NPE Crash on auto dictionary

****** UTC Time: 18:43:02 08.06.2012
****** Application name: AnySoftKeyboard v20120528 release 74


****** Exception type: java.lang.NullPointerException
****** Exception message: null
****** Trace trace:
com.anysoftkeyboard.dictionaries.UserDictionaryBase.getWordFrequencyRec(UserDictionaryBase.java:383)
com.anysoftkeyboard.dictionaries.UserDictionaryBase.getWordFrequency(UserDictionaryBase.java:371)
com.anysoftkeyboard.dictionaries.AutoDictionary.isValidWord(AutoDictionary.java:106)
com.anysoftkeyboard.AnySoftKeyboard.checkAddToDictionary(AnySoftKeyboard.java:1336)
com.anysoftkeyboard.AnySoftKeyboard.addToDictionaries(AnySoftKeyboard.java:1312)
com.anysoftkeyboard.AnySoftKeyboard.commitTyped(AnySoftKeyboard.java:1362)
com.anysoftkeyboard.AnySoftKeyboard.handleSeparator(AnySoftKeyboard.java:2341)
com.anysoftkeyboard.AnySoftKeyboard.onKey(AnySoftKeyboard.java:1759)
com.anysoftkeyboard.keyboards.views.PointerTracker.detectAndSendKey(PointerTracker.java:520)
com.anysoftkeyboard.keyboards.views.PointerTracker.onUpEvent(PointerTracker.java:388)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.onUpEvent(AnyKeyboardBaseView.java:2180)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.sendOnXEvent(AnyKeyboardBaseView.java:2147)
com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView.onTouchEvent(AnyKeyboardBaseView.java:2123)
com.anysoftkeyboard.keyboards.views.AnyKeyboardView.onTouchEvent(AnyKeyboardView.java:306)
android.view.View.dispatchTouchEvent(View.java:5541)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1912)
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371)
android.app.Dialog.dispatchTouchEvent(Dialog.java:738)
android.inputmethodservice.SoftInputWindow.dispatchTouchEvent(SoftInputWindow.java:75)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1860)
android.view.View.dispatchPointerEvent(View.java:5721)
android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2890)
android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2466)
android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:845)
android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2475)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4575)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
dalvik.system.NativeStart.main(Native Method)


****** Device information:
BRAND:samsung
DEVICE:GT-I9000
Build ID:IMM76I
changelist number:IML74K
MODEL:GT-I9000
PRODUCT:GT-I9000
TAGS:release-keys
VERSION.INCREMENTAL:eng.roman.20120515.061202
VERSION.RELEASE:4.0.4
VERSION.SDK_INT:15
That's all I know.


****** Logcat:
Not supported at the moment

Crash on Voice Input result

Hi. It seems that we have crashed.... Here are some details:
****** UTC Time: 10:08:51 05.05.2012
****** Application name: AnySoftKeyboard v20120425-almost-35-bday-IL64 release 70


****** Exception type: java.lang.IllegalArgumentException
****** Exception message: Service not registered: com.anysoftkeyboard.voice.ServiceBridge$ConnectionRequest@405f9c68
****** Trace trace:
android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:934)
android.app.ContextImpl.unbindService(ContextImpl.java:950)
android.content.ContextWrapper.unbindService(ContextWrapper.java:352)
com.anysoftkeyboard.voice.ServiceBridge$1.onResult(ServiceBridge.java:52)
com.anysoftkeyboard.voice.ServiceHelper.notifyResult(ServiceHelper.java:66)
com.anysoftkeyboard.voice.ServiceBridge$ConnectionResponse.onServiceConnected(ServiceBridge.java:114)
android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1107)
android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1124)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:150)
android.app.ActivityThread.main(ActivityThread.java:4293)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
dalvik.system.NativeStart.main(Native Method)

Can't build from sources

I suppose this is a very newbie question, but I want to figure it out.

In Eclipse it gives many errors like this: AnySoftKeyboard-AnySoftKeyboard-2a4c05d\res\values\styles.xml:34: error: Error: No resource found that matches the given name: attr 'iconKeyShift'.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.