Merge pull request #6894 from libretro/android_susperf

android: enable sustained performance mode if supported
This commit is contained in:
Twinaphex 2018-06-19 04:41:02 +02:00 committed by GitHub
commit 48128a9b36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 39 additions and 4 deletions

View File

@ -10,7 +10,7 @@
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="23" />
android:targetSdkVersion="24" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />

View File

@ -11,5 +11,5 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-23
target=android-24
android.library.reference.1=libs/googleplay

View File

@ -1,11 +1,15 @@
package com.retroarch.browser.retroactivity;
import com.retroarch.browser.preferences.util.UserPreferences;
import android.annotation.TargetApi;
import android.content.res.Configuration;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.app.UiModeManager;
import android.os.BatteryManager;
import android.os.Build;
import android.os.PowerManager;
import android.util.Log;
/**
@ -27,6 +31,31 @@ public class RetroActivityCommon extends RetroActivityLocation
finish();
}
@TargetApi(24)
public void setSustainedPerformanceMode(boolean on)
{
Log.i("RetroActivity", "setting sustained performance mode to " + on);
getWindow().setSustainedPerformanceMode(on);
}
public boolean isSustainedPerformanceModeSupported()
{
boolean supported = false;
if (Build.VERSION.SDK_INT >= 24)
{
PowerManager powerManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
if (powerManager.isSustainedPerformanceModeSupported())
supported = true;
}
Log.i("RetroActivity", "isSustainedPerformanceModeSupported? " + supported);
return supported;
}
public int getBatteryLevel()
{
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);

View File

@ -4,9 +4,10 @@ import android.view.View;
import android.view.WindowManager;
import android.content.Intent;
import android.content.Context;
import android.hardware.input.InputManager;
import android.os.Build;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import android.hardware.input.InputManager;
public final class RetroActivityFuture extends RetroActivityCamera {
@ -17,7 +18,12 @@ public final class RetroActivityFuture extends RetroActivityCamera {
public void onResume() {
super.onResume();
if (android.os.Build.VERSION.SDK_INT >= 19) {
if (Build.VERSION.SDK_INT >= 24) {
if (isSustainedPerformanceModeSupported())
setSustainedPerformanceMode(true);
}
if (Build.VERSION.SDK_INT >= 19) {
// Immersive mode
// Constants from API > 14