From 52f37a6522e881c0b40e413a0980d688ee0c2472 Mon Sep 17 00:00:00 2001 From: Fevzi Ozgul Date: Thu, 19 May 2016 15:31:31 +0300 Subject: [PATCH] Fixing squid: S1151 "switch case" clauses should not have too many lines --- .../EndlessRecyclerOnScrollListener.java | 16 +- .../sample/EndlessGridLayoutActivity.java | 29 ++-- .../sample/EndlessLinearLayoutActivity.java | 39 ++--- .../EndlessStaggeredGridLayoutActivity.java | 30 ++-- .../sample/weight/LoadingFooter.java | 145 ++++++++++-------- 5 files changed, 137 insertions(+), 122 deletions(-) diff --git a/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java b/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java index 9d6a5f1..14b89d5 100644 --- a/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java +++ b/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java @@ -60,16 +60,18 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) { lastVisibleItemPosition = ((GridLayoutManager) layoutManager).findLastVisibleItemPosition(); break; case StaggeredGridLayout: - StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) layoutManager; - if (lastPositions == null) { - lastPositions = new int[staggeredGridLayoutManager.getSpanCount()]; - } - staggeredGridLayoutManager.findLastVisibleItemPositions(lastPositions); - lastVisibleItemPosition = findMax(lastPositions); + handleStaggeredGridLayoutCase(layoutManager); break; } } - + private void handleStaggeredGridLayoutCase( RecyclerView.LayoutManager layoutManager){ + StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) layoutManager; + if (lastPositions == null) { + lastPositions = new int[staggeredGridLayoutManager.getSpanCount()]; + } + staggeredGridLayoutManager.findLastVisibleItemPositions(lastPositions); + lastVisibleItemPosition = findMax(lastPositions); + } @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java index d3b1f4d..a696c42 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java @@ -130,20 +130,7 @@ public void handleMessage(Message msg) { switch (msg.what) { case -1: - int currentSize = activity.mDataAdapter.getItemCount(); - - //模拟组装10个数据 - ArrayList newList = new ArrayList<>(); - for (int i = 0; i < 10; i++) { - if (newList.size() + currentSize >= TOTAL_COUNTER) { - break; - } - - newList.add("item" + (currentSize + i)); - } - - activity.addItems(newList); - RecyclerViewStateUtils.setFooterViewState(activity.mRecyclerView, LoadingFooter.State.Normal); + handleCaseMinusOne(activity); break; case -2: activity.notifyDataSetChanged(); @@ -154,7 +141,19 @@ public void handleMessage(Message msg) { } } } - + private static void handleCaseMinusOne(EndlessGridLayoutActivity activity){ + int currentSize = activity.mDataAdapter.getItemCount(); + //模拟组装10个数据 + ArrayList newList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + if (newList.size() + currentSize >= TOTAL_COUNTER) { + break; + } + newList.add("item" + (currentSize + i)); + } + activity.addItems(newList); + RecyclerViewStateUtils.setFooterViewState(activity.mRecyclerView, LoadingFooter.State.Normal); + } private View.OnClickListener mFooterClick = new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java index e06722d..2190c06 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java @@ -132,24 +132,7 @@ public void handleMessage(Message msg) { switch (msg.what) { case -1: - int currentSize = activity.mDataAdapter.getItemCount(); - - //模拟组装10个数据 - ArrayList newList = new ArrayList<>(); - for (int i = 0; i < 10; i++) { - if (newList.size() + currentSize >= TOTAL_COUNTER) { - break; - } - - ItemModel item = new ItemModel(); - item.id = currentSize + i; - item.title = "item" + (item.id); - - newList.add(item); - } - - activity.addItems(newList); - RecyclerViewStateUtils.setFooterViewState(activity.mRecyclerView, LoadingFooter.State.Normal); + handleCaseMinusOne(activity); break; case -2: activity.notifyDataSetChanged(); @@ -160,6 +143,26 @@ public void handleMessage(Message msg) { } } } + private static void handleCaseMinusOne(final EndlessLinearLayoutActivity activity){ + int currentSize = activity.mDataAdapter.getItemCount(); + + //模拟组装10个数据 + ArrayList newList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + if (newList.size() + currentSize >= TOTAL_COUNTER) { + break; + } + + ItemModel item = new ItemModel(); + item.id = currentSize + i; + item.title = "item" + (item.id); + + newList.add(item); + } + + activity.addItems(newList); + RecyclerViewStateUtils.setFooterViewState(activity.mRecyclerView, LoadingFooter.State.Normal); + } private View.OnClickListener mFooterClick = new View.OnClickListener() { @Override diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java index 9f1d317..fe72ec4 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java @@ -131,20 +131,7 @@ public void handleMessage(Message msg) { switch (msg.what) { case -1: - int currentSize = activity.mDataAdapter.getItemCount(); - - //模拟组装10个数据 - ArrayList newList = new ArrayList<>(); - for (int i = 0; i < 10; i++) { - if (newList.size() + currentSize >= TOTAL_COUNTER) { - break; - } - - newList.add("item" + (currentSize + i)); - } - - activity.addItems(newList); - RecyclerViewStateUtils.setFooterViewState(activity.mRecyclerView, LoadingFooter.State.Normal); + handleCaseMinusOne(activity); break; case -2: activity.notifyDataSetChanged(); @@ -155,7 +142,22 @@ public void handleMessage(Message msg) { } } } + private static void handleCaseMinusOne(final EndlessStaggeredGridLayoutActivity activity){ + int currentSize = activity.mDataAdapter.getItemCount(); + + //模拟组装10个数据 + ArrayList newList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + if (newList.size() + currentSize >= TOTAL_COUNTER) { + break; + } + newList.add("item" + (currentSize + i)); + } + + activity.addItems(newList); + RecyclerViewStateUtils.setFooterViewState(activity.mRecyclerView, LoadingFooter.State.Normal); + } private View.OnClickListener mFooterClick = new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/weight/LoadingFooter.java b/sample/src/main/java/com/cundong/recyclerview/sample/weight/LoadingFooter.java index 2f4ebbc..a0f5c26 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/weight/LoadingFooter.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/weight/LoadingFooter.java @@ -70,89 +70,98 @@ public void setState(State status, boolean showView) { switch (status) { case Normal: - setOnClickListener(null); - if (mLoadingView != null) { - mLoadingView.setVisibility(GONE); - } - - if (mTheEndView != null) { - mTheEndView.setVisibility(GONE); - } - - if (mNetworkErrorView != null) { - mNetworkErrorView.setVisibility(GONE); - } - + handleStatusNormal(); break; case Loading: - setOnClickListener(null); - if (mTheEndView != null) { - mTheEndView.setVisibility(GONE); - } + handleStatusLoading(showView); + break; + case TheEnd: + handleStatusTheEnd(showView); + break; + case NetWorkError: + handleStatusNetworkError(showView); + break; + default: - if (mNetworkErrorView != null) { - mNetworkErrorView.setVisibility(GONE); - } + break; + } + } + private void handleStatusNormal(){ + setOnClickListener(null); + if (mLoadingView != null) { + mLoadingView.setVisibility(GONE); + } - if (mLoadingView == null) { - ViewStub viewStub = (ViewStub) findViewById(R.id.loading_viewstub); - mLoadingView = viewStub.inflate(); + if (mTheEndView != null) { + mTheEndView.setVisibility(GONE); + } - mLoadingProgress = (ProgressBar) mLoadingView.findViewById(R.id.loading_progress); - mLoadingText = (TextView) mLoadingView.findViewById(R.id.loading_text); - } else { - mLoadingView.setVisibility(VISIBLE); - } + if (mNetworkErrorView != null) { + mNetworkErrorView.setVisibility(GONE); + } + } + private void handleStatusLoading(boolean showView){ + setOnClickListener(null); + if (mTheEndView != null) { + mTheEndView.setVisibility(GONE); + } - mLoadingView.setVisibility(showView ? VISIBLE : GONE); + if (mNetworkErrorView != null) { + mNetworkErrorView.setVisibility(GONE); + } - mLoadingProgress.setVisibility(View.VISIBLE); - mLoadingText.setText(R.string.list_footer_loading); - break; - case TheEnd: - setOnClickListener(null); - if (mLoadingView != null) { - mLoadingView.setVisibility(GONE); - } - - if (mNetworkErrorView != null) { - mNetworkErrorView.setVisibility(GONE); - } - - if (mTheEndView == null) { - ViewStub viewStub = (ViewStub) findViewById(R.id.end_viewstub); - mTheEndView = viewStub.inflate(); - } else { - mTheEndView.setVisibility(VISIBLE); - } - - mTheEndView.setVisibility(showView ? VISIBLE : GONE); - break; - case NetWorkError: + if (mLoadingView == null) { + ViewStub viewStub = (ViewStub) findViewById(R.id.loading_viewstub); + mLoadingView = viewStub.inflate(); - if (mLoadingView != null) { - mLoadingView.setVisibility(GONE); - } + mLoadingProgress = (ProgressBar) mLoadingView.findViewById(R.id.loading_progress); + mLoadingText = (TextView) mLoadingView.findViewById(R.id.loading_text); + } else { + mLoadingView.setVisibility(VISIBLE); + } - if (mTheEndView != null) { - mTheEndView.setVisibility(GONE); - } + mLoadingView.setVisibility(showView ? VISIBLE : GONE); - if (mNetworkErrorView == null) { - ViewStub viewStub = (ViewStub) findViewById(R.id.network_error_viewstub); - mNetworkErrorView = viewStub.inflate(); - } else { - mNetworkErrorView.setVisibility(VISIBLE); - } + mLoadingProgress.setVisibility(View.VISIBLE); + mLoadingText.setText(R.string.list_footer_loading); + } + private void handleStatusTheEnd(boolean showView){ + setOnClickListener(null); + if (mLoadingView != null) { + mLoadingView.setVisibility(GONE); + } - mNetworkErrorView.setVisibility(showView ? VISIBLE : GONE); - break; - default: + if (mNetworkErrorView != null) { + mNetworkErrorView.setVisibility(GONE); + } - break; + if (mTheEndView == null) { + ViewStub viewStub = (ViewStub) findViewById(R.id.end_viewstub); + mTheEndView = viewStub.inflate(); + } else { + mTheEndView.setVisibility(VISIBLE); } + + mTheEndView.setVisibility(showView ? VISIBLE : GONE); } + private void handleStatusNetworkError(boolean showView){ + if (mLoadingView != null) { + mLoadingView.setVisibility(GONE); + } + if (mTheEndView != null) { + mTheEndView.setVisibility(GONE); + } + + if (mNetworkErrorView == null) { + ViewStub viewStub = (ViewStub) findViewById(R.id.network_error_viewstub); + mNetworkErrorView = viewStub.inflate(); + } else { + mNetworkErrorView.setVisibility(VISIBLE); + } + + mNetworkErrorView.setVisibility(showView ? VISIBLE : GONE); + } public static enum State { Normal/**正常*/, TheEnd/**加载到最底了*/, Loading/**加载中..*/, NetWorkError/**网络异常*/ }