Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Commit 002aad0

Browse files
Fixes #2960 - Updated code to increase number/index of the last row item that would display menu below item instead of on top (#3499)
1 parent 6b20069 commit 002aad0

File tree

2 files changed

+21
-21
lines changed

2 files changed

+21
-21
lines changed

app/src/common/shared/org/mozilla/vrbrowser/ui/views/library/DownloadsView.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ protected void initialize() {
7878

7979
mDownloadsManager = ((VRBrowserActivity) getContext()).getServicesProvider().getDownloadsManager();
8080
mViewModel = new ViewModelProvider(
81-
(VRBrowserActivity)getContext(),
81+
(VRBrowserActivity) getContext(),
8282
ViewModelProvider.AndroidViewModelFactory.getInstance(((VRBrowserActivity) getContext()).getApplication()))
8383
.get(DownloadsViewModel.class);
8484

@@ -95,7 +95,7 @@ public void updateUI() {
9595

9696
// Inflate this data binding layout
9797
mBinding = DataBindingUtil.inflate(inflater, R.layout.downloads, this, true);
98-
mBinding.setLifecycleOwner((VRBrowserActivity)getContext());
98+
mBinding.setLifecycleOwner((VRBrowserActivity) getContext());
9999
mBinding.setCallback(mDownloadsCallback);
100100
mBinding.setDownloadsViewModel(mViewModel);
101101
mDownloadsAdapter = new DownloadsAdapter(mDownloadItemCallback, getContext());
@@ -180,8 +180,8 @@ public void onMore(@NonNull View view, @NonNull Download item) {
180180
LinearLayoutManager layoutManager = (LinearLayoutManager) mBinding.downloadsList.getLayoutManager();
181181
int lastItem = mDownloadsAdapter.getItemCount();
182182
if ((rowPosition == layoutManager.findLastVisibleItemPosition() || rowPosition == layoutManager.findLastCompletelyVisibleItemPosition() ||
183-
rowPosition == layoutManager.findLastVisibleItemPosition()-1 || rowPosition == layoutManager.findLastCompletelyVisibleItemPosition()-1)
184-
&& rowPosition != lastItem) {
183+
rowPosition == layoutManager.findLastVisibleItemPosition() - 1 || rowPosition == layoutManager.findLastCompletelyVisibleItemPosition() - 1)
184+
&& ((rowPosition == (lastItem - 1)) && rowPosition > 2)) {
185185
isLastVisibleItem = true;
186186
}
187187
}
@@ -252,7 +252,7 @@ protected void onLayout(boolean changed, int left, int top, int right, int botto
252252
@Override
253253
protected void updateLayout() {
254254
post(() -> {
255-
double width = Math.ceil(getWidth()/getContext().getResources().getDisplayMetrics().density);
255+
double width = Math.ceil(getWidth() / getContext().getResources().getDisplayMetrics().density);
256256
boolean isNarrow = width < SettingsStore.WINDOW_WIDTH_DEFAULT;
257257

258258
if (isNarrow != mViewModel.getIsNarrow().getValue().get()) {
@@ -329,8 +329,8 @@ protected void showSortingContextMenu(@NonNull View view) {
329329
PointF position = new PointF(
330330
(offsetViewBounds.left + view.getWidth()) * ratio,
331331
-(offsetViewBounds.top + view.getHeight()) * ratio);
332-
menu.getPlacement().translationX = position.x - (menu.getWidth()/menu.getPlacement().density);
333-
menu.getPlacement().translationY = position.y + getResources().getDimension(R.dimen.library_menu_top_margin)/menu.getPlacement().density;
332+
menu.getPlacement().translationX = position.x - (menu.getWidth() / menu.getPlacement().density);
333+
menu.getPlacement().translationY = position.y + getResources().getDimension(R.dimen.library_menu_top_margin) / menu.getPlacement().density;
334334
menu.show(UIWidget.REQUEST_FOCUS);
335335
}
336336

@@ -355,12 +355,12 @@ private Comparator<Download> getSorting(@SortingContextMenuWidget.Order int orde
355355

356356
// DownloadsManager.DownloadsListener
357357

358-
private Comparator<Download> mDownloadIdComparator = (o1, o2) -> (int)(o1.getId() - o2.getId());
358+
private Comparator<Download> mDownloadIdComparator = (o1, o2) -> (int) (o1.getId() - o2.getId());
359359

360360
private Comparator<Download> mAZFileNameComparator = (o1, o2) -> {
361361
int nameDiff = o1.getFilename().compareTo(o2.getFilename());
362362
if (nameDiff == 0) {
363-
return mDownloadIdComparator.compare(o1, o2);
363+
return mDownloadIdComparator.compare(o1, o2);
364364

365365
} else {
366366
return nameDiff;
@@ -369,7 +369,7 @@ private Comparator<Download> getSorting(@SortingContextMenuWidget.Order int orde
369369
private Comparator<Download> mZAFilenameComparator = (o1, o2) -> {
370370
int nameDiff = o2.getFilename().compareTo(o1.getFilename());
371371
if (nameDiff == 0) {
372-
return mDownloadIdComparator.compare(o1, o2);
372+
return mDownloadIdComparator.compare(o1, o2);
373373

374374
} else {
375375
return nameDiff;
@@ -378,16 +378,16 @@ private Comparator<Download> getSorting(@SortingContextMenuWidget.Order int orde
378378
private Comparator<Download> mDownloadDateAscComparator = (o1, o2) -> mDownloadIdComparator.compare(o1, o2);
379379
private Comparator<Download> mDownloadDateDescComparator = (o1, o2) -> mDownloadIdComparator.compare(o2, o1);
380380
private Comparator<Download> mDownloadSizeAscComparator = (o1, o2) -> {
381-
int sizeDiff = (int)(o1.getSizeBytes() - o2.getSizeBytes());
381+
int sizeDiff = (int) (o1.getSizeBytes() - o2.getSizeBytes());
382382
if (sizeDiff == 0) {
383-
return mDownloadIdComparator.compare(o1, o2);
383+
return mDownloadIdComparator.compare(o1, o2);
384384

385385
} else {
386386
return sizeDiff;
387387
}
388388
};
389389
private Comparator<Download> mDownloadSizeDescComparator = (o1, o2) -> {
390-
int sizeDiff = (int)(o2.getSizeBytes() - o1.getSizeBytes());
390+
int sizeDiff = (int) (o2.getSizeBytes() - o1.getSizeBytes());
391391
if (sizeDiff == 0) {
392392
return mDownloadIdComparator.compare(o1, o2);
393393

app/src/common/shared/org/mozilla/vrbrowser/ui/views/library/HistoryView.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,14 @@ public HistoryView(Context aContext, AttributeSet aAttrs, int aDefStyle) {
9696
protected void initialize() {
9797
super.initialize();
9898

99-
mAccounts = ((VRBrowserApplication)getContext().getApplicationContext()).getAccounts();
99+
mAccounts = ((VRBrowserApplication) getContext().getApplicationContext()).getAccounts();
100100
if (ACCOUNTS_UI_ENABLED) {
101101
mAccounts.addAccountListener(mAccountListener);
102102
mAccounts.addSyncListener(mSyncListener);
103103
}
104104

105105
mViewModel = new ViewModelProvider(
106-
(VRBrowserActivity)getContext(),
106+
(VRBrowserActivity) getContext(),
107107
ViewModelProvider.AndroidViewModelFactory.getInstance(((VRBrowserActivity) getContext()).getApplication()))
108108
.get(HistoryViewModel.class);
109109

@@ -120,7 +120,7 @@ public void updateUI() {
120120

121121
// Inflate this data binding layout
122122
mBinding = DataBindingUtil.inflate(inflater, R.layout.history, this, true);
123-
mBinding.setLifecycleOwner((VRBrowserActivity)getContext());
123+
mBinding.setLifecycleOwner((VRBrowserActivity) getContext());
124124
mBinding.setHistoryViewModel(mViewModel);
125125
mBinding.setCallback(mHistoryCallback);
126126
mHistoryAdapter = new HistoryAdapter(mHistoryItemCallback, getContext());
@@ -203,8 +203,8 @@ public void onMore(View view, VisitInfo item) {
203203
LinearLayoutManager layoutManager = (LinearLayoutManager) mBinding.historyList.getLayoutManager();
204204
int lastItem = mHistoryAdapter.getItemCount();
205205
if ((rowPosition == layoutManager.findLastVisibleItemPosition() || rowPosition == layoutManager.findLastCompletelyVisibleItemPosition() ||
206-
rowPosition == layoutManager.findLastVisibleItemPosition()-1 || rowPosition == layoutManager.findLastCompletelyVisibleItemPosition()-1)
207-
&& (rowPosition != lastItem && rowPosition != 1)) {
206+
rowPosition == layoutManager.findLastVisibleItemPosition() - 1 || rowPosition == layoutManager.findLastCompletelyVisibleItemPosition() - 1)
207+
&& (rowPosition != lastItem && rowPosition > 2)) {
208208
isLastVisibleItem = true;
209209
}
210210
}
@@ -372,7 +372,7 @@ private void updateHistory() {
372372
SessionStore.get().getHistoryStore().getDetailedHistory().thenAcceptAsync((items) -> {
373373
List<VisitInfo> orderedItems = items.stream()
374374
.sorted(Comparator.comparing(VisitInfo::getVisitTime)
375-
.reversed())
375+
.reversed())
376376
.filter(distinctByUrl(VisitInfo::getUrl))
377377
.collect(Collectors.toList());
378378

@@ -391,7 +391,7 @@ private void updateHistory() {
391391
}
392392

393393
private void addSection(final @NonNull List<VisitInfo> items, @NonNull String section, long rangeStart, long rangeEnd) {
394-
for (int i=0; i< items.size(); i++) {
394+
for (int i = 0; i < items.size(); i++) {
395395
if (items.get(i).getVisitTime() == rangeStart && items.get(i).getVisitType() == VisitType.NOT_A_VISIT)
396396
break;
397397

@@ -424,7 +424,7 @@ private void showHistory(List<VisitInfo> historyItems) {
424424
@Override
425425
protected void updateLayout() {
426426
post(() -> {
427-
double width = Math.ceil(getWidth()/getContext().getResources().getDisplayMetrics().density);
427+
double width = Math.ceil(getWidth() / getContext().getResources().getDisplayMetrics().density);
428428
boolean isNarrow = width < SettingsStore.WINDOW_WIDTH_DEFAULT;
429429

430430
if (isNarrow != mViewModel.getIsNarrow().getValue().get()) {

0 commit comments

Comments
 (0)