Skip to content

Commit 72ca353

Browse files
authored
Merge pull request #13309 from brave/pr13297_android_news_orientation_fix_1.38.x
[Android] news crash and orientation issue fixed (uplift to 1.38.x)
2 parents 149bdf4 + e0382e7 commit 72ca353

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java

+22-19
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ private void refreshFeed() {
737737

738738
private void keepPosition(int prevScrollPosition, int prevRecyclerViewPosition,
739739
int prevRecyclerViewItemPosition) {
740-
if ((mIsNewsOn != mIsShowNewsOn) || (mIsNewsOn && mIsShowOptin)) {
740+
if (!mIsNewsOn || !mIsShowNewsOn || (mIsNewsOn && mIsShowOptin)) {
741741
return;
742742
}
743743
processFeed();
@@ -1185,25 +1185,28 @@ public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newStat
11851185
int scrollY = mParentScrollView.getScrollY();
11861186

11871187
if (BraveActivity.getBraveActivity() != null
1188-
&& BraveActivity.getBraveActivity().getActivityTab() != null) {
1188+
&& BraveActivity.getBraveActivity().getActivityTab() != null
1189+
&& mRecyclerView.getChildCount() > 0) {
11891190
View firstChild = mRecyclerView.getChildAt(0);
1190-
int firstVisiblePosition =
1191-
mRecyclerView.getChildAdapterPosition(firstChild);
1192-
int verticalOffset = firstChild.getTop();
1193-
1194-
SharedPreferencesManager.getInstance().writeInt(
1195-
BRAVE_RECYCLERVIEW_OFFSET_POSITION
1196-
+ BraveActivity.getBraveActivity()
1197-
.getActivityTab()
1198-
.getId(),
1199-
verticalOffset);
1200-
1201-
SharedPreferencesManager.getInstance().writeInt(
1202-
BRAVE_RECYCLERVIEW_POSITION
1203-
+ BraveActivity.getBraveActivity()
1204-
.getActivityTab()
1205-
.getId(),
1206-
firstVisiblePosition);
1191+
if (firstChild != null) {
1192+
int firstVisiblePosition =
1193+
mRecyclerView.getChildAdapterPosition(firstChild);
1194+
int verticalOffset = firstChild.getTop();
1195+
1196+
SharedPreferencesManager.getInstance().writeInt(
1197+
BRAVE_RECYCLERVIEW_OFFSET_POSITION
1198+
+ BraveActivity.getBraveActivity()
1199+
.getActivityTab()
1200+
.getId(),
1201+
verticalOffset);
1202+
1203+
SharedPreferencesManager.getInstance().writeInt(
1204+
BRAVE_RECYCLERVIEW_POSITION
1205+
+ BraveActivity.getBraveActivity()
1206+
.getActivityTab()
1207+
.getId(),
1208+
firstVisiblePosition);
1209+
}
12071210
}
12081211
mFeedHash = SharedPreferencesManager.getInstance().readString(
12091212
BravePreferenceKeys.BRAVE_NEWS_FEED_HASH, "");

0 commit comments

Comments
 (0)