OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/gcm_driver/gcm_driver_android.h" | 5 #include "components/gcm_driver/gcm_driver_android.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/android/context_utils.h" | 10 #include "base/android/context_utils.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 const JavaParamRef<jstring>& j_sender_id, | 77 const JavaParamRef<jstring>& j_sender_id, |
78 const JavaParamRef<jstring>& j_collapse_key, | 78 const JavaParamRef<jstring>& j_collapse_key, |
79 const JavaParamRef<jbyteArray>& j_raw_data, | 79 const JavaParamRef<jbyteArray>& j_raw_data, |
80 const JavaParamRef<jobjectArray>& j_data_keys_and_values) { | 80 const JavaParamRef<jobjectArray>& j_data_keys_and_values) { |
81 std::string app_id = ConvertJavaStringToUTF8(env, j_app_id); | 81 std::string app_id = ConvertJavaStringToUTF8(env, j_app_id); |
82 | 82 |
83 int message_byte_size = 0; | 83 int message_byte_size = 0; |
84 | 84 |
85 IncomingMessage message; | 85 IncomingMessage message; |
86 message.sender_id = ConvertJavaStringToUTF8(env, j_sender_id); | 86 message.sender_id = ConvertJavaStringToUTF8(env, j_sender_id); |
87 message.collapse_key = ConvertJavaStringToUTF8(env, j_collapse_key); | 87 if (!j_collapse_key.is_null()) |
| 88 ConvertJavaStringToUTF8(env, j_collapse_key, &message.collapse_key); |
| 89 |
88 // Expand j_data_keys_and_values from array to map. | 90 // Expand j_data_keys_and_values from array to map. |
89 std::vector<std::string> data_keys_and_values; | 91 std::vector<std::string> data_keys_and_values; |
90 AppendJavaStringArrayToStringVector(env, | 92 AppendJavaStringArrayToStringVector(env, |
91 j_data_keys_and_values, | 93 j_data_keys_and_values, |
92 &data_keys_and_values); | 94 &data_keys_and_values); |
93 for (size_t i = 0; i + 1 < data_keys_and_values.size(); i += 2) { | 95 for (size_t i = 0; i + 1 < data_keys_and_values.size(); i += 2) { |
94 message.data[data_keys_and_values[i]] = data_keys_and_values[i+1]; | 96 message.data[data_keys_and_values[i]] = data_keys_and_values[i+1]; |
95 message_byte_size += data_keys_and_values[i+1].size(); | 97 message_byte_size += data_keys_and_values[i+1].size(); |
96 } | 98 } |
97 // Convert j_raw_data from byte[] to binary std::string. | 99 // Convert j_raw_data from byte[] to binary std::string. |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 NOTIMPLEMENTED(); | 259 NOTIMPLEMENTED(); |
258 } | 260 } |
259 | 261 |
260 void GCMDriverAndroid::RecordDecryptionFailure( | 262 void GCMDriverAndroid::RecordDecryptionFailure( |
261 const std::string& app_id, | 263 const std::string& app_id, |
262 GCMEncryptionProvider::DecryptionResult result) { | 264 GCMEncryptionProvider::DecryptionResult result) { |
263 recorder_.RecordDecryptionFailure(app_id, result); | 265 recorder_.RecordDecryptionFailure(app_id, result); |
264 } | 266 } |
265 | 267 |
266 } // namespace gcm | 268 } // namespace gcm |
OLD | NEW |