From d2c5d57a90c307eff82f54bbb04c606f2c233589 Mon Sep 17 00:00:00 2001 From: jreziga Date: Tue, 13 Sep 2016 19:53:01 +0200 Subject: [PATCH] Compatibility react 0.29.0 --- .../AndroidKeyboardAdjustModule.java | 94 ++++++++++++++----- 1 file changed, 73 insertions(+), 21 deletions(-) diff --git a/android/src/main/java/net/zubricky/AndroidKeyboardAdjust/AndroidKeyboardAdjustModule.java b/android/src/main/java/net/zubricky/AndroidKeyboardAdjust/AndroidKeyboardAdjustModule.java index 57d804f..0ffcd3b 100644 --- a/android/src/main/java/net/zubricky/AndroidKeyboardAdjust/AndroidKeyboardAdjustModule.java +++ b/android/src/main/java/net/zubricky/AndroidKeyboardAdjust/AndroidKeyboardAdjustModule.java @@ -12,11 +12,8 @@ */ public class AndroidKeyboardAdjustModule extends ReactContextBaseJavaModule { - private Activity activity; - public AndroidKeyboardAdjustModule(ReactApplicationContext reactApplicationContext) { super(reactApplicationContext); - this.activity = getCurrentActivity(); } @Override @@ -26,90 +23,145 @@ public String getName() { @ReactMethod public void setAdjustNothing() { - this.activity.runOnUiThread(new Runnable() { + + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); } }); } @ReactMethod public void setAdjustPan() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); } }); } @ReactMethod public void setAdjustResize() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); } }); } @ReactMethod public void setAdjustUnspecified() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); } }); } @ReactMethod public void setAlwaysHidden() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); } }); } @ReactMethod public void setAlwaysVisible() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } }); } @ReactMethod public void setVisible() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); } }); } @ReactMethod public void setHidden() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); } }); } @ReactMethod public void setUnchanged() { - this.activity.runOnUiThread(new Runnable() { + final Activity activity = getCurrentActivity(); + + if (activity == null) { + return; + } + + activity.runOnUiThread(new Runnable() { @Override public void run() { - AndroidKeyboardAdjustModule.this.activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED); + activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED); } }); }