Audinaut-subsonic-app-android/app/src/main/java/net/nullsum/audinaut/adapter/MainAdapter.java

84 lines
2.9 KiB
Java
Raw Normal View History

2016-12-18 18:41:30 +01:00
/*
This file is part of Subsonic.
2018-03-24 20:25:12 +01:00
Subsonic is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Subsonic is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015 (C) Scott Jackson
2016-12-18 18:41:30 +01:00
*/
2017-01-09 08:01:12 +01:00
package net.nullsum.audinaut.adapter;
2016-12-18 18:41:30 +01:00
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
2017-01-09 08:01:12 +01:00
import net.nullsum.audinaut.R;
import net.nullsum.audinaut.view.BasicHeaderView;
import net.nullsum.audinaut.view.BasicListView;
import net.nullsum.audinaut.view.UpdateView;
2016-12-18 18:41:30 +01:00
2018-03-25 03:28:28 +02:00
import java.util.List;
2016-12-18 18:41:30 +01:00
public class MainAdapter extends SectionAdapter<Integer> {
2018-03-25 03:28:28 +02:00
private static final int VIEW_TYPE_ALBUM_LIST = 1;
2016-12-18 18:41:30 +01:00
2018-03-24 20:25:12 +01:00
public MainAdapter(Context context, List<String> headers, List<List<Integer>> sections, OnItemClickedListener onItemClickedListener) {
super(context, headers, sections);
this.onItemClickedListener = onItemClickedListener;
}
2016-12-18 18:41:30 +01:00
2018-03-24 20:25:12 +01:00
@Override
2018-03-25 03:28:28 +02:00
public UpdateView.UpdateViewHolder onCreateSectionViewHolder(int viewType) {
2018-03-24 20:25:12 +01:00
UpdateView updateView = new BasicListView(context);
return new UpdateView.UpdateViewHolder(updateView);
}
2016-12-18 18:41:30 +01:00
2018-03-24 20:25:12 +01:00
@Override
public void onBindViewHolder(UpdateView.UpdateViewHolder holder, Integer item, int viewType) {
UpdateView updateView = holder.getUpdateView();
2016-12-18 18:41:30 +01:00
2018-03-25 03:28:28 +02:00
if (viewType == VIEW_TYPE_ALBUM_LIST) {
2018-03-24 20:25:12 +01:00
updateView.setObject(context.getResources().getString(item));
} else {
updateView.setObject(item);
}
}
2016-12-18 18:41:30 +01:00
2018-03-24 20:25:12 +01:00
@Override
public int getItemViewType(Integer item) {
return VIEW_TYPE_ALBUM_LIST;
}
2016-12-18 18:41:30 +01:00
2018-03-24 20:25:12 +01:00
@Override
public UpdateView.UpdateViewHolder onCreateHeaderHolder(ViewGroup parent) {
return new UpdateView.UpdateViewHolder(new BasicHeaderView(context, R.layout.album_list_header));
}
2018-03-25 03:28:28 +02:00
2018-03-24 20:25:12 +01:00
@Override
public void onBindHeaderHolder(UpdateView.UpdateViewHolder holder, String header, int sectionIndex) {
UpdateView view = holder.getUpdateView();
2018-03-25 03:28:28 +02:00
CheckBox checkBox = view.findViewById(R.id.item_checkbox);
2016-12-18 18:41:30 +01:00
2018-03-24 20:25:12 +01:00
String display;
2018-03-25 03:28:28 +02:00
if ("songs".equals(header)) {
2018-03-24 20:25:12 +01:00
display = context.getResources().getString(R.string.search_songs);
checkBox.setVisibility(View.GONE);
} else {
display = header;
checkBox.setVisibility(View.GONE);
}
2016-12-18 18:41:30 +01:00
2018-03-25 03:28:28 +02:00
if (view != null) {
2018-03-24 20:25:12 +01:00
view.setObject(display);
}
}
2016-12-18 18:41:30 +01:00
}