Merge branch 'fix-empty-repo-bug' of gitnex/GitNex into master

This commit is contained in:
M M Arif 2019-10-18 13:44:29 +00:00 committed by Gitea
commit b6ca7bf2a4
3 changed files with 25 additions and 23 deletions

View File

@ -192,7 +192,7 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
FilesViewModel filesModel = new ViewModelProvider(this).get(FilesViewModel.class); FilesViewModel filesModel = new ViewModelProvider(this).get(FilesViewModel.class);
filesModel.getFilesList(instanceUrl, instanceToken, owner, repo).observe(this, new Observer<List<Files>>() { filesModel.getFilesList(instanceUrl, instanceToken, owner, repo, getContext()).observe(this, new Observer<List<Files>>() {
@Override @Override
public void onChanged(@Nullable List<Files> filesListMain) { public void onChanged(@Nullable List<Files> filesListMain) {
adapter = new FilesAdapter(getContext(), filesListMain, FilesFragment.this); 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); FilesViewModel filesModel2 = new ViewModelProvider(this).get(FilesViewModel.class);
filesModel2.getFilesList2(instanceUrl, instanceToken, owner, repo, filesDir).observe(this, new Observer<List<Files>>() { filesModel2.getFilesList2(instanceUrl, instanceToken, owner, repo, filesDir, getContext()).observe(this, new Observer<List<Files>>() {
@Override @Override
public void onChanged(@Nullable List<Files> filesListMain2) { public void onChanged(@Nullable List<Files> filesListMain2) {
adapter = new FilesAdapter(getContext(), filesListMain2, FilesFragment.this); adapter = new FilesAdapter(getContext(), filesListMain2, FilesFragment.this);

View File

@ -1,11 +1,14 @@
package org.mian.gitnex.viewmodels; package org.mian.gitnex.viewmodels;
import android.content.Context;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
import org.mian.gitnex.R;
import org.mian.gitnex.clients.RetrofitClient; import org.mian.gitnex.clients.RetrofitClient;
import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.models.Files; import org.mian.gitnex.models.Files;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
@ -23,15 +26,15 @@ public class FilesViewModel extends ViewModel {
private static MutableLiveData<List<Files>> filesList; private static MutableLiveData<List<Files>> filesList;
private static MutableLiveData<List<Files>> filesList2; private static MutableLiveData<List<Files>> filesList2;
public LiveData<List<Files>> getFilesList(String instanceUrl, String token, String owner, String repo) { public LiveData<List<Files>> getFilesList(String instanceUrl, String token, String owner, String repo, Context ctx) {
filesList = new MutableLiveData<>(); filesList = new MutableLiveData<>();
loadFilesList(instanceUrl, token, owner, repo); loadFilesList(instanceUrl, token, owner, repo, ctx);
return filesList; 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<List<Files>> call = RetrofitClient Call<List<Files>> call = RetrofitClient
.getInstance(instanceUrl) .getInstance(instanceUrl)
@ -43,16 +46,17 @@ public class FilesViewModel extends ViewModel {
@Override @Override
public void onResponse(@NonNull Call<List<Files>> call, @NonNull Response<List<Files>> response) { public void onResponse(@NonNull Call<List<Files>> call, @NonNull Response<List<Files>> response) {
Collections.sort(response.body(), new Comparator<Files>() {
@Override
public int compare(Files byType1, Files byType2) {
return byType1.getType().compareTo(byType2.getType());
}
});
if (response.isSuccessful()) { if (response.isSuccessful()) {
Collections.sort(response.body(), new Comparator<Files>() {
@Override
public int compare(Files byType1, Files byType2) {
return byType1.getType().compareTo(byType2.getType());
}
});
filesList.postValue(response.body()); filesList.postValue(response.body());
} else { } else {
Toasty.info(ctx, ctx.getString(R.string.noDataFilesTab));
Log.i("onResponse", String.valueOf(response.code())); Log.i("onResponse", String.valueOf(response.code()));
} }
@ -66,15 +70,15 @@ public class FilesViewModel extends ViewModel {
}); });
} }
public LiveData<List<Files>> getFilesList2(String instanceUrl, String token, String owner, String repo, String filesDir) { public LiveData<List<Files>> getFilesList2(String instanceUrl, String token, String owner, String repo, String filesDir, Context ctx) {
filesList = new MutableLiveData<>(); filesList2 = new MutableLiveData<>();
loadFilesList2(instanceUrl, token, owner, repo, filesDir); 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<List<Files>> call = RetrofitClient Call<List<Files>> call = RetrofitClient
.getInstance(instanceUrl) .getInstance(instanceUrl)
@ -86,19 +90,17 @@ public class FilesViewModel extends ViewModel {
@Override @Override
public void onResponse(@NonNull Call<List<Files>> call, @NonNull Response<List<Files>> response) { public void onResponse(@NonNull Call<List<Files>> call, @NonNull Response<List<Files>> response) {
assert response.body() != null; if (response.isSuccessful()) {
if(response.body().size() > 0) {
Collections.sort(response.body(), new Comparator<Files>() { Collections.sort(response.body(), new Comparator<Files>() {
@Override @Override
public int compare(Files byType1, Files byType2) { public int compare(Files byType1, Files byType2) {
return byType1.getType().compareTo(byType2.getType()); return byType1.getType().compareTo(byType2.getType());
} }
}); });
}
if (response.isSuccessful()) { filesList2.postValue(response.body());
filesList.postValue(response.body());
} else { } else {
Toasty.info(ctx, ctx.getString(R.string.noDataFilesTab));
Log.i("onResponse", String.valueOf(response.code())); Log.i("onResponse", String.valueOf(response.code()));
} }

View File

@ -58,6 +58,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center" android:layout_gravity="center"
android:indeterminate="true" android:indeterminate="true"
android:visibility="visible" /> android:visibility="gone" />
</LinearLayout> </LinearLayout>