improve notifications cache
This commit is contained in:
parent
9a665f3c8a
commit
a96299ab70
|
@ -90,7 +90,6 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
private LinearLayoutManager mLayoutManager;
|
private LinearLayoutManager mLayoutManager;
|
||||||
private ArrayList<String> idOfAddedNotifications;
|
private ArrayList<String> idOfAddedNotifications;
|
||||||
private NotificationTypeEnum notificationType;
|
private NotificationTypeEnum notificationType;
|
||||||
private List<String> excludeType;
|
|
||||||
private boolean aggregateNotification;
|
private boolean aggregateNotification;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -135,7 +134,15 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
binding.loader.setVisibility(View.VISIBLE);
|
binding.loader.setVisibility(View.VISIBLE);
|
||||||
binding.recyclerView.setVisibility(View.GONE);
|
binding.recyclerView.setVisibility(View.GONE);
|
||||||
max_id = null;
|
max_id = null;
|
||||||
excludeType = new ArrayList<>();
|
route(null, false);
|
||||||
|
LocalBroadcastManager.getInstance(requireActivity()).registerReceiver(receive_action, new IntentFilter(Helper.RECEIVE_STATUS_ACTION));
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> getExcludeType() {
|
||||||
|
SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity());
|
||||||
|
String excludedCategories = sharedpreferences.getString(getString(R.string.SET_EXCLUDED_NOTIFICATIONS_TYPE) + BaseMainActivity.currentUserID + BaseMainActivity.currentInstance, null);
|
||||||
|
List<String> excludeType = new ArrayList<>();
|
||||||
excludeType.add("follow");
|
excludeType.add("follow");
|
||||||
excludeType.add("favourite");
|
excludeType.add("favourite");
|
||||||
excludeType.add("reblog");
|
excludeType.add("reblog");
|
||||||
|
@ -167,12 +174,8 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
excludeType.remove("follow");
|
excludeType.remove("follow");
|
||||||
excludeType.remove("follow_request");
|
excludeType.remove("follow_request");
|
||||||
}
|
}
|
||||||
route(null, false);
|
return excludeType;
|
||||||
LocalBroadcastManager.getInstance(requireActivity()).registerReceiver(receive_action, new IntentFilter(Helper.RECEIVE_STATUS_ACTION));
|
|
||||||
return root;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Intialize the view for notifications
|
* Intialize the view for notifications
|
||||||
*
|
*
|
||||||
|
@ -304,7 +307,9 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
} else {
|
} else {
|
||||||
timelineParams.maxId = max_id;
|
timelineParams.maxId = max_id;
|
||||||
}
|
}
|
||||||
timelineParams.excludeType = excludeType;
|
timelineParams.userId = null;
|
||||||
|
timelineParams.excludeType = getExcludeType();
|
||||||
|
|
||||||
timelineParams.fetchingMissing = fetchingMissing;
|
timelineParams.fetchingMissing = fetchingMissing;
|
||||||
|
|
||||||
if (useCache) {
|
if (useCache) {
|
||||||
|
|
|
@ -231,7 +231,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
|
||||||
} else {
|
} else {
|
||||||
ident = null;
|
ident = null;
|
||||||
}
|
}
|
||||||
|
if (timelineType != null) {
|
||||||
slug = timelineType.getValue() + (ident != null ? "|" + ident : "");
|
slug = timelineType.getValue() + (ident != null ? "|" + ident : "");
|
||||||
|
}
|
||||||
SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity());
|
SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity());
|
||||||
//Retrieve the max_id to keep position
|
//Retrieve the max_id to keep position
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue