Sub ForceImmersiveMode
Dim jo As JavaObject = Activity
jo.RunMethod("setSystemUiVisibility", Array As Object(5894)) '3846 - non-sticky
Activity.Width = GetRealWidth
Activity.Height = GetRealHeight
Activity.RemoveAllViews
Activity.LoadLayout("1")
Activity.Invalidate
End Sub
Sub Activity_WindowFocusChanged(HasFocus As Boolean)
If HasFocus Then
ForceImmersiveMode
End If
End Sub
Sub GetRealWidth As Int
Dim p As Phone
If p.SdkVersion >= 17 Then
Dim jo As JavaObject
jo = jo.InitializeContext.RunMethodJO("getWindowManager", Null).RunMethod("getDefaultDisplay", Null)
Dim metrics As JavaObject
metrics.InitializeNewInstance("android.util.DisplayMetrics", Null)
jo.RunMethod("getRealMetrics", Array(metrics))
Return metrics.GetField("widthPixels")
Else
Return GetDeviceLayoutValues.Width
End If
End Sub
Sub GetRealHeight As Int
Dim p As Phone
If p.SdkVersion >= 17 Then
Dim jo As JavaObject
jo = jo.InitializeContext.RunMethodJO("getWindowManager", Null).RunMethod("getDefaultDisplay", Null)
Dim metrics As JavaObject
metrics.InitializeNewInstance("android.util.DisplayMetrics", Null)
jo.RunMethod("getRealMetrics", Array(metrics))
Return metrics.GetField("heightPixels")
Else
Return GetDeviceLayoutValues.Height
End If
End Sub