mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-05-30 21:40:21 +02:00
Better subscription behavior reporting
This commit is contained in:
parent
8bfb8abd20
commit
17b9853bb6
@ -69,12 +69,17 @@ class SmartSubscriptionAlgorithm(
|
|||||||
if(limit == null || limit <= 0)
|
if(limit == null || limit <= 0)
|
||||||
finalTasks.addAll(clientTasks.second);
|
finalTasks.addAll(clientTasks.second);
|
||||||
else {
|
else {
|
||||||
val fetchTasks = clientTasks.second.take(limit);
|
val fetchTasks = mutableListOf<SubscriptionTask>();
|
||||||
val cacheTasks = clientTasks.second.drop(limit);
|
val cacheTasks = mutableListOf<SubscriptionTask>();
|
||||||
|
|
||||||
for(cacheTask in cacheTasks)
|
|
||||||
cacheTask.fromCache = true;
|
|
||||||
|
|
||||||
|
for(task in clientTasks.second) {
|
||||||
|
if(!task.fromCache && fetchTasks.size < limit)
|
||||||
|
fetchTasks.add(task);
|
||||||
|
else {
|
||||||
|
task.fromCache = true;
|
||||||
|
cacheTasks.add(task);
|
||||||
|
}
|
||||||
|
}
|
||||||
Logger.i(TAG, "Subscription Client Budget [${clientTasks.first.name}]: ${fetchTasks.size}/${limit}")
|
Logger.i(TAG, "Subscription Client Budget [${clientTasks.first.name}]: ${fetchTasks.size}/${limit}")
|
||||||
|
|
||||||
finalTasks.addAll(fetchTasks + cacheTasks);
|
finalTasks.addAll(fetchTasks + cacheTasks);
|
||||||
|
@ -57,7 +57,8 @@ abstract class SubscriptionsTaskFetchAlgorithm(
|
|||||||
for(clientTasks in tasksGrouped) {
|
for(clientTasks in tasksGrouped) {
|
||||||
val clientTaskCount = clientTasks.value.filter { !it.fromCache }.size;
|
val clientTaskCount = clientTasks.value.filter { !it.fromCache }.size;
|
||||||
val clientCacheCount = clientTasks.value.size - clientTaskCount;
|
val clientCacheCount = clientTasks.value.size - clientTaskCount;
|
||||||
if(clientCacheCount > 0 && clientTaskCount > 0 && StateApp.instance.contextOrNull?.let { it is MainActivity && it.isFragmentActive<SubscriptionsFeedFragment>() } == true) {
|
val limit = clientTasks.key.getSubscriptionRateLimit();
|
||||||
|
if(clientCacheCount > 0 && clientTaskCount > 0 && limit != null && clientTaskCount >= limit && StateApp.instance.contextOrNull?.let { it is MainActivity && it.isFragmentActive<SubscriptionsFeedFragment>() } == true) {
|
||||||
UIDialogs.toast("[${clientTasks.key.name}] only updating ${clientTaskCount} most urgent channels (rqs). (${clientCacheCount} cached)");
|
UIDialogs.toast("[${clientTasks.key.name}] only updating ${clientTaskCount} most urgent channels (rqs). (${clientCacheCount} cached)");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user