Fix some potential crashes
This commit is contained in:
parent
bc76990488
commit
0a2c75d64a
|
@ -1626,7 +1626,7 @@ public abstract class BaseMainActivity extends BaseActivity
|
||||||
//Refresh home if needed
|
//Refresh home if needed
|
||||||
if( dateAllowed.after(date) ) {
|
if( dateAllowed.after(date) ) {
|
||||||
for (ManageTimelines tl : timelines) {
|
for (ManageTimelines tl : timelines) {
|
||||||
if (tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap.containsKey(tl.getPosition())) {
|
if (tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap != null && mPageReferenceMap.containsKey(tl.getPosition())) {
|
||||||
DisplayStatusFragment homeTimeline = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment homeTimeline = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if (homeTimeline != null) {
|
if (homeTimeline != null) {
|
||||||
homeTimeline.retrieveMissingHome();
|
homeTimeline.retrieveMissingHome();
|
||||||
|
|
|
@ -463,9 +463,11 @@ public class ManageTimelines {
|
||||||
popup.setOnDismissListener(new PopupMenu.OnDismissListener() {
|
popup.setOnDismissListener(new PopupMenu.OnDismissListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onDismiss(PopupMenu menu) {
|
public void onDismiss(PopupMenu menu) {
|
||||||
TabLayoutNotificationsFragment tabLayoutNotificationsFragment = (TabLayoutNotificationsFragment) mPageReferenceMap.get(tl.getPosition());
|
if( mPageReferenceMap != null) {
|
||||||
assert tabLayoutNotificationsFragment != null;
|
TabLayoutNotificationsFragment tabLayoutNotificationsFragment = (TabLayoutNotificationsFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
tabLayoutNotificationsFragment.refreshAll();
|
assert tabLayoutNotificationsFragment != null;
|
||||||
|
tabLayoutNotificationsFragment.refreshAll();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||||
|
@ -564,12 +566,14 @@ public class ManageTimelines {
|
||||||
@Override
|
@Override
|
||||||
public void onDismiss(PopupMenu menu) {
|
public void onDismiss(PopupMenu menu) {
|
||||||
if(changes[0]) {
|
if(changes[0]) {
|
||||||
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
if( mPageReferenceMap != null) {
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
FragmentTransaction fragTransaction = ((MainActivity) context).getSupportFragmentManager().beginTransaction();
|
||||||
assert displayStatusFragment != null;
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
fragTransaction.detach(displayStatusFragment);
|
assert displayStatusFragment != null;
|
||||||
fragTransaction.attach(displayStatusFragment);
|
fragTransaction.detach(displayStatusFragment);
|
||||||
fragTransaction.commit();
|
fragTransaction.attach(displayStatusFragment);
|
||||||
|
fragTransaction.commit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -608,8 +612,10 @@ public class ManageTimelines {
|
||||||
final MenuItem itemShowBoosts = menu.findItem(R.id.action_show_boosts);
|
final MenuItem itemShowBoosts = menu.findItem(R.id.action_show_boosts);
|
||||||
final MenuItem itemShowReplies = menu.findItem(R.id.action_show_replies);
|
final MenuItem itemShowReplies = menu.findItem(R.id.action_show_replies);
|
||||||
final MenuItem itemFilter = menu.findItem(R.id.action_filter);
|
final MenuItem itemFilter = menu.findItem(R.id.action_filter);
|
||||||
|
if( mPageReferenceMap == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
|
|
||||||
if(tl.getType() != Type.HOME){
|
if(tl.getType() != Type.HOME){
|
||||||
itemShowBoosts.setVisible(false);
|
itemShowBoosts.setVisible(false);
|
||||||
itemShowReplies.setVisible(false);
|
itemShowReplies.setVisible(false);
|
||||||
|
@ -789,6 +795,8 @@ public class ManageTimelines {
|
||||||
@Override
|
@Override
|
||||||
public void onDismiss(PopupMenu menu) {
|
public void onDismiss(PopupMenu menu) {
|
||||||
if(changes[0]) {
|
if(changes[0]) {
|
||||||
|
if( mPageReferenceMap == null)
|
||||||
|
return;
|
||||||
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if( displayStatusFragment == null)
|
if( displayStatusFragment == null)
|
||||||
|
@ -1013,6 +1021,8 @@ public class ManageTimelines {
|
||||||
});
|
});
|
||||||
changes[0] = true;
|
changes[0] = true;
|
||||||
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
||||||
|
if( mPageReferenceMap == null)
|
||||||
|
return true;
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if( displayStatusFragment == null)
|
if( displayStatusFragment == null)
|
||||||
return false;
|
return false;
|
||||||
|
@ -1053,6 +1063,8 @@ public class ManageTimelines {
|
||||||
@Override
|
@Override
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
||||||
|
if( mPageReferenceMap == null)
|
||||||
|
return true;
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if( displayStatusFragment == null)
|
if( displayStatusFragment == null)
|
||||||
return false;
|
return false;
|
||||||
|
@ -1135,6 +1147,8 @@ public class ManageTimelines {
|
||||||
public void onDismiss(PopupMenu menu) {
|
public void onDismiss(PopupMenu menu) {
|
||||||
if(changes[0]) {
|
if(changes[0]) {
|
||||||
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
|
||||||
|
if( mPageReferenceMap == null)
|
||||||
|
return;
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if( displayStatusFragment == null)
|
if( displayStatusFragment == null)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1902,7 +1902,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||||
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
|
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
|
||||||
for(ManageTimelines tl: timelines) {
|
for(ManageTimelines tl: timelines) {
|
||||||
if( tl.getType() == ManageTimelines.Type.HOME) {
|
if( tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap != null) {
|
||||||
DisplayStatusFragment homeFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment homeFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if (homeFragment != null)
|
if (homeFragment != null)
|
||||||
homeFragment.fetchMore(status.getId());
|
homeFragment.fetchMore(status.getId());
|
||||||
|
@ -1924,7 +1924,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||||
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
|
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
|
||||||
for(ManageTimelines tl: timelines) {
|
for(ManageTimelines tl: timelines) {
|
||||||
if( tl.getType() == ManageTimelines.Type.HOME) {
|
if( tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap != null) {
|
||||||
DisplayStatusFragment homeFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment homeFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
if (homeFragment != null) {
|
if (homeFragment != null) {
|
||||||
fetch_all_more = true;
|
fetch_all_more = true;
|
||||||
|
|
|
@ -265,6 +265,9 @@ public class DisplayFiltersFragment extends Fragment implements OnFilterActionIn
|
||||||
MainActivity.filters = apiResponse.getFilters();
|
MainActivity.filters = apiResponse.getFilters();
|
||||||
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||||
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
|
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
|
||||||
|
if( mPageReferenceMap == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
for(ManageTimelines tl: timelines) {
|
for(ManageTimelines tl: timelines) {
|
||||||
if( tl.getType() == ManageTimelines.Type.HOME || tl.getType() == ManageTimelines.Type.LOCAL || tl.getType() == ManageTimelines.Type.PUBLIC) {
|
if( tl.getType() == ManageTimelines.Type.HOME || tl.getType() == ManageTimelines.Type.LOCAL || tl.getType() == ManageTimelines.Type.PUBLIC) {
|
||||||
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
|
||||||
|
|
Loading…
Reference in New Issue