1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2025-11-13 13:37:12 +00:00

+ New Tab is now on the bottom

Made dialog more beautiful
This commit is contained in:
Somethingweirdhere
2018-06-16 12:52:26 +02:00
committed by Christian Schabesberger
parent 33f5ed5b14
commit 6d64215614
5 changed files with 42 additions and 62 deletions

View File

@@ -57,7 +57,6 @@ public class ContentSettingsMain extends Fragment {
tabNames();
initUsedTabs();
initAddButton(rootView);
usedTabsView = rootView.findViewById(R.id.usedTabs);
usedTabsView.setLayoutManager(new LinearLayoutManager(getContext()));
@@ -80,7 +79,6 @@ public class ContentSettingsMain extends Fragment {
save.append("\n");
}
}
saveString = save.toString();
}
@@ -100,18 +98,6 @@ public class ContentSettingsMain extends Fragment {
usedTabs.addAll(Arrays.asList(tabs));
}
private void initAddButton(View rootView) {
Button addButton = rootView.findViewById(R.id.buttonAdd);
addButton.setBackgroundResource(ThemeHelper.getIconByAttr(R.attr.ic_add, getActivity()));
addButton.setOnClickListener(v -> {
ContentSettingsMainDialog contentSettingsMainDialog = new ContentSettingsMainDialog();
contentSettingsMainDialog.setOnAddListener((int position) -> {
addTab(position);
});
contentSettingsMainDialog.show(getFragmentManager(), "select_channel");
});
}
private void tabNames() {
allTabs[0] = getString(R.string.blank_page_summary);
allTabs[1] = getString(R.string.kiosk_page_summary);
@@ -143,6 +129,10 @@ public class ContentSettingsMain extends Fragment {
// ... code from gist
@Override
public void onItemDismiss(int position) {
if(position==getItemCount() - 1) {
notifyDataSetChanged();
return;
}
usedTabs.remove(position);
notifyItemRemoved(position);
saveChanges();
@@ -150,6 +140,7 @@ public class ContentSettingsMain extends Fragment {
@Override
public void onItemMove(int fromPosition, int toPosition) {
if(fromPosition==getItemCount() - 1 || toPosition==getItemCount() - 1) return;
if (fromPosition < toPosition) {
for (int i = fromPosition; i < toPosition; i++) {
Collections.swap(usedTabs, i, i + 1);
@@ -178,21 +169,31 @@ public class ContentSettingsMain extends Fragment {
@Override
public int getItemCount() {
return usedTabs.size();
return usedTabs.size() + 1;
}
class TabViewHolder extends RecyclerView.ViewHolder {
TextView text;
View view;
public TabViewHolder(View itemView) {
super(itemView);
text = itemView.findViewById(R.id.tabName);
view = itemView;
}
void bind(int position) {
if(usedTabs.get(position).startsWith("6\t")) {
if(position == getItemCount() - 1) {
String newTabString = "+ " + getString(R.string.tab_new);
text.setText(newTabString);
view.setOnClickListener(v -> {
ContentSettingsMainDialog contentSettingsMainDialog = new ContentSettingsMainDialog();
contentSettingsMainDialog.setOnAddListener(ContentSettingsMain.this::addTab);
contentSettingsMainDialog.show(getFragmentManager(), "select_channel");
});
} else if(usedTabs.get(position).startsWith("6\t")) {
String channelInfo[] = usedTabs.get(position).split("\t");
String channelName = "";
if(channelInfo.length==4) channelName = channelInfo[2];
@@ -273,6 +274,7 @@ public class ContentSettingsMain extends Fragment {
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
mAdapter.onItemDismiss(viewHolder.getAdapterPosition());
}
}