Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Unified Diff: components/offline_items_collection/core/android/offline_content_aggregator_bridge.cc

Issue 2835323005: Make the ThrottledOfflineContentProvider better (Closed)
Patch Set: Addressed comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/offline_items_collection/core/android/offline_content_aggregator_bridge.cc
diff --git a/components/offline_items_collection/core/android/offline_content_aggregator_bridge.cc b/components/offline_items_collection/core/android/offline_content_aggregator_bridge.cc
index 6088531256a9d000140833927ffaec9916779210..892a0b7fbaf631cc4d01273d07eb75c8bd0cf50d 100644
--- a/components/offline_items_collection/core/android/offline_content_aggregator_bridge.cc
+++ b/components/offline_items_collection/core/android/offline_content_aggregator_bridge.cc
@@ -6,9 +6,11 @@
#include "base/android/jni_string.h"
#include "base/bind.h"
+#include "base/memory/ptr_util.h"
#include "components/offline_items_collection/core/android/offline_item_bridge.h"
#include "components/offline_items_collection/core/android/offline_item_visuals_bridge.h"
#include "components/offline_items_collection/core/offline_item.h"
+#include "components/offline_items_collection/core/throttled_offline_content_provider.h"
#include "jni/OfflineContentAggregatorBridge_jni.h"
using base::android::AttachCurrentThread;
@@ -65,18 +67,18 @@ OfflineContentAggregatorBridge::GetBridgeForOfflineContentAggregator(
OfflineContentAggregatorBridge::OfflineContentAggregatorBridge(
OfflineContentAggregator* aggregator)
- : aggregator_(aggregator) {
+ : provider_(base::MakeUnique<ThrottledOfflineContentProvider>(aggregator)) {
JNIEnv* env = AttachCurrentThread();
java_ref_.Reset(Java_OfflineContentAggregatorBridge_create(
env, reinterpret_cast<intptr_t>(this)));
- aggregator_->AddObserver(this);
+ provider_->AddObserver(this);
}
OfflineContentAggregatorBridge::~OfflineContentAggregatorBridge() {
// TODO(dtrainor): Do not need to unregister because in the destructor of the
// base class of OfflineContentAggregator. Is |observers_| already dead?
- aggregator_->RemoveObserver(this);
+ provider_->RemoveObserver(this);
Java_OfflineContentAggregatorBridge_onNativeDestroyed(AttachCurrentThread(),
java_ref_.obj());
@@ -85,7 +87,7 @@ OfflineContentAggregatorBridge::~OfflineContentAggregatorBridge() {
jboolean OfflineContentAggregatorBridge::AreItemsAvailable(
JNIEnv* env,
const JavaParamRef<jobject>& jobj) {
- return aggregator_->AreItemsAvailable();
+ return provider_->AreItemsAvailable();
}
void OfflineContentAggregatorBridge::OpenItem(
@@ -93,7 +95,7 @@ void OfflineContentAggregatorBridge::OpenItem(
const JavaParamRef<jobject>& jobj,
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_id) {
- aggregator_->OpenItem(CreateContentId(env, j_namespace, j_id));
+ provider_->OpenItem(CreateContentId(env, j_namespace, j_id));
}
void OfflineContentAggregatorBridge::RemoveItem(
@@ -101,7 +103,7 @@ void OfflineContentAggregatorBridge::RemoveItem(
const JavaParamRef<jobject>& jobj,
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_id) {
- aggregator_->RemoveItem(CreateContentId(env, j_namespace, j_id));
+ provider_->RemoveItem(CreateContentId(env, j_namespace, j_id));
}
void OfflineContentAggregatorBridge::CancelDownload(
@@ -109,7 +111,7 @@ void OfflineContentAggregatorBridge::CancelDownload(
const JavaParamRef<jobject>& jobj,
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_id) {
- aggregator_->CancelDownload(CreateContentId(env, j_namespace, j_id));
+ provider_->CancelDownload(CreateContentId(env, j_namespace, j_id));
}
void OfflineContentAggregatorBridge::PauseDownload(
@@ -117,7 +119,7 @@ void OfflineContentAggregatorBridge::PauseDownload(
const JavaParamRef<jobject>& jobj,
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_guid) {
- aggregator_->PauseDownload(CreateContentId(env, j_namespace, j_guid));
+ provider_->PauseDownload(CreateContentId(env, j_namespace, j_guid));
}
void OfflineContentAggregatorBridge::ResumeDownload(
@@ -125,7 +127,7 @@ void OfflineContentAggregatorBridge::ResumeDownload(
const JavaParamRef<jobject>& jobj,
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_id) {
- aggregator_->ResumeDownload(CreateContentId(env, j_namespace, j_id));
+ provider_->ResumeDownload(CreateContentId(env, j_namespace, j_id));
}
ScopedJavaLocalRef<jobject> OfflineContentAggregatorBridge::GetItemById(
@@ -134,7 +136,7 @@ ScopedJavaLocalRef<jobject> OfflineContentAggregatorBridge::GetItemById(
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_id) {
const OfflineItem* item =
- aggregator_->GetItemById(CreateContentId(env, j_namespace, j_id));
+ provider_->GetItemById(CreateContentId(env, j_namespace, j_id));
return OfflineItemBridge::CreateOfflineItem(env, item);
}
@@ -143,7 +145,7 @@ ScopedJavaLocalRef<jobject> OfflineContentAggregatorBridge::GetAllItems(
JNIEnv* env,
const JavaParamRef<jobject>& jobj) {
return OfflineItemBridge::CreateOfflineItemList(env,
- aggregator_->GetAllItems());
+ provider_->GetAllItems());
}
void OfflineContentAggregatorBridge::GetVisualsForItem(
@@ -152,7 +154,7 @@ void OfflineContentAggregatorBridge::GetVisualsForItem(
const JavaParamRef<jstring>& j_namespace,
const JavaParamRef<jstring>& j_id,
const JavaParamRef<jobject>& j_callback) {
- aggregator_->GetVisualsForItem(
+ provider_->GetVisualsForItem(
CreateContentId(env, j_namespace, j_id),
base::Bind(&GetVisualsForItemHelperCallback,
ScopedJavaGlobalRef<jobject>(env, j_callback)));

Powered by Google App Engine
This is Rietveld 408576698