Commit 92fa83d4 authored by Tomasz Wiszkowski's avatar Tomasz Wiszkowski Committed by Commit Bot

Introduce custom StatusView component.

Test: wm density ###

Change-Id: Ie8ef554ff8ff8f8f1d1828f6866a0d1868a2ac06
Bug: 871798
Reviewed-on: https://chromium-review.googlesource.com/c/1367872
Commit-Queue: Tomasz Wiszkowski <ender@google.com>
Reviewed-by: default avatarTheresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615644}
parent cc346947
...@@ -8,10 +8,15 @@ ...@@ -8,10 +8,15 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<FrameLayout android:id="@+id/location_bar_icon" <org.chromium.chrome.browser.omnibox.status.StatusView
android:layout_width="@dimen/location_bar_icon_width" android:id="@+id/location_bar_status"
android:layout_height="match_parent" android:layout_width="wrap_content"
android:layout_gravity="start|center_vertical"> android:layout_height="match_parent">
<FrameLayout android:id="@+id/location_bar_icon"
android:layout_width="@dimen/location_bar_icon_width"
android:layout_height="match_parent"
android:layout_gravity="start|center_vertical">
<ImageView android:id="@+id/navigation_button" <ImageView android:id="@+id/navigation_button"
style="@style/LocationBarButton" style="@style/LocationBarButton"
...@@ -33,7 +38,10 @@ ...@@ -33,7 +38,10 @@
android:visibility="invisible" android:visibility="invisible"
app:tint="@color/dark_mode_tint" /> app:tint="@color/dark_mode_tint" />
</FrameLayout> </FrameLayout>
<include layout="@layout/location_bar_status" />
</org.chromium.chrome.browser.omnibox.status.StatusView>
<include layout="@layout/location_bar_status" />
</merge> </merge>
...@@ -8,11 +8,16 @@ ...@@ -8,11 +8,16 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<FrameLayout android:id="@+id/location_bar_icon" <org.chromium.chrome.browser.omnibox.status.StatusView
android:layout_width="@dimen/location_bar_start_icon_width" android:id="@+id/location_bar_status"
android:layout_height="match_parent" android:layout_width="wrap_content"
android:paddingEnd="4dp" android:layout_height="match_parent">
android:visibility="gone" >
<FrameLayout android:id="@+id/location_bar_icon"
android:layout_width="@dimen/location_bar_start_icon_width"
android:layout_height="match_parent"
android:paddingEnd="4dp"
android:visibility="gone" >
<ImageView android:id="@+id/navigation_button" <ImageView android:id="@+id/navigation_button"
style="@style/LocationBarButton" style="@style/LocationBarButton"
...@@ -33,7 +38,10 @@ ...@@ -33,7 +38,10 @@
android:visibility="invisible" android:visibility="invisible"
app:tint="@color/dark_mode_tint" /> app:tint="@color/dark_mode_tint" />
</FrameLayout> </FrameLayout>
<include layout="@layout/location_bar_status" />
</org.chromium.chrome.browser.omnibox.status.StatusView>
<include layout="@layout/location_bar_status" />
</merge> </merge>
...@@ -157,6 +157,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -157,6 +157,7 @@ public class LocationBarLayout extends FrameLayout
mDeleteButton = findViewById(R.id.delete_button); mDeleteButton = findViewById(R.id.delete_button);
mUrlBar = findViewById(R.id.url_bar); mUrlBar = findViewById(R.id.url_bar);
mUrlCoordinator = new UrlBarCoordinator((UrlBar) mUrlBar); mUrlCoordinator = new UrlBarCoordinator((UrlBar) mUrlBar);
mUrlCoordinator.setDelegate(this); mUrlCoordinator.setDelegate(this);
...@@ -200,7 +201,8 @@ public class LocationBarLayout extends FrameLayout ...@@ -200,7 +201,8 @@ public class LocationBarLayout extends FrameLayout
setLayoutTransition(null); setLayoutTransition(null);
mStatusViewCoordinator = new StatusViewCoordinator(mIsTablet, this, this); mStatusViewCoordinator =
new StatusViewCoordinator(mIsTablet, findViewById(R.id.location_bar_status), this);
mUrlBar.setOnKeyListener(new UrlBarKeyListener()); mUrlBar.setOnKeyListener(new UrlBarKeyListener());
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.omnibox.status;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import org.chromium.chrome.R;
/**
* StatusView is a location bar's view displaying status (icons and/or text).
*/
public class StatusView extends LinearLayout {
private ImageView mNavigationButton;
private ImageButton mSecurityButton;
private TextView mVerboseStatusTextView;
public StatusView(Context context) {
super(context);
}
public StatusView(Context context, AttributeSet attributes) {
super(context, attributes);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
mNavigationButton = findViewById(R.id.navigation_button);
mSecurityButton = findViewById(R.id.security_button);
mVerboseStatusTextView = findViewById(R.id.location_bar_verbose_status);
assert mNavigationButton != null : "Missing navigation type view.";
}
// TODO(ender): replace these with methods manipulating views directly.
// Do not depend on these when creating new code!
public ImageView getNavigationButton() {
return mNavigationButton;
}
public ImageButton getSecurityButton() {
return mSecurityButton;
}
public TextView getVerboseStatusTextView() {
return mVerboseStatusTextView;
}
}
...@@ -1134,6 +1134,7 @@ chrome_java_sources = [ ...@@ -1134,6 +1134,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omnibox/geo/PlatformNetworksManager.java", "java/src/org/chromium/chrome/browser/omnibox/geo/PlatformNetworksManager.java",
"java/src/org/chromium/chrome/browser/omnibox/geo/VisibleNetworks.java", "java/src/org/chromium/chrome/browser/omnibox/geo/VisibleNetworks.java",
"java/src/org/chromium/chrome/browser/omnibox/geo/VisibleNetworksTracker.java", "java/src/org/chromium/chrome/browser/omnibox/geo/VisibleNetworksTracker.java",
"java/src/org/chromium/chrome/browser/omnibox/status/StatusView.java",
"java/src/org/chromium/chrome/browser/omnibox/status/StatusViewCoordinator.java", "java/src/org/chromium/chrome/browser/omnibox/status/StatusViewCoordinator.java",
"java/src/org/chromium/chrome/browser/omnibox/suggestions/AnswerTextBuilder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/AnswerTextBuilder.java",
"java/src/org/chromium/chrome/browser/omnibox/suggestions/AnswersImageFetcher.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/AnswersImageFetcher.java",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment