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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/InterestsPageView.java

Issue 1351303003: Add the UI for the Interests Prototype. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ntp-interests-jni
Patch Set: Fetch the oauth token from the native code. Created 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.ntp;
6
7 import android.content.Context;
8 import android.graphics.drawable.Drawable;
9 import android.util.AttributeSet;
10 import android.util.LruCache;
11 import android.view.View;
12 import android.view.ViewGroup;
13 import android.widget.BaseAdapter;
14 import android.widget.GridView;
15 import android.widget.LinearLayout;
16
17 import org.chromium.chrome.R;
18 import org.chromium.chrome.browser.ntp.InterestsItemView.DrawingData;
19 import org.chromium.chrome.browser.ntp.InterestsPage.InterestsListener;
20 import org.chromium.chrome.browser.ntp.InterestsService.Interest;
21
22 import java.util.Collections;
23 import java.util.List;
24
25 /**
26 * The user's interests, displayed with a two collumn grid view.
Bernhard Bauer 2015/09/29 14:33:28 Nit: "column".
PEConn 2015/11/18 15:26:57 Done.
27 */
28 public class InterestsPageView extends LinearLayout {
Bernhard Bauer 2015/09/29 14:33:28 Just InterestsView? InterestsPageView implies some
PEConn 2015/11/18 15:26:57 Done.
29
30 private InterestsListener mListener;
31 private GridView mInterestsGrid;
32 private InterestsListAdapter mAdapter;
Bernhard Bauer 2015/09/29 14:33:28 Make this final as well?
PEConn 2015/11/18 15:26:57 Done.
33 private final LruCache<String, Drawable> mImageCache;
34 private DrawingData mDrawingData;
35
36 public InterestsPageView(Context context, AttributeSet attrs) {
37 super(context, attrs);
38 mAdapter = new InterestsListAdapter(context);
39 mImageCache = new LruCache<>(30);
40 }
41
42 public void setListener(InterestsListener listener) {
43 mListener = listener;
44 }
45
46 public void setInterests(List<Interest> interests) {
47 mAdapter.setInterests(interests);
48 mAdapter.notifyDataSetChanged();
49 }
50
51 @Override
52 protected void onFinishInflate() {
53 super.onFinishInflate();
54
55 mInterestsGrid = (GridView) findViewById(R.id.interests_list_view);
56 mInterestsGrid.setAdapter(mAdapter);
57 }
58
59 private class InterestsListAdapter extends BaseAdapter {
newt (away) 2015/09/29 17:33:22 Extend ArrayAdapter instead of BaseAdapter. ArrayA
60
61 private List<Interest> mInterests = Collections.emptyList();
62 private Context mContext = null;
63
64 public InterestsListAdapter(Context context) {
65 mContext = context;
66 }
67
68 public void setInterests(List<Interest> interests) {
69 mInterests = interests;
70 }
71
72 @Override
73 public int getCount() {
74 return mInterests.size();
75 }
76
77 @Override
78 public Object getItem(int position) {
79 return mInterests.get(position);
80 }
81
82 @Override
83 public long getItemId(int position) {
84 return position;
85 }
86
87 @Override
88 public View getView(int position, View convertView, ViewGroup parent) {
89 if (mDrawingData == null) {
90 mDrawingData = new InterestsItemView.DrawingData(getContext());
91 }
92 Interest interest = mInterests.get(position);
93
94 if (convertView instanceof InterestsItemView) {
95 InterestsItemView view = (InterestsItemView) convertView;
Bernhard Bauer 2015/09/29 14:33:28 You could extract this variable and the return sta
PEConn 2015/11/18 15:26:57 Done.
96 view.reset(interest.getName(), interest.getImageUrl());
97 return view;
98 } else {
99 InterestsItemView itemView = new InterestsItemView(mContext, int erest.getName(),
100 interest.getImageUrl(), mListener, mImageCache, mDrawing Data);
101 return itemView;
102 }
103 }
104
105 @Override
106 public boolean hasStableIds() {
107 return false;
108 }
109 }
110 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698