Commit 7e341661 authored by pkotwicz's avatar pkotwicz Committed by Commit bot

Reorder functions in add_to_homescreen_dialog_helper.cc to match order in .h file

This CL also makes the AddToHomescreenDataFetcher::Observer overrides private

BUG=627250

Review-Url: https://codereview.chromium.org/2278693002
Cr-Commit-Position: refs/heads/master@{#414226}
parent 442dff39
......@@ -30,6 +30,12 @@ jlong Initialize(JNIEnv* env,
return reinterpret_cast<intptr_t>(add_to_homescreen_helper);
}
// static
bool AddToHomescreenDialogHelper::RegisterAddToHomescreenDialogHelper(
JNIEnv* env) {
return RegisterNativesImpl(env);
}
AddToHomescreenDialogHelper::AddToHomescreenDialogHelper(
JNIEnv* env,
jobject obj,
......@@ -44,48 +50,11 @@ AddToHomescreenDialogHelper::AddToHomescreenDialogHelper(
java_ref_.Reset(env, obj);
}
AddToHomescreenDialogHelper::~AddToHomescreenDialogHelper() {
data_fetcher_->set_weak_observer(nullptr);
data_fetcher_ = nullptr;
}
void AddToHomescreenDialogHelper::OnUserTitleAvailable(
const base::string16& user_title) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jstring> j_user_title =
base::android::ConvertUTF16ToJavaString(env, user_title);
Java_AddToHomescreenDialogHelper_onUserTitleAvailable(env, java_ref_,
j_user_title);
}
void AddToHomescreenDialogHelper::OnDataAvailable(const ShortcutInfo& info,
const SkBitmap& icon) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jobject> java_bitmap;
if (icon.getSize())
java_bitmap = gfx::ConvertToJavaBitmap(&icon);
Java_AddToHomescreenDialogHelper_onIconAvailable(env, java_ref_, java_bitmap);
if (add_shortcut_pending_)
AddShortcut(info, icon);
}
void AddToHomescreenDialogHelper::Destroy(JNIEnv* env,
const JavaParamRef<jobject>& obj) {
delete this;
}
SkBitmap AddToHomescreenDialogHelper::FinalizeLauncherIconInBackground(
const SkBitmap& bitmap,
const GURL& url,
bool* is_generated) {
DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url,
is_generated);
}
void AddToHomescreenDialogHelper::AddShortcut(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
......@@ -104,6 +73,11 @@ void AddToHomescreenDialogHelper::AddShortcut(
}
}
AddToHomescreenDialogHelper::~AddToHomescreenDialogHelper() {
data_fetcher_->set_weak_observer(nullptr);
data_fetcher_ = nullptr;
}
void AddToHomescreenDialogHelper::AddShortcut(const ShortcutInfo& info,
const SkBitmap& icon) {
DCHECK(add_shortcut_pending_);
......@@ -123,11 +97,6 @@ void AddToHomescreenDialogHelper::AddShortcut(const ShortcutInfo& info,
data_fetcher_->FetchSplashScreenImageCallback(uid));
}
bool AddToHomescreenDialogHelper::RegisterAddToHomescreenDialogHelper(
JNIEnv* env) {
return RegisterNativesImpl(env);
}
void AddToHomescreenDialogHelper::RecordAddToHomescreen() {
// Record that the shortcut has been added, so no banners will be shown
// for this app.
......@@ -141,3 +110,35 @@ void AddToHomescreenDialogHelper::RecordAddToHomescreen() {
AppBannerSettingsHelper::APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN,
base::Time::Now());
}
void AddToHomescreenDialogHelper::OnUserTitleAvailable(
const base::string16& user_title) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jstring> j_user_title =
base::android::ConvertUTF16ToJavaString(env, user_title);
Java_AddToHomescreenDialogHelper_onUserTitleAvailable(env, java_ref_,
j_user_title);
}
void AddToHomescreenDialogHelper::OnDataAvailable(const ShortcutInfo& info,
const SkBitmap& icon) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jobject> java_bitmap;
if (icon.getSize())
java_bitmap = gfx::ConvertToJavaBitmap(&icon);
Java_AddToHomescreenDialogHelper_onIconAvailable(env, java_ref_, java_bitmap);
if (add_shortcut_pending_)
AddShortcut(info, icon);
}
SkBitmap AddToHomescreenDialogHelper::FinalizeLauncherIconInBackground(
const SkBitmap& bitmap,
const GURL& url,
bool* is_generated) {
DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url,
is_generated);
}
......@@ -29,6 +29,9 @@ struct ShortcutInfo;
class AddToHomescreenDialogHelper :
public AddToHomescreenDataFetcher::Observer {
public:
// Registers JNI hooks.
static bool RegisterAddToHomescreenDialogHelper(JNIEnv* env);
AddToHomescreenDialogHelper(JNIEnv* env,
jobject obj,
content::WebContents* web_contents);
......@@ -36,21 +39,11 @@ class AddToHomescreenDialogHelper :
// Called by the Java counterpart to destroy its native half.
void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
// Registers JNI hooks.
static bool RegisterAddToHomescreenDialogHelper(JNIEnv* env);
// Adds a shortcut to the current URL to the Android home screen.
void AddShortcut(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& title);
// AddToHomescreenDataFetcher::Observer
void OnUserTitleAvailable(const base::string16& user_title) override;
void OnDataAvailable(const ShortcutInfo& info, const SkBitmap& icon) override;
SkBitmap FinalizeLauncherIconInBackground(const SkBitmap& icon,
const GURL& url,
bool* is_generated) override;
private:
virtual ~AddToHomescreenDialogHelper();
......@@ -60,6 +53,13 @@ class AddToHomescreenDialogHelper :
void RecordAddToHomescreen();
// AddToHomescreenDataFetcher::Observer:
void OnUserTitleAvailable(const base::string16& user_title) override;
void OnDataAvailable(const ShortcutInfo& info, const SkBitmap& icon) override;
SkBitmap FinalizeLauncherIconInBackground(const SkBitmap& icon,
const GURL& url,
bool* is_generated) override;
// Points to the Java object.
base::android::ScopedJavaGlobalRef<jobject> java_ref_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment