7
7
import java .io .FileWriter ;
8
8
import java .io .File ;
9
9
10
+ import android .view .ViewGroup ;
11
+ import android .view .SurfaceView ;
10
12
import android .app .Activity ;
11
13
import android .util .Log ;
12
14
import android .widget .Toast ;
13
15
import android .os .Bundle ;
16
+ import android .os .PowerManager ;
17
+ import android .graphics .PixelFormat ;
18
+ import android .view .SurfaceHolder ;
19
+ import android .content .Context ;
20
+ import android .content .pm .PackageManager ;
21
+ import android .content .pm .ApplicationInfo ;
14
22
15
23
import org .libsdl .app .SDLActivity ;
16
24
17
25
import org .renpy .android .ResourceManager ;
18
26
import org .renpy .android .AssetExtract ;
19
27
28
+
20
29
public class PythonActivity extends SDLActivity {
21
30
private static final String TAG = "PythonActivity" ;
22
31
23
32
public static PythonActivity mActivity = null ;
24
33
25
34
private ResourceManager resourceManager ;
35
+
36
+ // Access to our meta-data
37
+ private ApplicationInfo ai ;
38
+ private PowerManager .WakeLock wakeLock ;
26
39
27
40
@ Override
28
41
protected void onCreate (Bundle savedInstanceState ) {
@@ -48,6 +61,24 @@ protected void onCreate(Bundle savedInstanceState) {
48
61
49
62
50
63
// nativeSetEnv("ANDROID_ARGUMENT", getFilesDir());
64
+
65
+ try {
66
+ ai = act .getPackageManager ().getApplicationInfo (
67
+ act .getPackageName (), PackageManager .GET_META_DATA );
68
+ PowerManager pm = (PowerManager ) mActivity .getSystemService (Context .POWER_SERVICE );
69
+ wakeLock = null ;
70
+ if ( (Integer )ai .metaData .get ("wakelock" ) == 1 ) {
71
+ wakeLock = pm .newWakeLock (PowerManager .SCREEN_BRIGHT_WAKE_LOCK , "Screen On" );
72
+ }
73
+ if ( ai .metaData .getInt ("surface.transparent" ) != 0 ) {
74
+ Log .v (TAG , "Surface will be transparent." );
75
+ mSurface .setZOrderOnTop (true );
76
+ mSurface .getHolder ().setFormat (PixelFormat .TRANSPARENT );
77
+ } else {
78
+ Log .i (TAG , "Surface will NOT be transparent" );
79
+ }
80
+ } catch (PackageManager .NameNotFoundException e ) {
81
+ }
51
82
}
52
83
53
84
// This is just overrides the normal SDLActivity, which just loads
@@ -169,6 +200,13 @@ public void unpackData(final String resource, File target) {
169
200
Log .w ("python" , e );
170
201
}
171
202
}
203
+ }
204
+
205
+ public static ViewGroup getLayout () {
206
+ return mLayout ;
207
+ }
172
208
209
+ public static SurfaceView getSurface () {
210
+ return mSurface ;
173
211
}
174
212
}
0 commit comments