abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2View.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2View.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index 1b08cf3..9234366 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -1,15 +1,19 @@
package juloo.keyboard2;
import android.content.Context;
+import android.content.ContextWrapper;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
+import android.inputmethodservice.InputMethodService;
+import android.os.Build.VERSION;
import android.os.Vibrator;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
+import android.view.Window;
public class Keyboard2View extends View
implements View.OnTouchListener, Pointers.IPointerEventHandler
@@ -49,10 +53,35 @@ public class Keyboard2View extends View
_theme = new Theme(getContext(), attrs);
_config = Config.globalConfig();
_pointers = new Pointers(this, _config);
+ refresh_navigation_bar(context);
setOnTouchListener(this);
reset();
}
+ private Window getParentWindow(Context context)
+ {
+ if (context instanceof InputMethodService)
+ return ((InputMethodService)context).getWindow().getWindow();
+ if (context instanceof ContextWrapper)
+ return getParentWindow(((ContextWrapper)context).getBaseContext());
+ return null;
+ }
+
+ public void refresh_navigation_bar(Context context)
+ {
+ if (VERSION.SDK_INT < 21)
+ return;
+ // The intermediate Window is a [Dialog].
+ Window w = getParentWindow(context);
+ int uiFlags = getSystemUiVisibility();
+ if (_theme.isLightNavBar)
+ uiFlags |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
+ else
+ uiFlags &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
+ w.setNavigationBarColor(_theme.colorNavBar);
+ setSystemUiVisibility(uiFlags);
+ }
+
public void setKeyboard(KeyboardData kw)
{
_keyboard = _config.modify_layout(kw);