Skip to content

Commit

Permalink
Merge pull request #19876 from osmandapp/fix_render_test
Browse files Browse the repository at this point in the history
check fps changes
  • Loading branch information
Chumva committed May 15, 2024
2 parents 38b8d33 + 5c1041a commit 2dcb1aa
Showing 1 changed file with 21 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public class AnalysisUpdateCallsTest extends AndroidTest {
@Override
public void setup() {
super.setup();
IdlingPolicies.setIdlingResourceTimeout(40, TimeUnit.SECONDS);
IdlingPolicies.setIdlingResourceTimeout(360, TimeUnit.SECONDS);
try {
ResourcesImporter.importGpxAssets(app, Collections.singletonList(SELECTED_GPX_NAME));
} catch (IOException e) {
Expand Down Expand Up @@ -90,14 +90,9 @@ public void test() throws Throwable {
mActivityScenarioRule.getScenario().moveToState(State.RESUMED).onActivity(activity -> {
mapView = activity.getMapView();

MapRendererView rendererView = mapView.getMapRenderer();
if (rendererView != null) {
startFrameId = rendererView.getFrameId();
}
observeDistToFinishIdlingResource = new ObserveDistToFinishIdlingResource(app);
registerIdlingResources(observeDistToFinishIdlingResource);

});
observeDistToFinishIdlingResource = new ObserveDistToFinishIdlingResource(app);
registerIdlingResources(observeDistToFinishIdlingResource);
Espresso.onIdle();
}

Expand Down Expand Up @@ -127,24 +122,34 @@ private class ObserveDistToFinishIdlingResource extends BaseIdlingResource {
public ObserveDistToFinishIdlingResource(@NonNull OsmandApplication app) {
super(app);
Handler handler = new Handler(Looper.getMainLooper());
Runnable checkLeftDistanceTask = () -> {
handler.postDelayed(createTaskRunnable(), 30000);
}

private Runnable createTaskRunnable() {
return () -> {
MapRendererView rendererView = mapView.getMapRenderer();
if (rendererView != null) {
int renderedFrames = rendererView.getFrameId() - startFrameId;
LOG.debug("rendered " + renderedFrames + " frames");
if (renderedFrames < 25) {
throw new AssertionError("Map rendering to slow. rendered " + renderedFrames + " frames");
if (startFrameId == 0) {
startFrameId = rendererView.getFrameId();
Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(createTaskRunnable(), CHECK_INTERVAL);
} else {
int renderedFrames = rendererView.getFrameId() - startFrameId;
LOG.debug("rendered " + renderedFrames + " frames");
if (renderedFrames < 25) {
throw new AssertionError("Map rendering to slow. rendered " + renderedFrames + " frames");
}
idle = true;
notifyIdleTransition();
}
} else {
throw new AssertionError("Failed to get map renderer");
}
LOG.debug("readTrackItemCount " + GpxDbHelper.readTrackItemCount);
if (GpxDbHelper.readTrackItemCount > 2) {
throw new AssertionError("To many updates of analysis " + GpxDbHelper.readTrackItemCount);
}
idle = true;
notifyIdleTransition();
};
handler.postDelayed(checkLeftDistanceTask, CHECK_INTERVAL);
}

@Override
Expand Down

0 comments on commit 2dcb1aa

Please sign in to comment.