Check for MOVE capability

pull/23/head
M66B 7 years ago
parent 0069c4e9d7
commit 74e8134e6c

@ -56,6 +56,7 @@ import android.widget.TextView;
import java.text.Collator; import java.text.Collator;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
@ -279,14 +280,24 @@ public class FragmentMessage extends FragmentEx {
hasUser = true; hasUser = true;
} }
boolean inbox = EntityFolder.TYPE_INBOX.equals(message.folderType); final boolean inbox = EntityFolder.TYPE_INBOX.equals(message.folderType);
boolean outbox = EntityFolder.TYPE_OUTBOX.equals(message.folderType); final boolean outbox = EntityFolder.TYPE_OUTBOX.equals(message.folderType);
bottom_navigation.getMenu().findItem(R.id.action_trash).setVisible(hasTrash); bottom_navigation.getMenu().findItem(R.id.action_trash).setVisible(hasTrash);
bottom_navigation.getMenu().findItem(R.id.action_spam).setVisible(!outbox && hasJunk); bottom_navigation.getMenu().findItem(R.id.action_spam).setVisible(!outbox && hasJunk);
bottom_navigation.getMenu().findItem(R.id.action_move).setVisible(!outbox && (!inbox || hasUser)); bottom_navigation.getMenu().findItem(R.id.action_move).setVisible(false);
bottom_navigation.getMenu().findItem(R.id.action_archive).setVisible(!outbox && hasArchive); bottom_navigation.getMenu().findItem(R.id.action_archive).setVisible(!outbox && hasArchive);
bottom_navigation.setVisibility(View.VISIBLE); bottom_navigation.setVisibility(View.VISIBLE);
final boolean fHasUser = hasUser;
db.account().liveAccount(message.id).removeObservers(FragmentMessage.this);
db.account().liveAccount(message.account).observe(FragmentMessage.this, new Observer<EntityAccount>() {
@Override
public void onChanged(@Nullable EntityAccount account) {
boolean move = Arrays.asList(account.capabilities).contains("MOVE");
bottom_navigation.getMenu().findItem(R.id.action_move).setVisible(!outbox && (!inbox || fHasUser) && move);
}
});
} }
}); });
} }

Loading…
Cancel
Save