Tentative fix for the ad misplacement when the app is restored from background, by slvn
This commit is contained in:
@@ -142,8 +142,6 @@ public class MainActivity extends Activity
|
|||||||
{
|
{
|
||||||
_videoLayout.addView(_ad.getView());
|
_videoLayout.addView(_ad.getView());
|
||||||
_ad.getView().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.RIGHT));
|
_ad.getView().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.RIGHT));
|
||||||
_ad.getView().setFocusable(true);
|
|
||||||
_ad.getView().setFocusableInTouchMode(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setContentView(_videoLayout);
|
setContentView(_videoLayout);
|
||||||
@@ -265,9 +263,6 @@ public class MainActivity extends Activity
|
|||||||
{
|
{
|
||||||
_videoLayout.addView(_ad.getView());
|
_videoLayout.addView(_ad.getView());
|
||||||
_ad.getView().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP | Gravity.RIGHT));
|
_ad.getView().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP | Gravity.RIGHT));
|
||||||
_ad.getView().setFocusable(true);
|
|
||||||
_ad.getView().setFocusableInTouchMode(true);
|
|
||||||
_ad.getView().requestFocus();
|
|
||||||
}
|
}
|
||||||
// Receive keyboard events
|
// Receive keyboard events
|
||||||
DimSystemStatusBar.get().dim(_videoLayout);
|
DimSystemStatusBar.get().dim(_videoLayout);
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
#include "SDL_image.h"
|
#include "SDL_image.h"
|
||||||
|
|
||||||
|
#define fprintf(X, ...) __android_log_print(ANDROID_LOG_INFO, "Ballfield", __VA_ARGS__)
|
||||||
|
#define printf(...) __android_log_print(ANDROID_LOG_INFO, "Ballfield", __VA_ARGS__)
|
||||||
|
|
||||||
/*----------------------------------------------------------
|
/*----------------------------------------------------------
|
||||||
Definitions...
|
Definitions...
|
||||||
|
|||||||
Submodule project/jni/application/commandergenius/commandergenius updated: 023025901a...d1b8a7ae03
@@ -3,7 +3,7 @@ AppSettingVersion=17
|
|||||||
LibSdlVersion=1.2
|
LibSdlVersion=1.2
|
||||||
AppName="Admob test"
|
AppName="Admob test"
|
||||||
AppFullName=ws.openarena.sdl
|
AppFullName=ws.openarena.sdl
|
||||||
ScreenOrientation=v
|
ScreenOrientation=h
|
||||||
InhibitSuspend=y
|
InhibitSuspend=y
|
||||||
AppDataDownloadUrl="Game data is 1 Mb|ballfield2.zip"
|
AppDataDownloadUrl="Game data is 1 Mb|ballfield2.zip"
|
||||||
VideoDepthBpp=16
|
VideoDepthBpp=16
|
||||||
@@ -23,7 +23,7 @@ ForceRelativeMouseMode=n
|
|||||||
AppNeedsArrowKeys=n
|
AppNeedsArrowKeys=n
|
||||||
AppNeedsTextInput=y
|
AppNeedsTextInput=y
|
||||||
AppUsesJoystick=n
|
AppUsesJoystick=n
|
||||||
AppHandlesJoystickSensitivity=n
|
AppUsesAccelerometer=n
|
||||||
AppUsesMultitouch=y
|
AppUsesMultitouch=y
|
||||||
NonBlockingSwapBuffers=n
|
NonBlockingSwapBuffers=n
|
||||||
RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP SPACE ESCAPE"
|
RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP SPACE ESCAPE"
|
||||||
|
|||||||
@@ -18,13 +18,15 @@
|
|||||||
#include "SDL_image.h"
|
#include "SDL_image.h"
|
||||||
#include "SDL_android.h"
|
#include "SDL_android.h"
|
||||||
|
|
||||||
|
#define fprintf(X, ...) __android_log_print(ANDROID_LOG_INFO, "Ballfield", __VA_ARGS__)
|
||||||
|
#define printf(...) __android_log_print(ANDROID_LOG_INFO, "Ballfield", __VA_ARGS__)
|
||||||
|
|
||||||
/*----------------------------------------------------------
|
/*----------------------------------------------------------
|
||||||
Definitions...
|
Definitions...
|
||||||
----------------------------------------------------------*/
|
----------------------------------------------------------*/
|
||||||
|
|
||||||
#define SCREEN_W 480
|
#define SCREEN_W 800
|
||||||
#define SCREEN_H 800
|
#define SCREEN_H 480
|
||||||
|
|
||||||
|
|
||||||
#define BALLS 300
|
#define BALLS 300
|
||||||
@@ -638,51 +640,17 @@ int main(int argc, char* argv[])
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(evt.type == SDL_MOUSEBUTTONUP || evt.type == SDL_MOUSEBUTTONDOWN)
|
if(evt.type == SDL_MOUSEBUTTONUP || evt.type == SDL_MOUSEBUTTONDOWN)
|
||||||
{
|
|
||||||
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "SDL mouse button event: evt %s state %s button %d coords %d:%d", evt.type == SDL_MOUSEBUTTONUP ? "UP " : "DOWN" , evt.button.state == SDL_PRESSED ? "PRESSED " : "RELEASED", (int)evt.button.button, (int)evt.button.x, (int)evt.button.y);
|
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "SDL mouse button event: evt %s state %s button %d coords %d:%d", evt.type == SDL_MOUSEBUTTONUP ? "UP " : "DOWN" , evt.button.state == SDL_PRESSED ? "PRESSED " : "RELEASED", (int)evt.button.button, (int)evt.button.x, (int)evt.button.y);
|
||||||
if(evt.key.keysym.sym == SDLK_ESCAPE)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if(evt.type == SDL_VIDEORESIZE)
|
|
||||||
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "SDL resize event: %d x %d", evt.resize.w, evt.resize.h);
|
|
||||||
if(evt.type == SDL_ACTIVEEVENT)
|
|
||||||
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "======= SDL active event: gain %d state %d", evt.active.gain, evt.active.state);
|
|
||||||
/*
|
|
||||||
if( evt.type == SDL_ACTIVEEVENT && evt.active.gain == 0 && evt.active.state & SDL_APPACTIVE )
|
|
||||||
{
|
|
||||||
// We've lost GL context, we are not allowed to do any GFX output here, or app will crash!
|
|
||||||
while( 1 )
|
|
||||||
{
|
|
||||||
SDL_PollEvent(&evt);
|
|
||||||
if( evt.type == SDL_ACTIVEEVENT && evt.active.gain && evt.active.state & SDL_APPACTIVE )
|
|
||||||
{
|
|
||||||
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "======= SDL active event: gain %d state %d", evt.active.gain, evt.active.state);
|
|
||||||
SDL_Flip(SDL_GetVideoSurface()); // One SDL_Flip() call is required here to restore OpenGL context
|
|
||||||
// Re-load all textures, matrixes and all other GL states if we're in SDL+OpenGL mode
|
|
||||||
// Re-load all images to SDL_Texture if we're using it
|
|
||||||
// Now we can draw
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// Process network stuff, maybe play some sounds using SDL_ANDROID_PauseAudioPlayback() / SDL_ANDROID_ResumeAudioPlayback()
|
|
||||||
SDL_Delay(300);
|
|
||||||
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "Waiting");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if( evt.type == SDL_JOYAXISMOTION )
|
|
||||||
{
|
|
||||||
if( evt.jaxis.which == 0 ) // 0 = The accelerometer
|
|
||||||
continue;
|
|
||||||
int joyid = evt.jaxis.which - 1;
|
|
||||||
touchPointers[joyid][evt.jaxis.axis] = evt.jaxis.value; // Axis 0 and 1 are coordinates, 2 and 3 are pressure and touch point radius
|
|
||||||
}
|
|
||||||
if( evt.type == SDL_JOYBUTTONDOWN || evt.type == SDL_JOYBUTTONUP )
|
if( evt.type == SDL_JOYBUTTONDOWN || evt.type == SDL_JOYBUTTONUP )
|
||||||
|
touchPointers[evt.jbutton.button][PTR_PRESSED] = (evt.jbutton.state == SDL_PRESSED);
|
||||||
|
if( evt.type == SDL_JOYBALLMOTION )
|
||||||
{
|
{
|
||||||
if( evt.jbutton.which == 0 ) // 0 = The accelerometer
|
touchPointers[evt.jball.ball][0] = evt.jball.xrel;
|
||||||
continue;
|
touchPointers[evt.jball.ball][1] = evt.jball.yrel;
|
||||||
int joyid = evt.jbutton.which - 1;
|
|
||||||
touchPointers[joyid][PTR_PRESSED] = (evt.jbutton.state == SDL_PRESSED);
|
|
||||||
}
|
}
|
||||||
|
if( evt.type == SDL_JOYAXISMOTION )
|
||||||
|
if(evt.jaxis.axis >= 4)
|
||||||
|
touchPointers[evt.jaxis.axis - 4][2] = evt.jaxis.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Animate */
|
/* Animate */
|
||||||
|
|||||||
Reference in New Issue
Block a user