Skip to content

Commit

Permalink
Moving Lite Page text to header for PageInfoV2
Browse files Browse the repository at this point in the history
Replacing the URL with the text for preview UI message text, replacing favicon with the lite page logo.

Screenshot: https://crbug.com/1077766#c82
Bug: 1077766
Change-Id: Ic236e12ac678881b6bace346bbaf5d89b7c7052b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2503577
Commit-Queue: Jordan Oroshiba <oroshiba@google.com>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823193}
  • Loading branch information
Jordan Oroshiba authored and Commit Bot committed Nov 2, 2020
1 parent 5d1496e commit 8bf4247
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsClient;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient;
import org.chromium.components.content_settings.CookieControlsBridge;
Expand Down Expand Up @@ -294,7 +295,10 @@ public void getFavicon(String url, Callback<Drawable> callback) {
Resources resources = mContext.getResources();
int size = resources.getDimensionPixelSize(R.dimen.page_info_favicon_size);
new FaviconHelper().getLocalFaviconImageForURL(mProfile, url, size, (image, iconUrl) -> {
if (image != null) {
if (isShowingPreview()) {
callback.onResult(SettingsUtils.getTintedIcon(mContext,
R.drawable.preview_pin_round, R.color.infobar_icon_drawable_color));
} else if (image != null) {
callback.onResult(new BitmapDrawable(resources, image));
} else if (UrlUtilities.isInternalScheme(new GURL(url))) {
callback.onResult(
Expand All @@ -305,6 +309,12 @@ public void getFavicon(String url, Callback<Drawable> callback) {
});
}

@Override
public Drawable getPreviewUiIcon() {
return SettingsUtils.getTintedIcon(mContext,
R.drawable.preview_pin_round, R.color.infobar_icon_drawable_color);
}

@VisibleForTesting
void setOfflinePageStateForTesting(@OfflinePageState int offlinePageState) {
mOfflinePageState = offlinePageState;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,28 @@
android:visibility="gone" />
</LinearLayout>

<LinearLayout
android:id="@+id/page_info_preview_message_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:gravity="center"
android:paddingVertical="@dimen/page_info_popup_padding_vertical"
android:paddingHorizontal="@dimen/page_info_popup_padding_sides"
android:visibility="gone">

<org.chromium.components.browser_ui.widget.text.TextViewWithCompoundDrawables
android:id="@+id/page_info_preview_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/page_info_popup_button_padding_sides"
android:includeFontPadding="false"
android:lineSpacingExtra="6dp"
android:textAppearance="@style/TextAppearance.TextLarge.Primary"
app:drawableHeight="@dimen/page_info_favicon_size"
app:drawableWidth="@dimen/page_info_favicon_size" />
</LinearLayout>

<LinearLayout
android:id="@+id/page_info_wrapper"
android:layout_width="match_parent"
Expand Down
16 changes: 0 additions & 16 deletions components/page_info/android/java/res/layout/page_info_v2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,6 @@
android:layout_width="match_parent"/>
</LinearLayout>

<View
android:id="@+id/page_info_preview_separator"
android:layout_marginTop="16dp"
style="@style/HorizontalDivider"
android:visibility="gone" />

<TextView
android:id="@+id/page_info_preview_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/page_info_popup_padding_sides"
android:layout_marginTop="@dimen/page_info_popup_padding_vertical"
android:textAppearance="@style/TextAppearance.TextLarge.Primary"
android:text="@string/page_info_preview_message"
android:visibility="gone" />

<TextView
android:id="@+id/page_info_preview_load_original"
android:layout_width="match_parent"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,18 @@ public static class Params {
public int urlOriginLength;
// The URL to show in truncated state.
public String truncatedUrl;
// If the page has preview UI shown.
public boolean previewUIShown;
// The icon used for preview UI.
public Drawable previewUIIcon;

public Runnable urlTitleClickCallback;
public Runnable urlTitleLongClickCallback;
public Runnable backButtonClickCallback;
}
private PageInfoView.ElidedUrlTextView mUrlTitle;
private TextView mTruncatedUrlTitle;
private TextView mPreviewMessage;

private final ViewGroup mWrapper;
private final ViewGroup mContent;
Expand Down Expand Up @@ -72,6 +77,13 @@ public void setParams(Params params) {
View urlWrapper = findViewById(R.id.page_info_url_wrapper);
urlWrapper.setVisibility(params.urlTitleShown ? VISIBLE : GONE);

mPreviewMessage = findViewById(R.id.page_info_preview_message);
mPreviewMessage.setText(R.string.page_info_preview_message);
mPreviewMessage.setCompoundDrawablesRelative(params.previewUIIcon, null, null, null);

View previewWrapper = findViewById(R.id.page_info_preview_message_wrapper);
previewWrapper.setVisibility(params.previewUIShown ? VISIBLE : GONE);

ChromeImageButton backButton = findViewById(R.id.subpage_back_button);
backButton.setOnClickListener(v -> params.backButtonClickCallback.run());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,8 @@ public PageInfoController(WebContents webContents, int securityLevel, String pub
containerParams.urlTitleClickCallback = mContainer::toggleUrlTruncation;
containerParams.urlTitleLongClickCallback = viewParams.urlTitleLongClickCallback;
containerParams.urlTitleShown = viewParams.urlTitleShown;
containerParams.previewUIShown = viewParams.previewUIShown;
containerParams.previewUIIcon = mDelegate.getPreviewUiIcon();
mContainer.setParams(containerParams);
mDelegate.getFavicon(mFullUrl, favicon -> {
if (favicon != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,9 @@ public abstract CookieControlsBridge createCookieControlsBridge(
* The UI will use a fallback icon if null is supplied.
*/
public abstract void getFavicon(String url, Callback<Drawable> callback);

/**
* @return Returns the drawable for the Preview UI.
*/
public abstract Drawable getPreviewUiIcon();
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@ protected void initCookies(PageInfoView.PageInfoViewParams params) {
@Override
protected void initSiteSettings(PageInfoViewParams params) {}

@Override
protected void initPreview(PageInfoViewParams params) {
mPreviewLoadOriginal = findViewById(R.id.page_info_preview_load_original);
initializePageInfoViewChild(mPreviewLoadOriginal, params.previewUIShown,
params.previewShowOriginalClickCallback);
mPreviewLoadOriginal.setText(params.previewLoadOriginalMessage);
}

public PageInfoRowView getConnectionRowView() {
return mConnectionRow;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.webkit.ValueCallback;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import org.chromium.base.Callback;
import org.chromium.base.StrictModeContext;
Expand Down Expand Up @@ -127,6 +128,12 @@ public void getFavicon(String url, Callback<Drawable> callback) {
}));
}

@Override
@Nullable
public Drawable getPreviewUiIcon() {
return null;
}

private static boolean isHttpOrHttps(GURL url) {
String scheme = url.getScheme();
return UrlConstants.HTTP_SCHEME.equals(scheme) || UrlConstants.HTTPS_SCHEME.equals(scheme);
Expand Down

0 comments on commit 8bf4247

Please sign in to comment.