From d34153638742d2d53d77e6a4956d4ac206922b44 Mon Sep 17 00:00:00 2001 From: mhutti1 Date: Sat, 23 Jul 2016 15:22:38 +0100 Subject: [PATCH] Android Another network error fix #261 --- res/values/strings.xml | 1 + .../kiwix/kiwixmobile/LibraryFragment.java | 25 ++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 587693b8e..fc4c2ecc4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -111,4 +111,5 @@ Simple No Pictures This file could be incomplete. Do you wish to attempt to open it? + No network connection \ No newline at end of file diff --git a/src/org/kiwix/kiwixmobile/LibraryFragment.java b/src/org/kiwix/kiwixmobile/LibraryFragment.java index 07c338235..be06e1995 100644 --- a/src/org/kiwix/kiwixmobile/LibraryFragment.java +++ b/src/org/kiwix/kiwixmobile/LibraryFragment.java @@ -64,8 +64,9 @@ import static org.kiwix.kiwixmobile.utils.ShortcutUtils.stringsGetter; public class LibraryFragment extends Fragment implements AdapterView.OnItemClickListener { @BindView(R.id.library_list) ListView libraryList; - @BindView(R.id.progressbar_layout) RelativeLayout progressBar; + @BindView(R.id.progressBar) ProgressBar progressBar; @BindView(R.id.progressbar_message) TextView progressBarMessage; + @BindView(R.id.progressbar_layout) RelativeLayout progressBarLayout; private KiwixService kiwixService; @@ -100,6 +101,11 @@ public class LibraryFragment extends Fragment implements AdapterView.OnItemClick // Don't use this method, it's handled by inflater.inflate() above : // setContentView(R.layout.activity_layout); ButterKnife.bind(this, llLayout); + + progressBar.setVisibility(View.VISIBLE); + progressBarMessage.setVisibility(View.VISIBLE); + progressBarLayout.setVisibility(View.VISIBLE); + kiwixService = ((KiwixApplication) super.getActivity().getApplication()).getKiwixService(); conMan = (ConnectivityManager) super.getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo network = conMan.getActiveNetworkInfo(); @@ -125,8 +131,10 @@ public class LibraryFragment extends Fragment implements AdapterView.OnItemClick books = booksCopy; libraryAdapter = new LibraryAdapter(super.getActivity(), books); libraryList.setAdapter(libraryAdapter); - progressBar.setVisibility(View.GONE); + progressBarLayout.setVisibility(View.GONE); } + },error -> { + noNetworkConnection(); }); @@ -134,8 +142,7 @@ public class LibraryFragment extends Fragment implements AdapterView.OnItemClick active = true; } else { - progressBar.setVisibility(View.INVISIBLE); - progressBarMessage.setText("No network connection"); + noNetworkConnection(); } // The FragmentActivity doesn't contain the layout directly so we must use our instance of LinearLayout : //llLayout.findViewById(R.id.someGuiElement); @@ -144,11 +151,11 @@ public class LibraryFragment extends Fragment implements AdapterView.OnItemClick return llLayout; // We must return the loaded Layout } - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - progressBar.setVisibility(View.VISIBLE); - + public void noNetworkConnection() { + progressBar.setVisibility(View.INVISIBLE); + progressBarLayout.setVisibility(View.VISIBLE); + progressBarMessage.setVisibility(View.VISIBLE); + progressBarMessage.setText("No network connection"); } @Override