Hide unsubscribed folders

pull/155/head
M66B 6 years ago
parent abe3226f26
commit 67fb4a0e72

@ -184,9 +184,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
} }
private void bindTo(final TupleFolderEx folder) { private void bindTo(final TupleFolderEx folder) {
view.setVisibility(folder.hide && !show_hidden ? View.GONE : View.VISIBLE); boolean hide = folder.isHidden(context);
view.setVisibility(hide && !show_hidden ? View.GONE : View.VISIBLE);
view.setActivated(folder.tbc != null || folder.tbd != null); view.setActivated(folder.tbc != null || folder.tbd != null);
view.setAlpha(folder.hide ? Helper.LOW_LIGHT : 1.0f); view.setAlpha(hide ? Helper.LOW_LIGHT : 1.0f);
if (textSize != 0) if (textSize != 0)
tvName.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); tvName.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);

@ -2828,7 +2828,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
List<EntityFolder> targets = new ArrayList<>(); List<EntityFolder> targets = new ArrayList<>();
for (EntityFolder folder : folders) for (EntityFolder folder : folders)
if (!folder.hide && if (!folder.isHidden(context) &&
!folder.id.equals(message.folder) && !folder.id.equals(message.folder) &&
!EntityFolder.ARCHIVE.equals(folder.type) && !EntityFolder.ARCHIVE.equals(folder.type) &&
!EntityFolder.TRASH.equals(folder.type) && !EntityFolder.TRASH.equals(folder.type) &&

@ -20,6 +20,8 @@ package eu.faircode.email;
*/ */
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.room.Entity; import androidx.room.Entity;
@ -199,6 +201,16 @@ public class EntityFolder implements Serializable {
return R.drawable.baseline_folder_24; return R.drawable.baseline_folder_24;
} }
boolean isHidden(Context context) {
if (hide)
return true;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean subscriptions = prefs.getBoolean("subscriptions", false);
return (subscriptions && subscribed != null && !subscribed);
}
String getDisplayName(Context context) { String getDisplayName(Context context) {
return (display == null ? Helper.localizeFolderName(context, name) : display); return (display == null ? Helper.localizeFolderName(context, name) : display);
} }

@ -1144,7 +1144,7 @@ public class FragmentMessages extends FragmentBase {
List<EntityFolder> targets = new ArrayList<>(); List<EntityFolder> targets = new ArrayList<>();
List<EntityFolder> folders = db.folder().getFolders(account.id); List<EntityFolder> folders = db.folder().getFolders(account.id);
for (EntityFolder target : folders) for (EntityFolder target : folders)
if (!target.hide && if (!target.isHidden(getContext()) &&
!EntityFolder.ARCHIVE.equals(target.type) && !EntityFolder.ARCHIVE.equals(target.type) &&
!EntityFolder.TRASH.equals(target.type) && !EntityFolder.TRASH.equals(target.type) &&
!EntityFolder.JUNK.equals(target.type) && !EntityFolder.JUNK.equals(target.type) &&

Loading…
Cancel
Save