Dear Android Team,

             I found that there is some problem in input method feature.
When we switch between two keyboards say "Android keyboard" and "Japanese
Keyboard".  This switch is not happening. Only at the first time switch is
proper, next time onwards its not working. I found that the problem lies
because of  variable "mCurSeq" present in inputMethodManagerService.java
file . This current binding sequence number, is incremented every time
whenever there is a new bind performed. And, it is getting incremented twice
every time a new input method is selected i.e. when we swicth between two
keybaords. On the first increment its value is getting stored in
"mBindSequence" variable which is present in inputMehodManager.java file.
So, "mBinderSequence" value is one less than "mCurSeq". In the file
inputMethodManager.java the value of "mCurSeq" and "mBinderSequence" is
getting compared as shown in the following code

case MSG_UNBIND:
.....

if (mBindSequence == sequence) // sequence is mCurSeq
{
          if (false)
         {
                // XXX the server has already unbound!
                if (mCurMethod != null && mCurrentTextBoxAttribute != null)
               {
                     try
                    {
                           mCurMethod.finishInput();
                    }
                    catch (RemoteException e)
                    {
                           Log.w(TAG, "IME died: " + mCurId, e);
                     }
               }
        }
.....
.....
....
}

The if condition is becoming false and because of this keybaord is not
refreshing. Please tell me the reason to use sequence number technique,
because it is not workinh fine here.
I have fixed the problem, but I want to understand the reason to use
sequence number. Why can't we use a constant sequence number as done in case
of MSG_SHOW_SOFT_INPUT case in handlemessage function in
inputMethodManagerService.java file.


Thanks & Regards
Rakesh Kumar

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to