Fix null pointer exception caused by activity not being ready
This commit is contained in:
parent
99d7fe8e29
commit
6b69eb6edd
@ -127,6 +127,13 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
|||||||
ThemeUtils.getIconLightThemeColor(context);
|
ThemeUtils.getIconLightThemeColor(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TabsManager getTabsManager() {
|
||||||
|
if (mTabsManager == null) {
|
||||||
|
mTabsManager = mUiController.getTabModel();
|
||||||
|
}
|
||||||
|
return mTabsManager;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle bookmark click
|
// Handle bookmark click
|
||||||
private final OnItemClickListener mItemClickListener = new OnItemClickListener() {
|
private final OnItemClickListener mItemClickListener = new OnItemClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -311,7 +318,7 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
|||||||
mUiController.bookmarkButtonClicked();
|
mUiController.bookmarkButtonClicked();
|
||||||
break;
|
break;
|
||||||
case R.id.action_reading:
|
case R.id.action_reading:
|
||||||
LightningView currentTab = mTabsManager.getCurrentTab();
|
LightningView currentTab = getTabsManager().getCurrentTab();
|
||||||
if (currentTab != null) {
|
if (currentTab != null) {
|
||||||
Intent read = new Intent(getActivity(), ReadingActivity.class);
|
Intent read = new Intent(getActivity(), ReadingActivity.class);
|
||||||
read.putExtra(Constants.LOAD_READING_URL, currentTab.getUrl());
|
read.putExtra(Constants.LOAD_READING_URL, currentTab.getUrl());
|
||||||
@ -319,7 +326,7 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case R.id.action_toggle_desktop:
|
case R.id.action_toggle_desktop:
|
||||||
LightningView current = mTabsManager.getCurrentTab();
|
LightningView current = getTabsManager().getCurrentTab();
|
||||||
if (current != null) {
|
if (current != null) {
|
||||||
current.toggleDesktopUA(getActivity());
|
current.toggleDesktopUA(getActivity());
|
||||||
current.reload();
|
current.reload();
|
||||||
|
@ -147,6 +147,13 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View
|
|||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TabsManager getTabsManager() {
|
||||||
|
if (mTabsManager == null) {
|
||||||
|
mTabsManager = mUiController.getTabModel();
|
||||||
|
}
|
||||||
|
return mTabsManager;
|
||||||
|
}
|
||||||
|
|
||||||
private void setupFrameLayoutButton(@NonNull final View root, @IdRes final int buttonId,
|
private void setupFrameLayoutButton(@NonNull final View root, @IdRes final int buttonId,
|
||||||
@IdRes final int imageId) {
|
@IdRes final int imageId) {
|
||||||
final View frameButton = root.findViewById(buttonId);
|
final View frameButton = root.findViewById(buttonId);
|
||||||
@ -210,7 +217,7 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View
|
|||||||
public void onClick(@NonNull View v) {
|
public void onClick(@NonNull View v) {
|
||||||
switch (v.getId()) {
|
switch (v.getId()) {
|
||||||
case R.id.tab_header_button:
|
case R.id.tab_header_button:
|
||||||
mUiController.showCloseDialog(mTabsManager.indexOfCurrentTab());
|
mUiController.showCloseDialog(getTabsManager().indexOfCurrentTab());
|
||||||
break;
|
break;
|
||||||
case R.id.new_tab_button:
|
case R.id.new_tab_button:
|
||||||
mUiController.newTabButtonClicked();
|
mUiController.newTabButtonClicked();
|
||||||
@ -243,7 +250,7 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View
|
|||||||
@Override
|
@Override
|
||||||
public void tabAdded() {
|
public void tabAdded() {
|
||||||
if (mTabsAdapter != null) {
|
if (mTabsAdapter != null) {
|
||||||
mTabsAdapter.notifyItemInserted(mTabsManager.last());
|
mTabsAdapter.notifyItemInserted(getTabsManager().last());
|
||||||
mRecyclerView.postDelayed(new Runnable() {
|
mRecyclerView.postDelayed(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -315,7 +322,7 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View
|
|||||||
|
|
||||||
ViewCompat.jumpDrawablesToCurrentState(holder.exitButton);
|
ViewCompat.jumpDrawablesToCurrentState(holder.exitButton);
|
||||||
|
|
||||||
LightningView web = mTabsManager.getTabAtPosition(position);
|
LightningView web = getTabsManager().getTabAtPosition(position);
|
||||||
if (web == null) {
|
if (web == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -360,7 +367,7 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getItemCount() {
|
public int getItemCount() {
|
||||||
return mTabsManager.size();
|
return getTabsManager().size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bitmap getDesaturatedBitmap(@NonNull Bitmap favicon) {
|
public Bitmap getDesaturatedBitmap(@NonNull Bitmap favicon) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user