1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-03-04 02:28:18 +00:00

Hide unsubscribed folders

This commit is contained in:
M66B 2019-04-25 19:14:31 +02:00
parent abe3226f26
commit 67fb4a0e72
4 changed files with 17 additions and 4 deletions

View file

@ -184,9 +184,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
}
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.setAlpha(folder.hide ? Helper.LOW_LIGHT : 1.0f);
view.setAlpha(hide ? Helper.LOW_LIGHT : 1.0f);
if (textSize != 0)
tvName.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);

View file

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

View file

@ -20,6 +20,8 @@ package eu.faircode.email;
*/
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import androidx.annotation.NonNull;
import androidx.room.Entity;
@ -199,6 +201,16 @@ public class EntityFolder implements Serializable {
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) {
return (display == null ? Helper.localizeFolderName(context, name) : display);
}

View file

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