Handle no browser when trying to opening links. Fixed app crashes in various cases.

This commit is contained in:
Alex Ning 2019-10-04 15:11:53 +08:00
parent 11f6b5dc91
commit 9b24fff160
3 changed files with 21 additions and 17 deletions

View File

@ -207,7 +207,11 @@ public class LinkResolverActivity extends AppCompatActivity {
if (!packageNames.isEmpty()) {
intent.setPackage(packageNames.get(0));
startActivity(intent);
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, R.string.no_browser_found, Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, R.string.no_browser_found, Toast.LENGTH_SHORT).show();
}

View File

@ -640,7 +640,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
}
private void refresh(boolean fetchPost, boolean fetchComments) {
if (!isRefreshing) {
if (mAdapter != null && !isRefreshing) {
isRefreshing = true;
mChildrenStartingIndex = 0;

View File

@ -979,14 +979,12 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
}
private int getParentPosition(int position) {
if (position >= mVisibleComments.size()) {
return -1;
}
int childDepth = mVisibleComments.get(position).getDepth();
for (int i = position; i >= 0; i--) {
if (mVisibleComments.get(i).getDepth() < childDepth) {
return i;
if (position < mVisibleComments.size()) {
int childDepth = mVisibleComments.get(position).getDepth();
for (int i = position; i >= 0; i--) {
if (mVisibleComments.get(i).getDepth() < childDepth) {
return i;
}
}
}
return -1;
@ -1557,13 +1555,15 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
expandButton.setOnClickListener(view -> {
if (expandButton.getVisibility() == View.VISIBLE) {
int commentPosition = mIsSingleCommentThreadMode ? getAdapterPosition() - 2 : getAdapterPosition() - 1;
if (mVisibleComments.get(commentPosition).isExpanded()) {
collapseChildren(commentPosition);
expandButton.setImageResource(R.drawable.ic_expand_more_black_20dp);
} else {
expandChildren(commentPosition);
mVisibleComments.get(commentPosition).setExpanded(true);
expandButton.setImageResource(R.drawable.ic_expand_less_black_20dp);
if(commentPosition < mVisibleComments.size()) {
if (mVisibleComments.get(commentPosition).isExpanded()) {
collapseChildren(commentPosition);
expandButton.setImageResource(R.drawable.ic_expand_more_black_20dp);
} else {
expandChildren(commentPosition);
mVisibleComments.get(commentPosition).setExpanded(true);
expandButton.setImageResource(R.drawable.ic_expand_less_black_20dp);
}
}
}
});