forked from geode-sdk/android-launcher
small state cleanup
This commit is contained in:
3 files changed
+17
-21
No files matched your search
@@ -70,7 +70,7 @@ class GeometryDashActivity : AppCompatActivity(), Cocos2dxHelper.Cocos2dxHelperL
|
|||||||
private var mHasWindowFocus = false
|
private var mHasWindowFocus = false
|
||||||
|
|
||||||
private var displayMode = DisplayMode.DEFAULT
|
private var displayMode = DisplayMode.DEFAULT
|
||||||
private var forceRefreshRate = false
|
private var mChosenDisplayRate: Float? = null
|
||||||
private var mLimitedRefreshRate: Int? = null
|
private var mLimitedRefreshRate: Int? = null
|
||||||
private var mAspectRatio = 0.0f
|
private var mAspectRatio = 0.0f
|
||||||
private var mScreenZoom = 1.0f
|
private var mScreenZoom = 1.0f
|
||||||
@@ -429,13 +429,9 @@ class GeometryDashActivity : AppCompatActivity(), Cocos2dxHelper.Cocos2dxHelperL
|
|||||||
val renderer = Cocos2dxRenderer(glSurfaceView)
|
val renderer = Cocos2dxRenderer(glSurfaceView)
|
||||||
glSurfaceView.setCocos2dxRenderer(renderer)
|
glSurfaceView.setCocos2dxRenderer(renderer)
|
||||||
|
|
||||||
|
renderer.setFrameRate = mChosenDisplayRate
|
||||||
|
|
||||||
val frameRate = mLimitedRefreshRate
|
val frameRate = mLimitedRefreshRate
|
||||||
|
|
||||||
// force refresh rate causes some issues if the limited framerate isn't supported by device
|
|
||||||
if (forceRefreshRate && frameRate == null) {
|
|
||||||
renderer.setFrameRate = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if (frameRate != null) {
|
if (frameRate != null) {
|
||||||
renderer.limitFrameRate(frameRate)
|
renderer.limitFrameRate(frameRate)
|
||||||
}
|
}
|
||||||
@@ -459,14 +455,17 @@ class GeometryDashActivity : AppCompatActivity(), Cocos2dxHelper.Cocos2dxHelperL
|
|||||||
mScreenZoom = preferenceUtils.getInt(PreferenceUtils.Key.SCREEN_ZOOM) / 100.0f
|
mScreenZoom = preferenceUtils.getInt(PreferenceUtils.Key.SCREEN_ZOOM) / 100.0f
|
||||||
mScreenZoomFit = preferenceUtils.getBoolean(PreferenceUtils.Key.SCREEN_ZOOM_FIT)
|
mScreenZoomFit = preferenceUtils.getBoolean(PreferenceUtils.Key.SCREEN_ZOOM_FIT)
|
||||||
|
|
||||||
forceRefreshRate = preferenceUtils.getBoolean(PreferenceUtils.Key.FORCE_HRR)
|
val limitedRefreshRate = preferenceUtils.getInt(PreferenceUtils.Key.LIMIT_FRAME_RATE).takeIf { it != 0 }
|
||||||
mLimitedRefreshRate = preferenceUtils.getInt(PreferenceUtils.Key.LIMIT_FRAME_RATE).takeIf { it != 0 }
|
mLimitedRefreshRate = limitedRefreshRate
|
||||||
|
|
||||||
|
val forceRefreshRate = preferenceUtils.getBoolean(PreferenceUtils.Key.FORCE_HRR)
|
||||||
if (forceRefreshRate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (forceRefreshRate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
val maxRefreshRate = display?.supportedModes?.maxBy { it.refreshRate }?.refreshRate
|
var chosenRefreshRate = display.supportedModes?.maxByOrNull { it.refreshRate }?.refreshRate
|
||||||
if (maxRefreshRate != null) {
|
if (chosenRefreshRate != null) {
|
||||||
window.attributes.preferredRefreshRate = maxRefreshRate
|
window.attributes.preferredRefreshRate = chosenRefreshRate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mChosenDisplayRate = chosenRefreshRate
|
||||||
}
|
}
|
||||||
|
|
||||||
if (displayMode == DisplayMode.FULLSCREEN && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (displayMode == DisplayMode.FULLSCREEN && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
|
|||||||
@@ -119,12 +119,8 @@ class Cocos2dxGLSurfaceView(context: Context) : GLSurfaceView(context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.R)
|
@RequiresApi(Build.VERSION_CODES.R)
|
||||||
fun updateRefreshRate() {
|
fun updateRefreshRate(refreshRate: Float) {
|
||||||
val maxRefreshRate = display.supportedModes.maxBy { it.refreshRate }.refreshRate
|
holder.surface.setFrameRate(refreshRate, Surface.FRAME_RATE_COMPATIBILITY_DEFAULT)
|
||||||
holder.surface.setFrameRate(
|
|
||||||
maxRefreshRate,
|
|
||||||
Surface.FRAME_RATE_COMPATIBILITY_DEFAULT
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class Cocos2dxRenderer(private var handler: Cocos2dxGLSurfaceView) : GLSurfaceVi
|
|||||||
private var screenWidth = 0
|
private var screenWidth = 0
|
||||||
private var screenHeight = 0
|
private var screenHeight = 0
|
||||||
var sendResizeEvents = false
|
var sendResizeEvents = false
|
||||||
var setFrameRate = false
|
var setFrameRate: Float? = null
|
||||||
private var mAnimationInterval: Long? = null
|
private var mAnimationInterval: Long? = null
|
||||||
|
|
||||||
fun limitFrameRate(rate: Int) {
|
fun limitFrameRate(rate: Int) {
|
||||||
@@ -82,8 +82,9 @@ class Cocos2dxRenderer(private var handler: Cocos2dxGLSurfaceView) : GLSurfaceVi
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onSurfaceChanged(gl10: GL10?, width: Int, height: Int) {
|
override fun onSurfaceChanged(gl10: GL10?, width: Int, height: Int) {
|
||||||
if (setFrameRate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
val chosenRefreshRate = setFrameRate
|
||||||
handler.updateRefreshRate()
|
if (chosenRefreshRate != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
|
handler.updateRefreshRate(chosenRefreshRate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user