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

Unified Diff: chrome/browser/notifications/notification_platform_bridge_android.cc

Issue 2418153002: Hooking up Android N inline notification replies end-to-end (Closed)
Patch Set: Reformat getNotificationReply Created 4 years, 2 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: chrome/browser/notifications/notification_platform_bridge_android.cc
diff --git a/chrome/browser/notifications/notification_platform_bridge_android.cc b/chrome/browser/notifications/notification_platform_bridge_android.cc
index 5b279fe1e924bc5c59b9196e4f92f20aadec1935..ad1d3a5c3fc056b128f3a11153d0570f4f948568 100644
--- a/chrome/browser/notifications/notification_platform_bridge_android.cc
+++ b/chrome/browser/notifications/notification_platform_bridge_android.cc
@@ -12,6 +12,7 @@
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/logging.h"
+#include "base/strings/nullable_string16.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/notifications/native_notification_display_service.h"
@@ -33,6 +34,7 @@
using base::android::AttachCurrentThread;
using base::android::ConvertJavaStringToUTF8;
+using base::android::ConvertJavaStringToUTF16;
using base::android::ConvertUTF16ToJavaString;
using base::android::ConvertUTF8ToJavaString;
using base::android::JavaParamRef;
@@ -71,6 +73,7 @@ void ProfileLoadedCallback(NotificationCommon::Operation operation,
const std::string& origin,
const std::string& notification_id,
int action_index,
+ const base::NullableString16& reply,
Profile* profile) {
if (!profile) {
// TODO(miguelg): Add UMA for this condition.
@@ -84,7 +87,7 @@ void ProfileLoadedCallback(NotificationCommon::Operation operation,
static_cast<NativeNotificationDisplayService*>(display_service)
->ProcessNotificationOperation(operation, notification_type, origin,
- notification_id, action_index);
+ notification_id, action_index, reply);
}
} // namespace
@@ -121,13 +124,19 @@ void NotificationPlatformBridgeAndroid::OnNotificationClicked(
jboolean incognito,
const JavaParamRef<jstring>& java_tag,
const JavaParamRef<jstring>& java_webapk_package,
- jint action_index) {
+ jint action_index,
+ const JavaParamRef<jstring>& java_reply) {
std::string notification_id =
ConvertJavaStringToUTF8(env, java_notification_id);
std::string tag = ConvertJavaStringToUTF8(env, java_tag);
std::string profile_id = ConvertJavaStringToUTF8(env, java_profile_id);
std::string webapk_package =
ConvertJavaStringToUTF8(env, java_webapk_package);
+ base::NullableString16 reply =
+ java_reply
+ ? base::NullableString16(ConvertJavaStringToUTF16(env, java_reply),
+ false /* is_null */)
+ : base::NullableString16();
GURL origin(ConvertJavaStringToUTF8(env, java_origin));
regenerated_notification_infos_[notification_id] =
@@ -140,7 +149,7 @@ void NotificationPlatformBridgeAndroid::OnNotificationClicked(
profile_id, incognito,
base::Bind(&ProfileLoadedCallback, NotificationCommon::CLICK,
NotificationCommon::PERSISTENT, origin.spec(), notification_id,
- action_index));
+ action_index, reply));
}
void NotificationPlatformBridgeAndroid::OnNotificationClosed(
@@ -167,7 +176,7 @@ void NotificationPlatformBridgeAndroid::OnNotificationClosed(
base::Bind(&ProfileLoadedCallback, NotificationCommon::CLOSE,
NotificationCommon::PERSISTENT,
ConvertJavaStringToUTF8(env, java_origin), notification_id,
- -1 /* action index */));
+ -1 /* action index */, base::NullableString16() /* reply */));
}
void NotificationPlatformBridgeAndroid::Display(

Powered by Google App Engine
This is Rietveld 408576698