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

Side by Side Diff: chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc

Issue 1570783003: [Autofill] Move functions from the AutofillPopupController to AutofillPopupLayoutModel (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed nit Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/android/autofill/autofill_popup_view_android.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 "chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.h" 5 #include "chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "chrome/browser/android/resource_mapper.h" 9 #include "chrome/browser/android/resource_mapper.h"
10 #include "chrome/browser/ui/android/view_android_helper.h" 10 #include "chrome/browser/ui/android/view_android_helper.h"
11 #include "chrome/browser/ui/autofill/autofill_popup_controller.h" 11 #include "chrome/browser/ui/autofill/autofill_popup_controller.h"
12 #include "chrome/browser/ui/autofill/autofill_popup_layout_model.h"
12 #include "components/autofill/core/browser/popup_item_ids.h" 13 #include "components/autofill/core/browser/popup_item_ids.h"
13 #include "components/autofill/core/browser/suggestion.h" 14 #include "components/autofill/core/browser/suggestion.h"
14 #include "grit/components_strings.h" 15 #include "grit/components_strings.h"
15 #include "jni/AutofillKeyboardAccessoryBridge_jni.h" 16 #include "jni/AutofillKeyboardAccessoryBridge_jni.h"
16 #include "ui/android/view_android.h" 17 #include "ui/android/view_android.h"
17 #include "ui/android/window_android.h" 18 #include "ui/android/window_android.h"
18 #include "ui/base/l10n/l10n_util.h" 19 #include "ui/base/l10n/l10n_util.h"
19 #include "ui/base/resource/resource_bundle.h" 20 #include "ui/base/resource/resource_bundle.h"
20 #include "ui/gfx/geometry/rect.h" 21 #include "ui/gfx/geometry/rect.h"
21 22
22 namespace autofill { 23 namespace autofill {
23 24
24 namespace { 25 namespace {
25 26
26 void AddToJavaArray(const Suggestion& suggestion, 27 void AddToJavaArray(const Suggestion& suggestion,
27 const AutofillPopupController& controller, 28 int icon_id,
28 JNIEnv* env, 29 JNIEnv* env,
29 jobjectArray data_array, 30 jobjectArray data_array,
30 size_t position, 31 size_t position,
31 bool deletable) { 32 bool deletable) {
32 int android_icon_id = 0; 33 int android_icon_id = 0;
33 if (!suggestion.icon.empty()) { 34 if (!suggestion.icon.empty())
34 android_icon_id = ResourceMapper::MapFromChromiumId( 35 android_icon_id = ResourceMapper::MapFromChromiumId(icon_id);
35 controller.GetIconResourceID(suggestion.icon));
36 }
37 36
38 Java_AutofillKeyboardAccessoryBridge_addToAutofillSuggestionArray( 37 Java_AutofillKeyboardAccessoryBridge_addToAutofillSuggestionArray(
39 env, data_array, position, 38 env, data_array, position,
40 base::android::ConvertUTF16ToJavaString(env, suggestion.value).obj(), 39 base::android::ConvertUTF16ToJavaString(env, suggestion.value).obj(),
41 base::android::ConvertUTF16ToJavaString(env, suggestion.label).obj(), 40 base::android::ConvertUTF16ToJavaString(env, suggestion.label).obj(),
42 android_icon_id, suggestion.frontend_id, deletable); 41 android_icon_id, suggestion.frontend_id, deletable);
43 } 42 }
44 43
45 } // namespace 44 } // namespace
46 45
47 AutofillKeyboardAccessoryView::AutofillKeyboardAccessoryView( 46 AutofillKeyboardAccessoryView::AutofillKeyboardAccessoryView(
48 AutofillPopupController* controller) 47 AutofillPopupController* controller)
49 : controller_(controller), 48 : controller_(controller), deleting_index_(-1) {
50 deleting_index_(-1) {
51 JNIEnv* env = base::android::AttachCurrentThread(); 49 JNIEnv* env = base::android::AttachCurrentThread();
52 java_object_.Reset(Java_AutofillKeyboardAccessoryBridge_create(env)); 50 java_object_.Reset(Java_AutofillKeyboardAccessoryBridge_create(env));
53 } 51 }
54 52
55 AutofillKeyboardAccessoryView::~AutofillKeyboardAccessoryView() { 53 AutofillKeyboardAccessoryView::~AutofillKeyboardAccessoryView() {
56 JNIEnv* env = base::android::AttachCurrentThread(); 54 JNIEnv* env = base::android::AttachCurrentThread();
57 Java_AutofillKeyboardAccessoryBridge_resetNativeViewPointer( 55 Java_AutofillKeyboardAccessoryBridge_resetNativeViewPointer(
58 env, java_object_.obj()); 56 env, java_object_.obj());
59 } 57 }
60 58
(...skipping 21 matching lines...) Expand all
82 ScopedJavaLocalRef<jobjectArray> data_array = 80 ScopedJavaLocalRef<jobjectArray> data_array =
83 Java_AutofillKeyboardAccessoryBridge_createAutofillSuggestionArray(env, 81 Java_AutofillKeyboardAccessoryBridge_createAutofillSuggestionArray(env,
84 count); 82 count);
85 positions_.resize(count); 83 positions_.resize(count);
86 size_t position = 0; 84 size_t position = 0;
87 85
88 // Place "CLEAR FORM" item first in the list. 86 // Place "CLEAR FORM" item first in the list.
89 for (size_t i = 0; i < count; ++i) { 87 for (size_t i = 0; i < count; ++i) {
90 const Suggestion& suggestion = controller_->GetSuggestionAt(i); 88 const Suggestion& suggestion = controller_->GetSuggestionAt(i);
91 if (suggestion.frontend_id == POPUP_ITEM_ID_CLEAR_FORM) { 89 if (suggestion.frontend_id == POPUP_ITEM_ID_CLEAR_FORM) {
92 AddToJavaArray(suggestion, *controller_, env, data_array.obj(), position, 90 AddToJavaArray(suggestion, controller_->layout_model().GetIconResourceID(
93 false); 91 suggestion.icon),
92 env, data_array.obj(), position, false);
94 positions_[position++] = i; 93 positions_[position++] = i;
95 } 94 }
96 } 95 }
97 96
98 for (size_t i = 0; i < count; ++i) { 97 for (size_t i = 0; i < count; ++i) {
99 const Suggestion& suggestion = controller_->GetSuggestionAt(i); 98 const Suggestion& suggestion = controller_->GetSuggestionAt(i);
100 if (suggestion.frontend_id != POPUP_ITEM_ID_CLEAR_FORM) { 99 if (suggestion.frontend_id != POPUP_ITEM_ID_CLEAR_FORM) {
101 bool deletable = 100 bool deletable =
102 controller_->GetRemovalConfirmationText(i, nullptr, nullptr); 101 controller_->GetRemovalConfirmationText(i, nullptr, nullptr);
103 AddToJavaArray(suggestion, *controller_, env, data_array.obj(), position, 102 AddToJavaArray(suggestion, controller_->layout_model().GetIconResourceID(
104 deletable); 103 suggestion.icon),
104 env, data_array.obj(), position, deletable);
105 positions_[position++] = i; 105 positions_[position++] = i;
106 } 106 }
107 } 107 }
108 108
109 Java_AutofillKeyboardAccessoryBridge_show( 109 Java_AutofillKeyboardAccessoryBridge_show(
110 env, java_object_.obj(), data_array.obj(), controller_->IsRTL()); 110 env, java_object_.obj(), data_array.obj(), controller_->IsRTL());
111 } 111 }
112 112
113 void AutofillKeyboardAccessoryView::SuggestionSelected( 113 void AutofillKeyboardAccessoryView::SuggestionSelected(
114 JNIEnv* env, 114 JNIEnv* env,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 void AutofillKeyboardAccessoryView::InvalidateRow(size_t) { 161 void AutofillKeyboardAccessoryView::InvalidateRow(size_t) {
162 } 162 }
163 163
164 // static 164 // static
165 bool AutofillKeyboardAccessoryView::RegisterAutofillKeyboardAccessoryView( 165 bool AutofillKeyboardAccessoryView::RegisterAutofillKeyboardAccessoryView(
166 JNIEnv* env) { 166 JNIEnv* env) {
167 return RegisterNativesImpl(env); 167 return RegisterNativesImpl(env);
168 } 168 }
169 169
170 } // namespace autofill 170 } // namespace autofill
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/android/autofill/autofill_popup_view_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698