mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-04 00:35:47 +00:00
Fix max FPS detection on Lollipop and earlier
This commit is contained in:
parent
885b59fd52
commit
4fa1eb4088
@ -190,8 +190,13 @@ public class StreamSettings extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addNativeFrameRateEntry(float framerate) {
|
private void addNativeFrameRateEntry(float framerate) {
|
||||||
|
int frameRateRounded = Math.round(framerate);
|
||||||
|
if (frameRateRounded == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ListPreference pref = (ListPreference) findPreference(PreferenceConfiguration.FPS_PREF_STRING);
|
ListPreference pref = (ListPreference) findPreference(PreferenceConfiguration.FPS_PREF_STRING);
|
||||||
String fpsValue = Integer.toString(Math.round(framerate));
|
String fpsValue = Integer.toString(frameRateRounded);
|
||||||
String fpsName = getResources().getString(R.string.resolution_prefix_native) +
|
String fpsName = getResources().getString(R.string.resolution_prefix_native) +
|
||||||
" (" + fpsValue + " " + getResources().getString(R.string.fps_suffix_fps) + ")";
|
" (" + fpsValue + " " + getResources().getString(R.string.fps_suffix_fps) + ")";
|
||||||
|
|
||||||
@ -342,12 +347,11 @@ public class StreamSettings extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int maxSupportedFps = 0;
|
Display display = getActivity().getWindowManager().getDefaultDisplay();
|
||||||
|
float maxSupportedFps = display.getRefreshRate();
|
||||||
|
|
||||||
// Hide non-supported resolution/FPS combinations
|
// Hide non-supported resolution/FPS combinations
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
Display display = getActivity().getWindowManager().getDefaultDisplay();
|
|
||||||
|
|
||||||
int maxSupportedResW = 0;
|
int maxSupportedResW = 0;
|
||||||
|
|
||||||
// Add a native resolution with any insets included for users that don't want content
|
// Add a native resolution with any insets included for users that don't want content
|
||||||
@ -415,7 +419,7 @@ public class StreamSettings extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (candidate.getRefreshRate() > maxSupportedFps) {
|
if (candidate.getRefreshRate() > maxSupportedFps) {
|
||||||
maxSupportedFps = (int)candidate.getRefreshRate();
|
maxSupportedFps = candidate.getRefreshRate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -508,7 +512,7 @@ public class StreamSettings extends Activity {
|
|||||||
// getRealMetrics() function (unlike the lies that getWidth() and getHeight()
|
// getRealMetrics() function (unlike the lies that getWidth() and getHeight()
|
||||||
// tell to us).
|
// tell to us).
|
||||||
DisplayMetrics metrics = new DisplayMetrics();
|
DisplayMetrics metrics = new DisplayMetrics();
|
||||||
getActivity().getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
|
display.getRealMetrics(metrics);
|
||||||
int width = Math.max(metrics.widthPixels, metrics.heightPixels);
|
int width = Math.max(metrics.widthPixels, metrics.heightPixels);
|
||||||
int height = Math.min(metrics.widthPixels, metrics.heightPixels);
|
int height = Math.min(metrics.widthPixels, metrics.heightPixels);
|
||||||
addNativeResolutionEntries(width, height, false);
|
addNativeResolutionEntries(width, height, false);
|
||||||
@ -516,7 +520,6 @@ public class StreamSettings extends Activity {
|
|||||||
else {
|
else {
|
||||||
// On Android 4.1, we have to resort to reflection to invoke hidden APIs
|
// On Android 4.1, we have to resort to reflection to invoke hidden APIs
|
||||||
// to get the real screen dimensions.
|
// to get the real screen dimensions.
|
||||||
Display display = getActivity().getWindowManager().getDefaultDisplay();
|
|
||||||
try {
|
try {
|
||||||
Method getRawHeightFunc = Display.class.getMethod("getRawHeight");
|
Method getRawHeightFunc = Display.class.getMethod("getRawHeight");
|
||||||
Method getRawWidthFunc = Display.class.getMethod("getRawWidth");
|
Method getRawWidthFunc = Display.class.getMethod("getRawWidth");
|
||||||
@ -607,7 +610,6 @@ public class StreamSettings extends Activity {
|
|||||||
category.removePreference(findPreference("checkbox_enable_hdr"));
|
category.removePreference(findPreference("checkbox_enable_hdr"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Display display = getActivity().getWindowManager().getDefaultDisplay();
|
|
||||||
Display.HdrCapabilities hdrCaps = display.getHdrCapabilities();
|
Display.HdrCapabilities hdrCaps = display.getHdrCapabilities();
|
||||||
|
|
||||||
// We must now ensure our display is compatible with HDR10
|
// We must now ensure our display is compatible with HDR10
|
||||||
|
Loading…
x
Reference in New Issue
Block a user