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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/widget/PromoDialogLayout.java

Issue 2857893003: Replace search_sogou.png with a vector drawable (Closed)
Patch Set: Fix tests Created 3 years, 7 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.widget; 5 package org.chromium.chrome.browser.widget;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.support.graphics.drawable.VectorDrawableCompat;
8 import android.util.AttributeSet; 9 import android.util.AttributeSet;
9 import android.view.View; 10 import android.view.View;
10 import android.view.ViewGroup; 11 import android.view.ViewGroup;
11 import android.view.ViewStub; 12 import android.view.ViewStub;
12 import android.widget.ImageView; 13 import android.widget.ImageView;
13 import android.widget.LinearLayout; 14 import android.widget.LinearLayout;
14 import android.widget.TextView; 15 import android.widget.TextView;
15 16
16 import org.chromium.base.ApiCompatibilityUtils; 17 import org.chromium.base.ApiCompatibilityUtils;
17 import org.chromium.chrome.R; 18 import org.chromium.chrome.R;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 super.onFinishInflate(); 73 super.onFinishInflate();
73 } 74 }
74 75
75 /** Initializes the dialog contents using the given params. Should only be called once. */ 76 /** Initializes the dialog contents using the given params. Should only be called once. */
76 void initialize(DialogParams params) { 77 void initialize(DialogParams params) {
77 assert mParams == null && params != null; 78 assert mParams == null && params != null;
78 assert params.headerStringResource != 0; 79 assert params.headerStringResource != 0;
79 assert params.primaryButtonStringResource != 0; 80 assert params.primaryButtonStringResource != 0;
80 mParams = params; 81 mParams = params;
81 82
82 if (mParams.drawableResource == 0) { 83 if (mParams.drawableResource == 0 && mParams.vectorDrawableResource == 0 ) {
83 // Dialogs with no illustration make the header stay visible at all times instead of 84 // Dialogs with no illustration make the header stay visible at all times instead of
84 // scrolling off on small screens. 85 // scrolling off on small screens.
85 ((ViewGroup) mIllustrationView.getParent()).removeView(mIllustration View); 86 ((ViewGroup) mIllustrationView.getParent()).removeView(mIllustration View);
86 ((ViewGroup) mHeaderView.getParent()).removeView(mHeaderView); 87 ((ViewGroup) mHeaderView.getParent()).removeView(mHeaderView);
87 addView(mHeaderView, 0); 88 addView(mHeaderView, 0);
88 89
89 // The margins only apply here (after it moves to the root) because the scroll layout it 90 // The margins only apply here (after it moves to the root) because the scroll layout it
90 // is normally in has implicit padding. 91 // is normally in has implicit padding.
91 int marginSize = 92 int marginSize =
92 getContext().getResources().getDimensionPixelSize(R.dimen.di alog_header_margin); 93 getContext().getResources().getDimensionPixelSize(R.dimen.di alog_header_margin);
93 ApiCompatibilityUtils.setMarginStart( 94 ApiCompatibilityUtils.setMarginStart(
94 (MarginLayoutParams) mHeaderView.getLayoutParams(), marginSi ze); 95 (MarginLayoutParams) mHeaderView.getLayoutParams(), marginSi ze);
95 ApiCompatibilityUtils.setMarginEnd( 96 ApiCompatibilityUtils.setMarginEnd(
96 (MarginLayoutParams) mHeaderView.getLayoutParams(), marginSi ze); 97 (MarginLayoutParams) mHeaderView.getLayoutParams(), marginSi ze);
98 } else if (mParams.vectorDrawableResource != 0) {
99 mIllustrationView.setImageDrawable(VectorDrawableCompat.create(
100 getResources(), mParams.vectorDrawableResource, getContext() .getTheme()));
97 } else { 101 } else {
98 mIllustrationView.setImageResource(mParams.drawableResource); 102 mIllustrationView.setImageResource(mParams.drawableResource);
99 } 103 }
100 104
101 // Create the header. 105 // Create the header.
102 mHeaderView.setText(mParams.headerStringResource); 106 mHeaderView.setText(mParams.headerStringResource);
103 107
104 // Set up the subheader text. 108 // Set up the subheader text.
105 if (mParams.subheaderStringResource == 0) { 109 if (mParams.subheaderStringResource == 0) {
106 ((ViewGroup) mSubheaderView.getParent()).removeView(mSubheaderView); 110 ((ViewGroup) mSubheaderView.getParent()).removeView(mSubheaderView);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 148
145 super.onMeasure(widthMeasureSpec, heightMeasureSpec); 149 super.onMeasure(widthMeasureSpec, heightMeasureSpec);
146 } 150 }
147 151
148 /** Adds a View to the layout within the scrollable area. */ 152 /** Adds a View to the layout within the scrollable area. */
149 void addControl(View control) { 153 void addControl(View control) {
150 mScrollableContent.addView( 154 mScrollableContent.addView(
151 control, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParam s.WRAP_CONTENT)); 155 control, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParam s.WRAP_CONTENT));
152 } 156 }
153 } 157 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698