From 77f8ca315eaf57e275ff0771924c575df37b07aa Mon Sep 17 00:00:00 2001 From: Martin Fleisz Date: Wed, 26 Jun 2013 06:50:10 -0700 Subject: [PATCH] Android: various bug fixes to prevent NullPointerExceptions --- .../freerdpcore/presentation/SessionActivity.java | 9 ++++++++- .../freerdp/freerdpcore/utils/ClipboardManagerProxy.java | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/SessionActivity.java b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/SessionActivity.java index 055b48b73..defaf9247 100644 --- a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/SessionActivity.java +++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/SessionActivity.java @@ -248,6 +248,9 @@ public class SessionActivity extends Activity { Log.v(TAG, "OnConnectionFailure"); + // remove pending move events + uiHandler.removeMessages(UIHandler.SEND_MOVE_EVENT); + if(progressDialog != null) { progressDialog.dismiss(); @@ -264,7 +267,10 @@ public class SessionActivity extends Activity private void OnDisconnected(Context context) { Log.v(TAG, "OnDisconnected"); - + + // remove pending move events + uiHandler.removeMessages(UIHandler.SEND_MOVE_EVENT); + if(progressDialog != null) { progressDialog.dismiss(); @@ -434,6 +440,7 @@ public class SessionActivity extends Activity keyboardMapper = new KeyboardMapper(); keyboardMapper.init(this); + keyboardMapper.reset(this); modifiersKeyboard = new Keyboard(getApplicationContext(), R.xml.modifiers_keyboard); specialkeysKeyboard = new Keyboard(getApplicationContext(), R.xml.specialkeys_keyboard); diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/ClipboardManagerProxy.java b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/ClipboardManagerProxy.java index 83f6ca562..06b800a80 100644 --- a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/ClipboardManagerProxy.java +++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/ClipboardManagerProxy.java @@ -65,7 +65,9 @@ public abstract class ClipboardManagerProxy { String data = null; if (clip != null && clip.getItemCount() > 0) { - data = clip.getItemAt(0).getText().toString(); + CharSequence cs = clip.getItemAt(0).getText(); + if (cs != null) + data = cs.toString(); } if (mListener != null) { mListener.onClipboardChanged(data);