mirror of
https://codeberg.org/gitnex/GitNex.git
synced 2023-12-13 20:50:18 +01:00
Extend CI workflows (-> https://codeberg.org/gitnex/GitNex/issues/1099) 1. pull translations and push them again on every pull @mmarif this needs the secrets and `BOT_TOKEN` the code for this comes from tea4j-autodeploy 2. add a **template** for a check workflow which only does some static checks right now. It is disabled because it requires some investigation and discussion on how we should deal with these issues. The checks are currently (if we would enable it): 1. check code style and formatting according to the project file in `.idea/` 2. make sure every Java file has an `@author` annotation I would wait until you reviewed with enabling them because we have to reformat all the files which results in changes with a few thousand changed lines (tried this once). Closes https://codeberg.org/gitnex/GitNex/issues/141 Co-authored-by: qwerty287 <ndev@web.de> Co-authored-by: M M Arif <mmarif@noreply.codeberg.org> Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/1155 Reviewed-by: 6543 <6543@noreply.codeberg.org> Co-authored-by: qwerty287 <qwerty287@noreply.codeberg.org> Co-committed-by: qwerty287 <qwerty287@noreply.codeberg.org>
78 lines
1.9 KiB
Java
78 lines
1.9 KiB
Java
package org.mian.gitnex.helpers;
|
|
|
|
import android.content.Context;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
/**
|
|
* @author com.github.abumoallim, modified by M M Arif
|
|
*/
|
|
|
|
public class RecyclerViewEmptySupport extends RecyclerView {
|
|
|
|
private View emptyView;
|
|
|
|
final private AdapterDataObserver observer = new AdapterDataObserver() {
|
|
|
|
@Override
|
|
public void onChanged() {
|
|
checkIfEmpty();
|
|
}
|
|
|
|
@Override
|
|
public void onItemRangeInserted(int positionStart, int itemCount) {
|
|
checkIfEmpty();
|
|
}
|
|
|
|
@Override
|
|
public void onItemRangeRemoved(int positionStart, int itemCount) {
|
|
checkIfEmpty();
|
|
}
|
|
|
|
};
|
|
|
|
public RecyclerViewEmptySupport(Context context) {
|
|
super(context);
|
|
}
|
|
|
|
public RecyclerViewEmptySupport(Context context, AttributeSet attrs) {
|
|
super(context, attrs);
|
|
}
|
|
|
|
public RecyclerViewEmptySupport(Context context, AttributeSet attrs, int defStyle) {
|
|
super(context, attrs, defStyle);
|
|
}
|
|
|
|
void checkIfEmpty() {
|
|
|
|
if (emptyView != null && getAdapter() != null) {
|
|
final boolean emptyViewVisible = getAdapter().getItemCount() == 0;
|
|
emptyView.setVisibility(emptyViewVisible ? VISIBLE : GONE);
|
|
setVisibility(emptyViewVisible ? GONE : VISIBLE);
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public void setAdapter(Adapter adapter) {
|
|
|
|
final Adapter<?> oldAdapter = getAdapter();
|
|
if (oldAdapter != null) {
|
|
oldAdapter.unregisterAdapterDataObserver(observer);
|
|
}
|
|
super.setAdapter(adapter);
|
|
if (adapter != null) {
|
|
adapter.registerAdapterDataObserver(observer);
|
|
}
|
|
|
|
checkIfEmpty();
|
|
|
|
}
|
|
|
|
public void setEmptyView(View emptyView) {
|
|
this.emptyView = emptyView;
|
|
checkIfEmpty();
|
|
}
|
|
}
|