Skip to content

Commit 45f347d

Browse files
committed
Merge branch 'master' into gstreamer-1.0
2 parents 253cc60 + ff1a70f commit 45f347d

File tree

6 files changed

+67
-5
lines changed

6 files changed

+67
-5
lines changed

eclipse_projects/Opaque/src/com/undatech/opaque/Constants.java

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import com.undatech.opaque.input.InputHandlerDirectSwipePan;
2424

2525
public class Constants {
26+
27+
public static final int SDK_INT = android.os.Build.VERSION.SDK_INT;
28+
2629
public static final int DIALOG_DISPLAY_VMS = 0;
2730
public static final int DIALOG_X509_CERT = 1;
2831
public static final int LAUNCH_VNC_VIEWER = 2;

eclipse_projects/Opaque/src/com/undatech/opaque/RemoteCanvasActivity.java

+25-2
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,30 @@ public class RemoteCanvasActivity extends FragmentActivity implements OnKeyListe
132132
boolean hardKeyboardExtended;
133133
boolean extraKeysHidden = false;
134134
int prevBottomOffset = 0;
135-
135+
136+
/**
137+
* Enables sticky immersive mode if supported.
138+
*/
139+
private void enableImmersive() {
140+
if (Constants.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
141+
canvas.setSystemUiVisibility(
142+
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
143+
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
144+
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
145+
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
146+
| View.SYSTEM_UI_FLAG_FULLSCREEN
147+
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
148+
}
149+
}
150+
151+
@Override
152+
public void onWindowFocusChanged(boolean hasFocus) {
153+
super.onWindowFocusChanged(hasFocus);
154+
if (hasFocus) {
155+
enableImmersive();
156+
}
157+
}
158+
136159
@Override
137160
public void onCreate(Bundle icicle) {
138161
super.onCreate(icicle);
@@ -253,6 +276,7 @@ public void onGlobalLayout() {
253276
}
254277
setKeyStowDrawableAndVisibility();
255278
prevBottomOffset = offset;
279+
enableImmersive();
256280
}
257281
});
258282

@@ -1095,5 +1119,4 @@ public void onTextObtained(String obtainedString) {
10951119
canvas.spicecomm.notify();
10961120
}
10971121
}
1098-
10991122
}

eclipse_projects/bVNC/AndroidManifest.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="com.iiordanov.bVNC" android:installLocation="auto"
4-
android:versionCode="3820" android:versionName="v3.8.2">
4+
android:versionCode="3830" android:versionName="v3.8.3">
55

66
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"></uses-sdk>
77
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

eclipse_projects/bVNC/src/com/iiordanov/bVNC/Constants.java

+2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
*/
2626
public class Constants {
2727
public static final String CONNECTION = "com.iiordanov.bVNC.CONNECTION";
28+
29+
public static final int SDK_INT = android.os.Build.VERSION.SDK_INT;
2830

2931
public static final int CONN_TYPE_PLAIN = 0;
3032
public static final int CONN_TYPE_SSH = 1;

eclipse_projects/bVNC/src/com/iiordanov/bVNC/RemoteCanvasActivity.java

+24
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,29 @@ public class RemoteCanvasActivity extends FragmentActivity implements OnKeyListe
136136
boolean extraKeysHidden = false;
137137
int prevBottomOffset = 0;
138138

139+
/**
140+
* Enables sticky immersive mode if supported.
141+
*/
142+
private void enableImmersive() {
143+
if (Constants.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
144+
canvas.setSystemUiVisibility(
145+
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
146+
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
147+
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
148+
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
149+
| View.SYSTEM_UI_FLAG_FULLSCREEN
150+
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
151+
}
152+
}
153+
154+
@Override
155+
public void onWindowFocusChanged(boolean hasFocus) {
156+
super.onWindowFocusChanged(hasFocus);
157+
if (hasFocus) {
158+
enableImmersive();
159+
}
160+
}
161+
139162
@Override
140163
public void onCreate(Bundle icicle) {
141164
super.onCreate(icicle);
@@ -305,6 +328,7 @@ public void onGlobalLayout() {
305328
}
306329
setKeyStowDrawableAndVisibility();
307330
prevBottomOffset = offset;
331+
enableImmersive();
308332
}
309333
});
310334

eclipse_projects/bVNC/src/com/iiordanov/bVNC/dialogs/AutoXCustomizeDialog.java

+12-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import android.app.AlertDialog;
3030
import android.content.Context;
3131
import android.content.Intent;
32+
import android.graphics.Point;
3233
import android.net.Uri;
3334
import android.os.Bundle;
3435
import android.view.View;
@@ -164,8 +165,17 @@ private void setCommandIndexAndCommand (int itemIndex) {
164165
*/
165166
private void setRemoteWidthAndHeight () {
166167

167-
nativeWidth = Math.max(mainConfigDialog.getWidth(), mainConfigDialog.getHeight());
168-
nativeHeight = Math.min(mainConfigDialog.getWidth(), mainConfigDialog.getHeight());
168+
// Android devices with SDK newer than KITKAT use immersive mode and therefore
169+
// we get the resolution of the whole display.
170+
if (Constants.SDK_INT < android.os.Build.VERSION_CODES.KITKAT) {
171+
nativeWidth = Math.max(mainConfigDialog.getWidth(), mainConfigDialog.getHeight());
172+
nativeHeight = Math.min(mainConfigDialog.getWidth(), mainConfigDialog.getHeight());
173+
} else {
174+
Point dS = new Point();
175+
mainConfigDialog.getWindowManager().getDefaultDisplay().getRealSize(dS);
176+
nativeWidth = Math.max(dS.x, dS.y);
177+
nativeHeight = Math.min(dS.x, dS.y);
178+
}
169179

170180
spinnerAutoXGeometry.setSelection(selected.getAutoXResType());
171181
if (selected.getAutoXResType() == Constants.AUTOX_GEOM_SELECT_NATIVE) {

0 commit comments

Comments
 (0)