Fix compatibility

This commit is contained in:
mittorn 2016-08-05 17:43:46 +00:00
parent 3192fd851d
commit f44451e0f1
2 changed files with 69 additions and 14 deletions

View file

@ -126,6 +126,31 @@ public class LauncherActivity extends Activity {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
pixelSpinner.setAdapter(adapter); pixelSpinner.setAdapter(adapter);
Button selectFolderButton = ( Button ) findViewById( R.id.button_select );
selectFolderButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
selectFolder(v);
}
});
((Button)findViewById( R.id.button_launch )).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startXash(v);
}
});
((Button)findViewById( R.id.button_shortcut )).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
createShortcut(v);
}
});
((Button)findViewById( R.id.button_about )).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
aboutXash(v);
}
});
useVolume.setChecked(mPref.getBoolean("usevolume",true)); useVolume.setChecked(mPref.getBoolean("usevolume",true));
checkUpdates.setChecked(mPref.getBoolean("check_updates",true)); checkUpdates.setChecked(mPref.getBoolean("check_updates",true));
updateToBeta.setChecked(mPref.getBoolean("check_betas", false)); updateToBeta.setChecked(mPref.getBoolean("check_betas", false));

View file

@ -39,6 +39,7 @@ public class XashActivity extends Activity {
public static int mPixelFormat; public static int mPixelFormat;
protected static ViewGroup mLayout; protected static ViewGroup mLayout;
public static JoystickHandler handler; public static JoystickHandler handler;
ImmersiveMode mImmersiveMode;
// Joystick constants // Joystick constants
public final static byte JOY_HAT_CENTERED = 0; // bitmasks for hat current status public final static byte JOY_HAT_CENTERED = 0; // bitmasks for hat current status
@ -58,7 +59,7 @@ public class XashActivity extends Activity {
public static SharedPreferences mPref = null; public static SharedPreferences mPref = null;
private static boolean mUseVolume; private static boolean mUseVolume;
private static boolean mEnableImmersive; private static boolean mEnableImmersive;
private static View mDecorView; public static View mDecorView;
// Audio // Audio
private static Thread mAudioThread; private static Thread mAudioThread;
@ -95,7 +96,7 @@ public class XashActivity extends Activity {
mSurface = new EngineSurface(getApplication()); mSurface = new EngineSurface(getApplication());
if( sdk < 12 ) if( sdk < 12 )
handler = new JoystickHandler_stub(); handler = new JoystickHandler();
else else
handler = new JoystickHandler_v12(); handler = new JoystickHandler_v12();
handler.init(); handler.init();
@ -159,6 +160,8 @@ public class XashActivity extends Activity {
// Immersive Mode is available only at >KitKat // Immersive Mode is available only at >KitKat
mEnableImmersive = (sdk >= 19 && mPref.getBoolean("immersive_mode", true)); mEnableImmersive = (sdk >= 19 && mPref.getBoolean("immersive_mode", true));
if( mEnableImmersive )
mImmersiveMode = new ImmersiveMode_v19();
mDecorView = getWindow().getDecorView(); mDecorView = getWindow().getDecorView();
} }
@ -180,16 +183,19 @@ public class XashActivity extends Activity {
{ {
super.onWindowFocusChanged(hasFocus); super.onWindowFocusChanged(hasFocus);
if( mEnableImmersive && hasFocus ) /*if( mEnableImmersive && hasFocus )
{ {
mDecorView.setSystemUiVisibility( mDecorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE 0x00000100 // View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | 0x00000200 // View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | 0x00000400 // View.SYSTEM_UI_FLAG_LAYOUT_FULSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar | 0x00000002 // View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar | 0x00000004 // View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); | 0x00001000 // View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
} );
}*/
if( mImmersiveMode != null )
mImmersiveMode.apply();
} }
public static native int nativeInit(Object arguments); public static native int nativeInit(Object arguments);
@ -913,7 +919,7 @@ class AndroidBug5497Workaround {
} }
interface JoystickHandler /*interface JoystickHandler
{ {
public int getSource(KeyEvent event); public int getSource(KeyEvent event);
public int getSource(MotionEvent event); public int getSource(MotionEvent event);
@ -921,8 +927,8 @@ interface JoystickHandler
public boolean isGamepadButton(int keyCode); public boolean isGamepadButton(int keyCode);
public String keyCodeToString(int keyCode); public String keyCodeToString(int keyCode);
public void init(); public void init();
} }*/
class JoystickHandler_stub implements JoystickHandler class JoystickHandler
{ {
public int getSource(KeyEvent event) public int getSource(KeyEvent event)
{ {
@ -949,7 +955,7 @@ class JoystickHandler_stub implements JoystickHandler
} }
} }
class JoystickHandler_v12 implements JoystickHandler class JoystickHandler_v12 extends JoystickHandler
{ {
@ -1019,3 +1025,27 @@ class JoystickHandler_v12 implements JoystickHandler
} }
class ImmersiveMode
{
void apply()
{
//stub
}
}
class ImmersiveMode_v19 extends ImmersiveMode
{
@Override
void apply()
{
XashActivity.mDecorView.setSystemUiVisibility(
0x00000100 // View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| 0x00000200 // View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| 0x00000400 // View.SYSTEM_UI_FLAG_LAYOUT_FULSCREEN
| 0x00000002 // View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| 0x00000004 // View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| 0x00001000 // View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
}
}