SDL: new method SDL_ANDROID_RestartMyself() that will restart current app
This commit is contained in:
@@ -129,6 +129,8 @@ public class RestartMainActivity extends Activity
|
||||
} catch (InterruptedException e) {}
|
||||
Intent intent = new Intent(RestartMainActivity.this, MainActivity.class);
|
||||
intent.putExtra(ACTIVITY_AUTODETECT_SCREEN_ORIENTATION, getIntent().getBooleanExtra(ACTIVITY_AUTODETECT_SCREEN_ORIENTATION, false));
|
||||
String restartParams = getIntent().getStringExtra(SDL_RESTART_PARAMS);
|
||||
intent.putExtra(SDL_RESTART_PARAMS, restartParams == null ? "" : restartParams);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
RestartMainActivity.this.startActivity(intent);
|
||||
try{
|
||||
@@ -144,4 +146,5 @@ public class RestartMainActivity extends Activity
|
||||
private FrameLayout _videoLayout = null;
|
||||
|
||||
public static final String ACTIVITY_AUTODETECT_SCREEN_ORIENTATION = "libsdl.org.ACTIVITY_AUTODETECT_SCREEN_ORIENTATION";
|
||||
public static final String SDL_RESTART_PARAMS = "SDL_RESTART_PARAMS";
|
||||
}
|
||||
|
||||
@@ -627,6 +627,8 @@ class Settings
|
||||
Log.d("SDL", "libSDL: Is running on OUYA: " + p.isRunningOnOUYA());
|
||||
if( p.isRunningOnOUYA() )
|
||||
nativeSetEnv( "OUYA", "1" );
|
||||
if (p.getIntent().getStringExtra(RestartMainActivity.SDL_RESTART_PARAMS) != null)
|
||||
nativeSetEnv( RestartMainActivity.SDL_RESTART_PARAMS, p.getIntent().getStringExtra(RestartMainActivity.SDL_RESTART_PARAMS) );
|
||||
try {
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
p.getWindowManager().getDefaultDisplay().getMetrics(dm);
|
||||
|
||||
@@ -923,6 +923,14 @@ class DemoRenderer extends GLSurfaceView_SDL.Renderer
|
||||
}
|
||||
}
|
||||
|
||||
public void restartMyself(String restartParams)
|
||||
{
|
||||
Intent intent = new Intent(context, RestartMainActivity.class);
|
||||
intent.putExtra(RestartMainActivity.SDL_RESTART_PARAMS, restartParams);
|
||||
context.startActivity(intent);
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
private int PowerOf2(int i)
|
||||
{
|
||||
int value = 1;
|
||||
|
||||
Reference in New Issue
Block a user