diff options
author | Scott Jackson <daneren2005@gmail.com> | 2016-01-29 17:25:30 -0800 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2016-01-29 17:25:30 -0800 |
commit | 4b702ea9eed062efb6b220913d568d4d719a629b (patch) | |
tree | 2ba40ad8fd63d550497c8d3f7164646c415fd898 /app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java | |
parent | 2153ff1bee4c7826ea902b1f1fddf2d2933b2b5b (diff) | |
download | dsub-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.java | 59 |
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); + } } |