From 24d56c625eceda22fab0fb85302a5a25fccb8fe7 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Fri, 18 Oct 2019 18:40:54 +0500 Subject: [PATCH] Fix #154 --- .../mian/gitnex/fragments/FilesFragment.java | 4 +- .../gitnex/viewmodels/FilesViewModel.java | 42 ++++++++++--------- app/src/main/res/layout/fragment_files.xml | 2 +- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/fragments/FilesFragment.java b/app/src/main/java/org/mian/gitnex/fragments/FilesFragment.java index 171a082c..36504213 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/FilesFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/FilesFragment.java @@ -192,7 +192,7 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter FilesViewModel filesModel = new ViewModelProvider(this).get(FilesViewModel.class); - filesModel.getFilesList(instanceUrl, instanceToken, owner, repo).observe(this, new Observer>() { + filesModel.getFilesList(instanceUrl, instanceToken, owner, repo, getContext()).observe(this, new Observer>() { @Override public void onChanged(@Nullable List filesListMain) { adapter = new FilesAdapter(getContext(), filesListMain, FilesFragment.this); @@ -225,7 +225,7 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter FilesViewModel filesModel2 = new ViewModelProvider(this).get(FilesViewModel.class); - filesModel2.getFilesList2(instanceUrl, instanceToken, owner, repo, filesDir).observe(this, new Observer>() { + filesModel2.getFilesList2(instanceUrl, instanceToken, owner, repo, filesDir, getContext()).observe(this, new Observer>() { @Override public void onChanged(@Nullable List filesListMain2) { adapter = new FilesAdapter(getContext(), filesListMain2, FilesFragment.this); diff --git a/app/src/main/java/org/mian/gitnex/viewmodels/FilesViewModel.java b/app/src/main/java/org/mian/gitnex/viewmodels/FilesViewModel.java index 9e073b7c..b3d442c7 100644 --- a/app/src/main/java/org/mian/gitnex/viewmodels/FilesViewModel.java +++ b/app/src/main/java/org/mian/gitnex/viewmodels/FilesViewModel.java @@ -1,11 +1,14 @@ package org.mian.gitnex.viewmodels; +import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import org.mian.gitnex.R; import org.mian.gitnex.clients.RetrofitClient; +import org.mian.gitnex.helpers.Toasty; import org.mian.gitnex.models.Files; import java.util.Collections; import java.util.Comparator; @@ -23,15 +26,15 @@ public class FilesViewModel extends ViewModel { private static MutableLiveData> filesList; private static MutableLiveData> filesList2; - public LiveData> getFilesList(String instanceUrl, String token, String owner, String repo) { + public LiveData> getFilesList(String instanceUrl, String token, String owner, String repo, Context ctx) { filesList = new MutableLiveData<>(); - loadFilesList(instanceUrl, token, owner, repo); + loadFilesList(instanceUrl, token, owner, repo, ctx); return filesList; } - public static void loadFilesList(String instanceUrl, String token, String owner, String repo) { + private static void loadFilesList(String instanceUrl, String token, String owner, String repo, final Context ctx) { Call> call = RetrofitClient .getInstance(instanceUrl) @@ -43,16 +46,17 @@ public class FilesViewModel extends ViewModel { @Override public void onResponse(@NonNull Call> call, @NonNull Response> response) { - Collections.sort(response.body(), new Comparator() { - @Override - public int compare(Files byType1, Files byType2) { - return byType1.getType().compareTo(byType2.getType()); - } - }); - if (response.isSuccessful()) { + Collections.sort(response.body(), new Comparator() { + @Override + public int compare(Files byType1, Files byType2) { + return byType1.getType().compareTo(byType2.getType()); + } + }); + filesList.postValue(response.body()); } else { + Toasty.info(ctx, ctx.getString(R.string.noDataFilesTab)); Log.i("onResponse", String.valueOf(response.code())); } @@ -66,15 +70,15 @@ public class FilesViewModel extends ViewModel { }); } - public LiveData> getFilesList2(String instanceUrl, String token, String owner, String repo, String filesDir) { + public LiveData> getFilesList2(String instanceUrl, String token, String owner, String repo, String filesDir, Context ctx) { - filesList = new MutableLiveData<>(); - loadFilesList2(instanceUrl, token, owner, repo, filesDir); + filesList2 = new MutableLiveData<>(); + loadFilesList2(instanceUrl, token, owner, repo, filesDir, ctx); - return filesList; + return filesList2; } - public static void loadFilesList2(String instanceUrl, String token, String owner, String repo, String filesDir) { + private static void loadFilesList2(String instanceUrl, String token, String owner, String repo, String filesDir, final Context ctx) { Call> call = RetrofitClient .getInstance(instanceUrl) @@ -86,19 +90,17 @@ public class FilesViewModel extends ViewModel { @Override public void onResponse(@NonNull Call> call, @NonNull Response> response) { - assert response.body() != null; - if(response.body().size() > 0) { + if (response.isSuccessful()) { Collections.sort(response.body(), new Comparator() { @Override public int compare(Files byType1, Files byType2) { return byType1.getType().compareTo(byType2.getType()); } }); - } - if (response.isSuccessful()) { - filesList.postValue(response.body()); + filesList2.postValue(response.body()); } else { + Toasty.info(ctx, ctx.getString(R.string.noDataFilesTab)); Log.i("onResponse", String.valueOf(response.code())); } diff --git a/app/src/main/res/layout/fragment_files.xml b/app/src/main/res/layout/fragment_files.xml index c8990cea..fff86eea 100644 --- a/app/src/main/res/layout/fragment_files.xml +++ b/app/src/main/res/layout/fragment_files.xml @@ -58,6 +58,6 @@ android:layout_height="match_parent" android:layout_gravity="center" android:indeterminate="true" - android:visibility="visible" /> + android:visibility="gone" /> \ No newline at end of file