mirror of https://github.com/NekoX-Dev/NekoX.git
fix archive unpin bug
This commit is contained in:
parent
311e6c514e
commit
51cf9ca609
|
@ -1123,7 +1123,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
|
|||
|
||||
@Override
|
||||
public int scrollVerticallyBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state) {
|
||||
if (listView.getAdapter() == dialogsAdapter && (dialogsType == 0 || (dialogsType >= 7 && dialogsType <= 11)) && !onlySelect && !allowScrollToHiddenView && folderId == 0 && dy < 0 && getMessagesController().hasHiddenArchive()) {
|
||||
if (!allowScrollToHiddenView && dy < 0 && hasHiddenArchive()) {
|
||||
int currentPosition = layoutManager.findFirstVisibleItemPosition();
|
||||
if (currentPosition == 0) {
|
||||
View view = layoutManager.findViewByPosition(currentPosition);
|
||||
|
@ -2040,7 +2040,10 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
|
|||
}
|
||||
|
||||
private boolean hasHiddenArchive() {
|
||||
return listView.getAdapter() == dialogsAdapter && !onlySelect && (dialogsType == 0 || (dialogsType >= 7 && dialogsType <= 11)) && folderId == 0 && getMessagesController().hasHiddenArchive();
|
||||
return listView.getAdapter() == dialogsAdapter && !onlySelect
|
||||
&& (dialogsType == 0 || (dialogsType >= 7 && dialogsType <= 11))
|
||||
&& folderId == 0
|
||||
&& FilterPopup.getInstance(currentAccount).hasHiddenArchive(dialogsType);
|
||||
}
|
||||
|
||||
private boolean waitingForDialogsAnimationEnd() {
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.telegram.messenger.DialogObject;
|
|||
import org.telegram.messenger.LocaleController;
|
||||
import org.telegram.messenger.MessagesController;
|
||||
import org.telegram.messenger.R;
|
||||
import org.telegram.messenger.SharedConfig;
|
||||
import org.telegram.messenger.UserConfig;
|
||||
import org.telegram.tgnet.TLRPC;
|
||||
import org.telegram.ui.ActionBar.ActionBar;
|
||||
|
@ -108,6 +109,20 @@ public class FilterPopup {
|
|||
}
|
||||
}
|
||||
|
||||
public boolean hasHiddenArchive(int type) {
|
||||
if (!SharedConfig.archiveHidden)
|
||||
return false;
|
||||
ArrayList<TLRPC.Dialog> dialogs = getDialogs(type, 0);
|
||||
if (dialogs == null)
|
||||
return MessagesController.getInstance(currentAccount).hasHiddenArchive();
|
||||
for (TLRPC.Dialog dialog : dialogs) {
|
||||
if (dialog instanceof TLRPC.TL_dialogFolder) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public ArrayList<TLRPC.Dialog> getDialogs(int type, int folderId) {
|
||||
MessagesController messagesController = AccountInstance.getInstance(currentAccount).getMessagesController();
|
||||
ArrayList<TLRPC.Dialog> allDialogs = new ArrayList<>(messagesController.getDialogs(folderId));
|
||||
|
|
Loading…
Reference in New Issue