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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileView.java

Issue 2714723002: Add feature for condensed NTP tiles. (Closed)
Patch Set: Created 3 years, 9 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 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 package org.chromium.chrome.browser.suggestions; 5 package org.chromium.chrome.browser.suggestions;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.res.Resources;
8 import android.util.AttributeSet; 9 import android.util.AttributeSet;
9 import android.view.View; 10 import android.view.View;
10 import android.widget.FrameLayout; 11 import android.widget.FrameLayout;
11 import android.widget.ImageView; 12 import android.widget.ImageView;
12 import android.widget.TextView; 13 import android.widget.TextView;
13 14
14 import org.chromium.chrome.R; 15 import org.chromium.chrome.R;
15 import org.chromium.chrome.browser.ntp.TitleUtil; 16 import org.chromium.chrome.browser.ntp.TitleUtil;
16 17
17 /** 18 /**
(...skipping 11 matching lines...) Expand all
29 */ 30 */
30 public TileView(Context context, AttributeSet attrs) { 31 public TileView(Context context, AttributeSet attrs) {
31 super(context, attrs); 32 super(context, attrs);
32 } 33 }
33 34
34 /** 35 /**
35 * Initializes the view using the data held by {@code tile}. This should be called immediately 36 * Initializes the view using the data held by {@code tile}. This should be called immediately
36 * after inflation. 37 * after inflation.
37 * @param tile The tile that holds the data to populate this view. 38 * @param tile The tile that holds the data to populate this view.
38 * @param titleLines The number of text lines to use for the tile title. 39 * @param titleLines The number of text lines to use for the tile title.
40 * @param condensed Whether to use a condensed layout.
39 */ 41 */
40 public void initialize(Tile tile, int titleLines) { 42 public void initialize(Tile tile, int titleLines, boolean condensed) {
41 mTile = tile; 43 mTile = tile;
42 TextView titleView = (TextView) findViewById(R.id.tile_view_title); 44 TextView titleView = (TextView) findViewById(R.id.tile_view_title);
43 titleView.setLines(titleLines); 45 titleView.setLines(titleLines);
44 titleView.setText(TitleUtil.getTitleForDisplay(mTile.getTitle(), mTile.g etUrl())); 46 titleView.setText(TitleUtil.getTitleForDisplay(mTile.getTitle(), mTile.g etUrl()));
45 renderIcon(); 47 renderIcon();
46 findViewById(R.id.offline_badge) 48 findViewById(R.id.offline_badge)
47 .setVisibility(mTile.isOfflineAvailable() ? View.VISIBLE : View. GONE); 49 .setVisibility(mTile.isOfflineAvailable() ? View.VISIBLE : View. GONE);
50
51 if (!condensed) return;
52
53 Resources res = getResources();
54
55 setPadding(0, 0, 0, 0);
dgn 2017/02/23 15:17:44 it would be nice to have a todo with a bug to move
Michael van Ouwerkerk 2017/02/24 11:31:19 Done.
56 LayoutParams tileParams = (LayoutParams) getLayoutParams();
57 tileParams.width = res.getDimensionPixelOffset(R.dimen.tile_view_width_c ondensed);
58 setLayoutParams(tileParams);
59
60 View iconView = findViewById(R.id.tile_view_icon);
61 LayoutParams iconParams = (LayoutParams) iconView.getLayoutParams();
62 iconParams.setMargins(
dgn 2017/02/23 15:17:44 is it only the padding that gets reset when the im
Michael van Ouwerkerk 2017/02/24 11:31:19 I haven't seen any problems with this. Looking at
63 0, res.getDimensionPixelOffset(R.dimen.tile_view_icon_margin_top _condensed), 0, 0);
64 iconView.setLayoutParams(iconParams);
65
66 View highlightView = findViewById(R.id.tile_view_highlight);
67 LayoutParams highlightParams = (LayoutParams) highlightView.getLayoutPar ams();
68 highlightParams.setMargins(
69 0, res.getDimensionPixelOffset(R.dimen.tile_view_icon_margin_top _condensed), 0, 0);
70 highlightView.setLayoutParams(highlightParams);
71
72 LayoutParams titleParams = (LayoutParams) titleView.getLayoutParams();
73 titleParams.setMargins(
74 0, res.getDimensionPixelOffset(R.dimen.tile_view_title_margin_to p_condensed), 0, 0);
75 titleView.setLayoutParams(titleParams);
48 } 76 }
49 77
50 /** 78 /**
51 * @return The tile that holds the data to populate this view. 79 * @return The tile that holds the data to populate this view.
52 */ 80 */
53 public Tile getTile() { 81 public Tile getTile() {
54 return mTile; 82 return mTile;
55 } 83 }
56 84
57 /** 85 /**
58 * Renders the icon held by the {@link Tile} or clears it from the view if t he icon is null. 86 * Renders the icon held by the {@link Tile} or clears it from the view if t he icon is null.
59 */ 87 */
60 public void renderIcon() { 88 public void renderIcon() {
61 ((ImageView) findViewById(R.id.tile_view_icon)).setImageDrawable(mTile.g etIcon()); 89 ((ImageView) findViewById(R.id.tile_view_icon)).setImageDrawable(mTile.g etIcon());
62 } 90 }
63 } 91 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698