Skip to content

Commit 5592667

Browse files
committed
Removing preferences when user does not have admin privileges
1 parent 96df18b commit 5592667

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

WordPress/src/main/java/org/wordpress/android/ui/main/MySiteFragment.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ public class MySiteFragment extends Fragment
4848
private WPTextView mBlogSubtitleTextView;
4949
private LinearLayout mLookAndFeelHeader;
5050
private RelativeLayout mThemesContainer;
51-
private View mConfigurationHeader;
52-
private View mSettingsView;
5351
private View mFabView;
5452
private LinearLayout mNoSiteView;
5553
private ScrollView mScrollView;
@@ -118,8 +116,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
118116
mBlogSubtitleTextView = (WPTextView) rootView.findViewById(R.id.my_site_subtitle_label);
119117
mLookAndFeelHeader = (LinearLayout) rootView.findViewById(R.id.my_site_look_and_feel_header);
120118
mThemesContainer = (RelativeLayout) rootView.findViewById(R.id.row_themes);
121-
mConfigurationHeader = rootView.findViewById(R.id.row_configuration);
122-
mSettingsView = rootView.findViewById(R.id.row_settings);
123119
mScrollView = (ScrollView) rootView.findViewById(R.id.scroll_view);
124120
mNoSiteView = (LinearLayout) rootView.findViewById(R.id.no_site_view);
125121
mNoSiteDrakeImageView = (ImageView) rootView.findViewById(R.id.my_site_no_site_view_drake);
@@ -190,7 +186,7 @@ public void onClick(View v) {
190186
}
191187
});
192188

193-
mSettingsView.setOnClickListener(new View.OnClickListener() {
189+
rootView.findViewById(R.id.row_settings).setOnClickListener(new View.OnClickListener() {
194190
@Override
195191
public void onClick(View v) {
196192
ActivityLauncher.viewBlogSettingsForResult(getActivity(), mBlog);
@@ -308,10 +304,6 @@ private void refreshBlogDetails() {
308304
mLookAndFeelHeader.setVisibility(themesVisibility);
309305
mThemesContainer.setVisibility(themesVisibility);
310306

311-
int settingsVisibility = mBlog.isAdmin() ? View.VISIBLE : View.GONE;
312-
mConfigurationHeader.setVisibility(settingsVisibility);
313-
mSettingsView.setVisibility(settingsVisibility);
314-
315307
mBlavatarImageView.setImageUrl(GravatarUtils.blavatarFromUrl(mBlog.getUrl(), mBlavatarSz), WPNetworkImageView.ImageType.BLAVATAR);
316308

317309
String blogName = StringUtils.unescapeHTML(mBlog.getBlogName());

WordPress/src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,7 @@ public void allowEditing(boolean allow) {
482482
private void setupPreferenceList(ListView prefList, Resources res) {
483483
if (prefList == null || res == null) return;
484484

485+
// customize list dividers
485486
prefList.setDivider(getResources().getDrawable(R.drawable.preferences_divider));
486487
prefList.setDividerHeight(1);
487488
// handle long clicks on preferences to display hints
@@ -542,6 +543,16 @@ private void initPreferences() {
542543
removePreference(R.string.pref_key_site_general, R.string.pref_key_site_language);
543544
removePreference(R.string.pref_key_site_writing, R.string.pref_key_site_related_posts);
544545
}
546+
547+
// hide all options except for Delete site and Enable Location if user is not admin
548+
if (!mBlog.isAdmin()) {
549+
removePreference(R.string.pref_key_site_screen, R.string.pref_key_site_general);
550+
removePreference(R.string.pref_key_site_screen, R.string.pref_key_site_account);
551+
removePreference(R.string.pref_key_site_screen, R.string.pref_key_site_discussion);
552+
removePreference(R.string.pref_key_site_writing, R.string.pref_key_site_category);
553+
removePreference(R.string.pref_key_site_writing, R.string.pref_key_site_format);
554+
removePreference(R.string.pref_key_site_writing, R.string.pref_key_site_related_posts);
555+
}
545556
}
546557

547558
private void showRelatedPostsDialog() {
@@ -1157,9 +1168,10 @@ private Preference getPref(int id) {
11571168
*/
11581169
private void removePreference(int parentKey, int preference) {
11591170
PreferenceGroup parent = (PreferenceGroup) findPreference(getString(parentKey));
1171+
Preference child = findPreference(getString(preference));
11601172

1161-
if (parent != null) {
1162-
parent.removePreference(findPreference(getString(preference)));
1173+
if (parent != null && child != null) {
1174+
parent.removePreference(child);
11631175
}
11641176
}
11651177
}

0 commit comments

Comments
 (0)