Skip to content

Commit e4b853f

Browse files
committed
Remove legacy folders code
1 parent 4dc145b commit e4b853f

File tree

5 files changed

+62
-184
lines changed

5 files changed

+62
-184
lines changed

app/src/main/java/org/thunderdog/challegram/config/Config.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ public class Config {
3434
public static final boolean CHAT_FOLDERS_SMART_CHAT_DELETION_ENABLED = true;
3535
public static final boolean CHAT_FOLDERS_HIDE_BOTTOM_BAR_ON_SCROLL = true;
3636
public static final boolean CHAT_FOLDERS_APPEARANCE_IS_GLOBAL = true;
37-
public static final boolean CHAT_FOLDERS_REDESIGN = true;
38-
public static final boolean COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL = CHAT_FOLDERS_REDESIGN;
3937
public static final boolean RESTRICT_HIDING_MAIN_LIST = true;
4038
public static final boolean SEARCH_MESSAGES_ONLY_IN_SELECTED_FOLDER = BuildConfig.EXPERIMENTAL;
4139
public static final boolean CHAT_FOLDERS_UNSET_DEFAULT_ICONS = false; // Until there's a fix on server

app/src/main/java/org/thunderdog/challegram/ui/EditChatFolderController.java

Lines changed: 41 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
import me.vkryl.core.StringUtils;
8888
import me.vkryl.td.Td;
8989

90-
public class EditChatFolderController extends EditBaseController<EditChatFolderController.Arguments> implements View.OnClickListener, View.OnLongClickListener, SettingsAdapter.TextChangeListener, SelectChatsController.Delegate, ChatFoldersListener, ChatFolderListener {
90+
public class EditChatFolderController extends EditBaseController<EditChatFolderController.Arguments> implements View.OnClickListener, View.OnLongClickListener, SelectChatsController.Delegate, ChatFoldersListener, ChatFolderListener {
9191

9292
private static final int NO_CHAT_FOLDER_ID = 0;
9393
private static final int COLLAPSED_CHAT_COUNT = 3;
@@ -152,7 +152,6 @@ public static EditChatFolderController newFolder (Context context, Tdlib tdlib,
152152
private boolean showAllExcludedChats;
153153

154154
private SettingsAdapter adapter;
155-
private @Nullable ListItem input;
156155
private @Nullable EditHeaderView headerCell;
157156

158157
private volatile int chatFolderId;
@@ -194,20 +193,14 @@ public View getCustomHeaderCell () {
194193
@Override
195194
@SuppressWarnings("deprecation")
196195
protected int getHeaderHeight () {
197-
if (Config.CHAT_FOLDERS_REDESIGN && Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
198-
ComplexRecyclerView recyclerView = getRecyclerView();
199-
return (int) (Size.getHeaderPortraitSize() + Size.getHeaderSizeDifference(true) * recyclerView.getScrollFactor());
200-
}
201-
return headerCell != null ? Size.getHeaderBigPortraitSize(false) : super.getHeaderHeight();
196+
ComplexRecyclerView recyclerView = getRecyclerView();
197+
return (int) (Size.getHeaderPortraitSize() + Size.getHeaderSizeDifference(true) * recyclerView.getScrollFactor());
202198
}
203199

204200
@Override
205201
@SuppressWarnings("deprecation")
206202
protected int getMaximumHeaderHeight () {
207-
if (Config.CHAT_FOLDERS_REDESIGN && Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
208-
return Size.getHeaderBigPortraitSize(false);
209-
}
210-
return super.getMaximumHeaderHeight();
203+
return Size.getHeaderBigPortraitSize(false);
211204
}
212205

213206
@Override
@@ -226,46 +219,31 @@ public void setArguments (Arguments args) {
226219
@Override
227220
@SuppressWarnings("deprecation")
228221
protected void onCreateView (Context context, FrameLayoutFix contentView, RecyclerView recyclerView) {
229-
if (Config.CHAT_FOLDERS_REDESIGN) {
230-
headerCell = new EditHeaderView(context, this);
231-
headerCell.setInput(editedChatFolder.title);
232-
headerCell.setInputOptions(R.string.FolderNameHint, InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
233-
headerCell.setOnPhotoClickListener(this::showIconSelector);
234-
headerCell.setImeOptions(EditorInfo.IME_ACTION_DONE);
235-
headerCell.getInputView().setFilters(new InputFilter[] {
236-
new CodePointCountFilter(MAX_CHAT_FOLDER_TITLE_LENGTH),
237-
new CharacterStyleFilter()
238-
});
239-
TextViewKt.doAfterTextChanged(headerCell.getInputView(), (editable) -> {
240-
onTitleChanged(editable != null ? editable.toString() : "");
241-
return Unit.INSTANCE;
242-
});
243-
setLockFocusView(headerCell.getInputView(), /* showAlways */ StringUtils.isEmpty(editedChatFolder.title));
244-
if (Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
245-
((ComplexRecyclerView) recyclerView).setHeaderView(headerCell, this);
246-
} else {
247-
Views.setTopMargin(recyclerView, Size.getHeaderSizeDifference(false));
248-
}
249-
updateFolderIcon();
250-
}
222+
headerCell = new EditHeaderView(context, this);
223+
headerCell.setInput(editedChatFolder.title);
224+
headerCell.setInputOptions(R.string.FolderNameHint, InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
225+
headerCell.setOnPhotoClickListener(this::showIconSelector);
226+
headerCell.setImeOptions(EditorInfo.IME_ACTION_DONE);
227+
headerCell.getInputView().setFilters(new InputFilter[] {
228+
new CodePointCountFilter(MAX_CHAT_FOLDER_TITLE_LENGTH),
229+
new CharacterStyleFilter()
230+
});
231+
TextViewKt.doAfterTextChanged(headerCell.getInputView(), (editable) -> {
232+
onTitleChanged(editable != null ? editable.toString() : "");
233+
return Unit.INSTANCE;
234+
});
235+
setLockFocusView(headerCell.getInputView(), /* showAlways */ StringUtils.isEmpty(editedChatFolder.title));
236+
((ComplexRecyclerView) recyclerView).setHeaderView(headerCell, this);
237+
updateFolderIcon();
251238

252239
ArrayList<ListItem> items = new ArrayList<>();
253240

254-
if (Config.CHAT_FOLDERS_REDESIGN) {
255-
if (Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
256-
items.add(new ListItem(ListItem.TYPE_PADDING).setHeight(Size.getHeaderSizeDifference(false)).setBoolValue(chatFolderId != NO_CHAT_FOLDER_ID));
257-
}
258-
if (chatFolderId != NO_CHAT_FOLDER_ID) {
259-
items.add(new ListItem(ListItem.TYPE_RADIO_SETTING, R.id.btn_visible, 0, R.string.FolderVisible));
260-
items.add(new ListItem(ListItem.TYPE_SHADOW_BOTTOM));
261-
} else {
262-
items.add(new ListItem(ListItem.TYPE_EMPTY_OFFSET_SMALL));
263-
}
264-
} else {
265-
items.add(new ListItem(ListItem.TYPE_HEADER_PADDED, 0, 0, R.string.FolderName));
266-
items.add(new ListItem(ListItem.TYPE_SHADOW_TOP));
267-
items.add(input = new ListItem(ListItem.TYPE_CUSTOM_SINGLE, R.id.input).setStringValue(editedChatFolder.title));
241+
items.add(new ListItem(ListItem.TYPE_PADDING).setHeight(Size.getHeaderSizeDifference(false)).setBoolValue(chatFolderId != NO_CHAT_FOLDER_ID));
242+
if (chatFolderId != NO_CHAT_FOLDER_ID) {
243+
items.add(new ListItem(ListItem.TYPE_RADIO_SETTING, R.id.btn_visible, 0, R.string.FolderVisible));
268244
items.add(new ListItem(ListItem.TYPE_SHADOW_BOTTOM));
245+
} else {
246+
items.add(new ListItem(ListItem.TYPE_EMPTY_OFFSET_SMALL));
269247
}
270248

271249
items.add(new ListItem(ListItem.TYPE_HEADER, 0, 0, R.string.FolderIncludedChats));
@@ -297,20 +275,9 @@ protected void onCreateView (Context context, FrameLayoutFix contentView, Recycl
297275
items.add(new ListItem(ListItem.TYPE_SHADOW_BOTTOM));
298276
}
299277

300-
if (Config.CHAT_FOLDERS_REDESIGN && Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
301-
items.add(new ListItem(ListItem.TYPE_PADDING).setHeight(Size.getHeaderSizeDifference(false)));
302-
} else {
303-
if (chatFolderId != NO_CHAT_FOLDER_ID) {
304-
items.add(new ListItem(ListItem.TYPE_PADDING).setHeight(Screen.dp(12)));
305-
}
306-
items.add(new ListItem(ListItem.TYPE_ZERO_VIEW));
307-
}
278+
items.add(new ListItem(ListItem.TYPE_PADDING).setHeight(Size.getHeaderSizeDifference(false)));
308279

309280
adapter = new Adapter(this);
310-
if (input != null) {
311-
adapter.setLockFocusOn(this, /* showAlways */ StringUtils.isEmpty(editedChatFolder.title));
312-
adapter.setTextChangeListener(this);
313-
}
314281
adapter.setItems(items, false);
315282
recyclerView.setAdapter(adapter);
316283
RemoveHelper.attach(recyclerView, new RemoveHelperCallback());
@@ -334,25 +301,23 @@ protected RecyclerView onCreateRecyclerView () {
334301
recyclerView.setLayoutManager(new LinearLayoutManager(context, RecyclerView.VERTICAL, false));
335302
recyclerView.setLayoutParams(FrameLayoutFix.newParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
336303
recyclerView.addItemDecoration(new ItemDecoration());
337-
if (Config.CHAT_FOLDERS_REDESIGN && Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
338-
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
339-
@Override
340-
public void onScrollStateChanged (@NonNull RecyclerView recyclerView, int newState) {
341-
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
342-
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
343-
View view = layoutManager != null ? layoutManager.findViewByPosition(0) : null;
344-
if (view == null) return;
345-
if (view.getTop() < 0 && view.getBottom() > 0) {
346-
if ((view.getTop() + view.getBottom()) / 2 > 0) {
347-
recyclerView.smoothScrollBy(0, view.getTop(), AnimatorUtils.DECELERATE_INTERPOLATOR);
348-
} else {
349-
recyclerView.smoothScrollBy(0, view.getBottom(), AnimatorUtils.DECELERATE_INTERPOLATOR);
350-
}
304+
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
305+
@Override
306+
public void onScrollStateChanged (@NonNull RecyclerView recyclerView, int newState) {
307+
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
308+
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
309+
View view = layoutManager != null ? layoutManager.findViewByPosition(0) : null;
310+
if (view == null) return;
311+
if (view.getTop() < 0 && view.getBottom() > 0) {
312+
if ((view.getTop() + view.getBottom()) / 2 > 0) {
313+
recyclerView.smoothScrollBy(0, view.getTop(), AnimatorUtils.DECELERATE_INTERPOLATOR);
314+
} else {
315+
recyclerView.smoothScrollBy(0, view.getBottom(), AnimatorUtils.DECELERATE_INTERPOLATOR);
351316
}
352317
}
353318
}
354-
});
355-
}
319+
}
320+
});
356321
return recyclerView;
357322
}
358323

@@ -364,9 +329,7 @@ public ComplexRecyclerView getRecyclerView () {
364329
@Override
365330
protected void onDoneVisibleChanged (boolean isVisible) {
366331
if (recyclerView != null) {
367-
if (!Config.COLLAPSE_CHAT_FOLDER_HEADER_ON_SCROLL) {
368-
recyclerView.invalidateItemDecorations();
369-
}
332+
recyclerView.invalidateItemDecorations();
370333
adapter.notifyLastItemChanged();
371334
}
372335
}
@@ -563,13 +526,6 @@ public void onChatFoldersChanged (TdApi.ChatFolderInfo[] chatFolders, int mainCh
563526
}
564527
}
565528

566-
@Override
567-
public void onTextChanged (int id, ListItem item, MaterialEditTextGroup v) {
568-
if (item == input) {
569-
onTitleChanged(v.getText().toString());
570-
}
571-
}
572-
573529
private void onTitleChanged (String text) {
574530
editedChatFolder.title = text;
575531
updateDoneButton();
@@ -767,20 +723,12 @@ private void updateFolderName () {
767723
}
768724
int includedChatType = includedChatTypes[0];
769725
String chatTypeName = Lang.getString(TD.chatTypeName(includedChatType));
770-
boolean isNameChanged = false;
771726
if (!StringUtils.equalsOrBothEmpty(editedChatFolder.title, chatTypeName)) {
772727
editedChatFolder.title = chatTypeName;
773-
isNameChanged = true;
774-
if (input != null) {
775-
input.setStringValue(chatTypeName);
776-
}
777728
if (headerCell != null) {
778729
headerCell.setInput(chatTypeName);
779730
}
780731
}
781-
if (input != null && isNameChanged) {
782-
adapter.updateSimpleItemById(input.getId());
783-
}
784732
}
785733

786734
@Override
@@ -922,9 +870,6 @@ private void closeSelf () {
922870
}
923871

924872
private void updateFolderIcon () {
925-
if (input != null) {
926-
adapter.updateSimpleItemById(input.getId());
927-
}
928873
if (headerCell != null) {
929874
int iconResource = tdlib.chatFolderIconDrawable(editedChatFolder, R.drawable.baseline_folder_24);
930875
headerCell.setIcon(iconResource, ColorId.white);

app/src/main/java/org/thunderdog/challegram/ui/MainController.java

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,7 @@ private boolean showHideCompose (ViewController<?> controller, boolean show) {
13941394
};
13951395

13961396
private boolean useGlobalFilter () {
1397-
return Config.CHAT_FOLDERS_REDESIGN && displayTabsAtBottom();
1397+
return displayTabsAtBottom();
13981398
}
13991399

14001400
private @Filter int getSelectedFilter (long pagerItemId) {
@@ -1501,7 +1501,7 @@ private CharSequence getMenuSectionName (long pagerItemId, int pagerItemPosition
15011501
throw new UnsupportedOperationException();
15021502
}
15031503
boolean showAsArchive = (isMain && menuNeedArchive) || isArchive;
1504-
if (hasFolders && Config.CHAT_FOLDERS_REDESIGN) {
1504+
if (hasFolders) {
15051505
String source;
15061506
boolean iconOnly = chatFolderStyle == ChatFolderStyle.ICON_ONLY || (isMain && pagerItemPosition == 0);
15071507
if (iconOnly) {
@@ -1564,20 +1564,11 @@ private CharSequence getFolderSectionName (long pagerItemId, String folderName,
15641564
int selectedFilter = getSelectedFilter(pagerItemId);
15651565
CharSequence sectionName;
15661566
if (selectedFilter != FILTER_NONE) {
1567-
if (Config.CHAT_FOLDERS_REDESIGN) {
1568-
String source = chatFolderStyle == ChatFolderStyle.ICON_ONLY ? "" : folderName;
1569-
if (useGlobalFilter() && selectedFilter == globalFilter) {
1570-
sectionName = source;
1571-
} else {
1572-
sectionName = appendFilterIcon(source, selectedFilter);
1573-
}
1567+
String source = chatFolderStyle == ChatFolderStyle.ICON_ONLY ? "" : folderName;
1568+
if (useGlobalFilter() && selectedFilter == globalFilter) {
1569+
sectionName = source;
15741570
} else {
1575-
String filterName = Lang.getString(getFilterName(selectedFilter));
1576-
if (chatFolderStyle == ChatFolderStyle.LABEL_ONLY) {
1577-
sectionName = Lang.getString(R.string.format_folderAndFilter, folderName, filterName);
1578-
} else {
1579-
sectionName = filterName;
1580-
}
1571+
sectionName = appendFilterIcon(source, selectedFilter);
15811572
}
15821573
} else {
15831574
sectionName = chatFolderStyle == ChatFolderStyle.ICON_ONLY ? "" : folderName;

app/src/main/java/org/thunderdog/challegram/ui/SelectChatsController.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import org.thunderdog.challegram.U;
4949
import org.thunderdog.challegram.component.user.BubbleHeaderView;
5050
import org.thunderdog.challegram.component.user.BubbleView;
51-
import org.thunderdog.challegram.config.Config;
5251
import org.thunderdog.challegram.core.Lang;
5352
import org.thunderdog.challegram.data.AvatarPlaceholder;
5453
import org.thunderdog.challegram.data.DoubleTextWrapper;
@@ -499,7 +498,7 @@ private void updateDoneButton () {
499498
}
500499

501500
private boolean hasBubbles () {
502-
return Config.CHAT_FOLDERS_REDESIGN;
501+
return true;
503502
}
504503

505504
private int indexOfChatBubble (long chatId) {

0 commit comments

Comments
 (0)