Skip to content

Commit f8dc9d8

Browse files
committed
avoid default wavelock, add a --wavelock options if needed.
1 parent e2a7ddf commit f8dc9d8

File tree

4 files changed

+26
-11
lines changed

4 files changed

+26
-11
lines changed

src/build.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ def make_package(args):
338338
ap.add_argument('--minsdk', dest='min_sdk_version', default='8', help='Minimum Android SDK version to use. Default to 8')
339339
ap.add_argument('--window', dest='window', action='store_true',
340340
help='Indicate if the application will be windowed')
341+
ap.add_argument('--wakelock', dest='wakelock', action='store_true',
342+
help='Indicate if the application needs the device to stay on')
341343
ap.add_argument('command', nargs='*', help='The command to pass to ant (debug, release, installd, installr)')
342344

343345
args = ap.parse_args()

src/src/org/renpy/android/PythonActivity.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class PythonActivity extends Activity implements Runnable {
3232
// The SDLSurfaceView we contain.
3333
public static SDLSurfaceView mView = null;
3434
public static PythonActivity mActivity = null;
35+
public static ApplicationInfo mInfo = null;
3536

3637
// Did we launch our thread?
3738
private boolean mLaunchedThread = false;
@@ -101,10 +102,10 @@ protected void onCreate(Bundle savedInstanceState) {
101102

102103
// go to fullscreen mode if requested
103104
try {
104-
ApplicationInfo ai = this.getPackageManager().getApplicationInfo(
105+
this.mInfo = this.getPackageManager().getApplicationInfo(
105106
this.getPackageName(), PackageManager.GET_META_DATA);
106-
Log.v("python", "metadata fullscreen is" + ai.metaData.get("fullscreen"));
107-
if ( (Integer)ai.metaData.get("fullscreen") == 1 ) {
107+
Log.v("python", "metadata fullscreen is" + this.mInfo.metaData.get("fullscreen"));
108+
if ( (Integer)this.mInfo.metaData.get("fullscreen") == 1 ) {
108109
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
109110
WindowManager.LayoutParams.FLAG_FULLSCREEN);
110111
}

src/src/org/renpy/android/SDLSurfaceView.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
import android.opengl.GLSurfaceView;
4444
import android.net.Uri;
4545
import android.os.PowerManager;
46+
import android.content.pm.PackageManager;
47+
import android.content.pm.ApplicationInfo;
4648

4749
import java.io.IOException;
4850
import java.io.InputStream;
@@ -353,7 +355,16 @@ public SDLSurfaceView(Activity act, String argument) {
353355
mArgument = argument;
354356

355357
PowerManager pm = (PowerManager) act.getSystemService(Context.POWER_SERVICE);
356-
wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "Screen On");
358+
359+
wakeLock = null;
360+
try {
361+
ApplicationInfo ai = act.getPackageManager().getApplicationInfo(
362+
act.getPackageName(), PackageManager.GET_META_DATA);
363+
if ( (Integer)ai.metaData.get("wavelock") == 1 ) {
364+
wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "Screen On");
365+
}
366+
} catch (PackageManager.NameNotFoundException e) {
367+
}
357368
}
358369

359370

@@ -437,7 +448,8 @@ public void onPause() {
437448
}
438449
}
439450

440-
wakeLock.release();
451+
if ( wakeLock != null )
452+
wakeLock.release();
441453

442454
}
443455

@@ -455,7 +467,8 @@ public void onResume() {
455467
this.notifyAll();
456468
}
457469
}
458-
wakeLock.acquire();
470+
if ( wakeLock != null )
471+
wakeLock.acquire();
459472
}
460473

461474
public void onDestroy() {

src/templates/AndroidManifest.tmpl.xml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,8 @@
1010
android:icon="@drawable/icon"
1111
>
1212

13-
{% if args.window %}
14-
<meta-data android:name="fullscreen" android:value="0"/>
15-
{% else %}
16-
<meta-data android:name="fullscreen" android:value="1"/>
17-
{% endif %}
13+
<meta-data android:name="fullscreen" android:value="{% if args.window %}0{% else %}1{% endif %}"/>
14+
<meta-data android:name="wavelock" android:value="{% if args.wavelock %}1{% else %}0{% endif %}"/>
1815

1916
<activity android:name="org.renpy.android.PythonActivity"
2017
android:label="@string/iconName"
@@ -66,7 +63,9 @@
6663
</application>
6764

6865
<uses-sdk android:minSdkVersion="{{ args.min_sdk_version }}" android:targetSdkVersion="{{ args.sdk_version }}"/>
66+
{% if args.wavelock %}
6967
<uses-permission android:name="android.permission.WAKE_LOCK" />
68+
{% endif %}
7069
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
7170

7271
{% for perm in args.permissions %}

0 commit comments

Comments
 (0)