aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2016-01-29 17:25:30 -0800
committerScott Jackson <daneren2005@gmail.com>2016-01-29 17:25:30 -0800
commit4b702ea9eed062efb6b220913d568d4d719a629b (patch)
tree2ba40ad8fd63d550497c8d3f7164646c415fd898 /app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java
parent2153ff1bee4c7826ea902b1f1fddf2d2933b2b5b (diff)
downloaddsub-4b702ea9eed062efb6b220913d568d4d719a629b.tar.gz
dsub-4b702ea9eed062efb6b220913d568d4d719a629b.tar.bz2
dsub-4b702ea9eed062efb6b220913d568d4d719a629b.zip
#456 start of music folder admin
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java59
1 files changed, 40 insertions, 19 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java
index 1cb9c34e..112778e3 100644
--- a/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java
+++ b/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java
@@ -23,11 +23,15 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import github.daneren2005.dsub.R;
+import github.daneren2005.dsub.domain.ServerInfo;
import github.daneren2005.dsub.domain.User;
import github.daneren2005.dsub.util.ImageLoader;
+import github.daneren2005.dsub.util.UserUtil;
import github.daneren2005.dsub.view.RecyclingImageView;
import github.daneren2005.dsub.view.SettingView;
import github.daneren2005.dsub.view.UpdateView;
@@ -42,8 +46,8 @@ public class SettingsAdapter extends SectionAdapter<Setting> {
private final boolean editable;
private final ImageLoader imageLoader;
- public SettingsAdapter(Context context, User user, ImageLoader imageLoader, boolean editable, OnItemClickedListener<Setting> onItemClickedListener) {
- super(context, user.getSettings(), imageLoader != null);
+ public SettingsAdapter(Context context, User user, List<String> headers, List<List<User.Setting>> settingSections, ImageLoader imageLoader, boolean editable, OnItemClickedListener<Setting> onItemClickedListener) {
+ super(context, headers, settingSections, imageLoader != null);
this.user = user;
this.imageLoader = imageLoader;
this.editable = editable;
@@ -62,25 +66,29 @@ public class SettingsAdapter extends SectionAdapter<Setting> {
return new UpdateView.UpdateViewHolder(header, false);
}
public void onBindHeaderHolder(UpdateView.UpdateViewHolder holder, String description) {
- View header = holder.getView();
-
- RecyclingImageView coverArtView = (RecyclingImageView) header.findViewById(R.id.user_avatar);
- imageLoader.loadAvatar(context, coverArtView, user.getUsername());
- coverArtView.setOnInvalidated(new RecyclingImageView.OnInvalidated() {
- @Override
- public void onInvalidated(RecyclingImageView imageView) {
- imageLoader.loadAvatar(context, imageView, user.getUsername());
+ if(description == null) {
+ View header = holder.getView();
+
+ RecyclingImageView coverArtView = (RecyclingImageView) header.findViewById(R.id.user_avatar);
+ imageLoader.loadAvatar(context, coverArtView, user.getUsername());
+ coverArtView.setOnInvalidated(new RecyclingImageView.OnInvalidated() {
+ @Override
+ public void onInvalidated(RecyclingImageView imageView) {
+ imageLoader.loadAvatar(context, imageView, user.getUsername());
+ }
+ });
+
+ TextView usernameView = (TextView) header.findViewById(R.id.user_username);
+ usernameView.setText(user.getUsername());
+
+ final TextView emailView = (TextView) header.findViewById(R.id.user_email);
+ if (user.getEmail() != null) {
+ emailView.setText(user.getEmail());
+ } else {
+ emailView.setVisibility(View.GONE);
}
- });
-
- TextView usernameView = (TextView) header.findViewById(R.id.user_username);
- usernameView.setText(user.getUsername());
-
- final TextView emailView = (TextView) header.findViewById(R.id.user_email);
- if(user.getEmail() != null) {
- emailView.setText(user.getEmail());
} else {
- emailView.setVisibility(View.GONE);
+
}
}
@@ -105,4 +113,17 @@ public class SettingsAdapter extends SectionAdapter<Setting> {
updateView.setChecked(checked);
}
}
+
+ public static SettingsAdapter getSettingsAdapter(Context context, User user, ImageLoader imageLoader, OnItemClickedListener<Setting> onItemClickedListener) {
+ List<String> headers = new ArrayList<>();
+ List<List<User.Setting>> settingsSections = new ArrayList<>();
+ settingsSections.add(user.getSettings());
+
+ if(user.getMusicFolderSettings() != null) {
+ headers.add(context.getResources().getString(R.string.admin_permissions));
+ headers.add(context.getResources().getString(R.string.admin_musicFolders));
+ settingsSections.add(user.getMusicFolderSettings());
+ }
+ return new SettingsAdapter(context, user, headers, settingsSections, imageLoader, UserUtil.isCurrentAdmin() && ServerInfo.checkServerVersion(context, "1.10"), onItemClickedListener);
+ }
}