diff --git a/app/src/main/java/com/limelight/preferences/StreamSettings.java b/app/src/main/java/com/limelight/preferences/StreamSettings.java index 816e43dd..15622041 100644 --- a/app/src/main/java/com/limelight/preferences/StreamSettings.java +++ b/app/src/main/java/com/limelight/preferences/StreamSettings.java @@ -190,8 +190,13 @@ public class StreamSettings extends Activity { } private void addNativeFrameRateEntry(float framerate) { + int frameRateRounded = Math.round(framerate); + if (frameRateRounded == 0) { + return; + } + 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) + " (" + 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 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - Display display = getActivity().getWindowManager().getDefaultDisplay(); - int maxSupportedResW = 0; // 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) { - 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() // tell to us). DisplayMetrics metrics = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getRealMetrics(metrics); + display.getRealMetrics(metrics); int width = Math.max(metrics.widthPixels, metrics.heightPixels); int height = Math.min(metrics.widthPixels, metrics.heightPixels); addNativeResolutionEntries(width, height, false); @@ -516,7 +520,6 @@ public class StreamSettings extends Activity { else { // On Android 4.1, we have to resort to reflection to invoke hidden APIs // to get the real screen dimensions. - Display display = getActivity().getWindowManager().getDefaultDisplay(); try { Method getRawHeightFunc = Display.class.getMethod("getRawHeight"); Method getRawWidthFunc = Display.class.getMethod("getRawWidth"); @@ -607,7 +610,6 @@ public class StreamSettings extends Activity { category.removePreference(findPreference("checkbox_enable_hdr")); } else { - Display display = getActivity().getWindowManager().getDefaultDisplay(); Display.HdrCapabilities hdrCaps = display.getHdrCapabilities(); // We must now ensure our display is compatible with HDR10