From 4e9e32572529ffc5bb442fe082206df2285261e3 Mon Sep 17 00:00:00 2001 From: Florin Malita Date: Mon, 7 May 2018 16:30:01 -0400 Subject: [viewer] Avoid per-frame json UI updates The reason we push Json updates for every frame is to support the Android FPS meter - which happens to require the native FPS meter for updates. Instead of supporting two meters: 1) scale up the native FPS widget on Android (1.5x) 2) remove the Android widget 3) stop calling updateUIState() from onPaint() Change-Id: Ica8109869035b2f885743a7e38b50688b69fa5e4 Reviewed-on: https://skia-review.googlesource.com/126621 Reviewed-by: Brian Osman Commit-Queue: Florin Malita --- .../main/java/org/skia/viewer/StateAdapter.java | 25 +--------------------- .../main/res/layout-xlarge-land/activity_main.xml | 13 ----------- .../viewer/src/main/res/layout/activity_main.xml | 13 ----------- .../apps/viewer/src/main/res/layout/fps_toggle.xml | 23 -------------------- .../apps/viewer/src/main/res/values/strings.xml | 3 +-- 5 files changed, 2 insertions(+), 75 deletions(-) delete mode 100644 platform_tools/android/apps/viewer/src/main/res/layout/fps_toggle.xml (limited to 'platform_tools') diff --git a/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/StateAdapter.java b/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/StateAdapter.java index f82a7b66cd..0c4f736e80 100644 --- a/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/StateAdapter.java +++ b/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/StateAdapter.java @@ -36,7 +36,6 @@ public class StateAdapter extends BaseAdapter implements AdapterView.OnItemSelec private static final String VALUE = "value"; private static final String OPTIONS = "options"; private static final String BACKEND_STATE_NAME = "Backend"; - private static final String FPS_STATE_NAME = "FPS"; private static final String REFRESH_STATE_NAME = "Refresh"; private static final String ON = "ON"; private static final String OFF = "OFF"; @@ -45,11 +44,9 @@ public class StateAdapter extends BaseAdapter implements AdapterView.OnItemSelec private ViewerActivity mViewerActivity; private LinearLayout mLayout; private JSONArray mStateJson; - private TextView mFPSFloatText; public StateAdapter(ViewerActivity viewerActivity) { mViewerActivity = viewerActivity; - mFPSFloatText = (TextView) viewerActivity.findViewById(R.id.fpsFloatText); try { mStateJson = new JSONArray("[{\"name\": \"Please\", " + "\"value\": \"Initialize\", \"options\": []}]"); @@ -72,10 +69,9 @@ public class StateAdapter extends BaseAdapter implements AdapterView.OnItemSelec } // The first list item is the mLayout that contains a list of state items - // The second list item is the toggle for float FPS @Override public int getCount() { - return 2; + return 1; } @Override @@ -99,19 +95,6 @@ public class StateAdapter extends BaseAdapter implements AdapterView.OnItemSelec } return mLayout; } - case 1: { - View view = LayoutInflater.from(mViewerActivity).inflate(R.layout.fps_toggle, null); - Switch theSwitch = (Switch) view.findViewById(R.id.theSwitch); - theSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - mFPSFloatText.setVisibility(isChecked ? View.VISIBLE : View.INVISIBLE); - // Quickly set the bool fRefresh in native Viewer app for continuous refresh - mViewerActivity.onStateChanged(REFRESH_STATE_NAME, isChecked ? ON : OFF); - } - }); - return view; - } default: { return null; } @@ -130,12 +113,6 @@ public class StateAdapter extends BaseAdapter implements AdapterView.OnItemSelec nameText.setText(item.getString(NAME)); - if (nameText.getText().equals(FPS_STATE_NAME) && mFPSFloatText != null) { - mFPSFloatText.setText(value); - // Don't show FPS in the drawer. We'll show it in the float text. - itemView.setVisibility(View.GONE); - } - JSONArray options = item.getJSONArray(OPTIONS); if (options.length() == 0) { valueText.setText(value); diff --git a/platform_tools/android/apps/viewer/src/main/res/layout-xlarge-land/activity_main.xml b/platform_tools/android/apps/viewer/src/main/res/layout-xlarge-land/activity_main.xml index b78112dc52..49457c9802 100644 --- a/platform_tools/android/apps/viewer/src/main/res/layout-xlarge-land/activity_main.xml +++ b/platform_tools/android/apps/viewer/src/main/res/layout-xlarge-land/activity_main.xml @@ -35,19 +35,6 @@ android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> - - diff --git a/platform_tools/android/apps/viewer/src/main/res/layout/activity_main.xml b/platform_tools/android/apps/viewer/src/main/res/layout/activity_main.xml index 7041d0e8ed..bfb91dff57 100644 --- a/platform_tools/android/apps/viewer/src/main/res/layout/activity_main.xml +++ b/platform_tools/android/apps/viewer/src/main/res/layout/activity_main.xml @@ -23,19 +23,6 @@ android:layout_centerHorizontal="true" /> - - diff --git a/platform_tools/android/apps/viewer/src/main/res/layout/fps_toggle.xml b/platform_tools/android/apps/viewer/src/main/res/layout/fps_toggle.xml deleted file mode 100644 index 4463629ab7..0000000000 --- a/platform_tools/android/apps/viewer/src/main/res/layout/fps_toggle.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/platform_tools/android/apps/viewer/src/main/res/values/strings.xml b/platform_tools/android/apps/viewer/src/main/res/values/strings.xml index 5e218af9e3..84a0af3c02 100644 --- a/platform_tools/android/apps/viewer/src/main/res/values/strings.xml +++ b/platform_tools/android/apps/viewer/src/main/res/values/strings.xml @@ -2,5 +2,4 @@ Open navigation drawer Close navigation drawer - Render time - \ No newline at end of file + -- cgit v1.2.3