summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPankaj Garg <pgarg@codeaurora.org>2015-08-07 10:01:49 -0700
committerjrizzoli <joey@cyanogenmoditalia.it>2015-08-28 13:15:47 +0200
commit8d2e98f84fcf3ccdee7c047428a6cca027adf120 (patch)
tree4f197a97fce0d86d8f566e7cbb5e6c1a0d90c67b
parent1e967148a0c715adbfcbceddda239a14f676bed9 (diff)
downloadandroid_packages_apps_Gello-8d2e98f84fcf3ccdee7c047428a6cca027adf120.tar.gz
android_packages_apps_Gello-8d2e98f84fcf3ccdee7c047428a6cca027adf120.tar.bz2
android_packages_apps_Gello-8d2e98f84fcf3ccdee7c047428a6cca027adf120.zip
Show title if secure site
- Show site title if the the site is secure - Don't hide title bar if site certificate has issues Change-Id: Ie10d317b76d449795806b8dbd164355c3ed98b6e
-rw-r--r--src/com/android/browser/BaseUi.java3
-rw-r--r--src/com/android/browser/NavigationBarBase.java52
-rw-r--r--src/com/android/browser/NavigationBarPhone.java21
-rw-r--r--src/com/android/browser/TitleBar.java3
4 files changed, 52 insertions, 27 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 026e6612..d1c2a11e 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -702,6 +702,7 @@ public abstract class BaseUi implements UI {
private void updateTabSecurityState(Tab t) {
if (t != null && t.inForeground()) {
mNavigationBar.setSecurityState(t.getSecurityState());
+ setUrlTitle(t);
}
}
@@ -712,7 +713,7 @@ public abstract class BaseUi implements UI {
title = url;
}
if (tab.inForeground()) {
- mNavigationBar.setDisplayTitle(url);
+ mNavigationBar.setDisplayTitle(title, url);
}
}
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 486c2022..90879917 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -58,7 +58,6 @@ import java.net.URISyntaxException;
import java.net.URL;
import org.codeaurora.net.NetworkServices;
-import org.codeaurora.swe.Engine;
import org.codeaurora.swe.WebRefiner;
import org.codeaurora.swe.WebView;
import org.codeaurora.swe.util.ColorUtils;
@@ -93,6 +92,8 @@ public class NavigationBarBase extends LinearLayout implements
private static final int WEBREFINER_COUNTER_MSG_DELAY = 3000;
private Handler mHandler;
+ protected int mTrustLevel = SiteTileView.TRUST_UNKNOWN;
+
private static final String noSitePrefs[] = {
"browser://",
"about:",
@@ -165,21 +166,28 @@ public class NavigationBarBase extends LinearLayout implements
public void setSecurityState(Tab.SecurityState securityState) {
switch (securityState) {
case SECURITY_STATE_SECURE:
- mFaviconTile.setTrustLevel(SiteTileView.TRUST_TRUSTED);
+ mTrustLevel = SiteTileView.TRUST_TRUSTED;
mFaviconTile.setBadgeHasCertIssues(false);
break;
case SECURITY_STATE_MIXED:
- mFaviconTile.setTrustLevel(SiteTileView.TRUST_UNTRUSTED);
+ mTrustLevel = SiteTileView.TRUST_UNTRUSTED;
mFaviconTile.setBadgeHasCertIssues(true);
+ mTitleBar.showTopControls(false);
break;
case SECURITY_STATE_BAD_CERTIFICATE:
- mFaviconTile.setTrustLevel(SiteTileView.TRUST_AVOID);
+ mTrustLevel = SiteTileView.TRUST_AVOID;
mFaviconTile.setBadgeHasCertIssues(true);
+ mTitleBar.showTopControls(false);
break;
case SECURITY_STATE_NOT_SECURE:
default:
- mFaviconTile.setTrustLevel(SiteTileView.TRUST_UNKNOWN);
+ mTrustLevel = SiteTileView.TRUST_UNKNOWN;
}
+ mFaviconTile.setTrustLevel(mTrustLevel);
+ }
+
+ public int getTrustLevel() {
+ return mTrustLevel;
}
public static int adjustColor(int color, float hueMultiplier,
@@ -437,7 +445,7 @@ public class NavigationBarBase extends LinearLayout implements
if (mUrlInput.getText().length() == 0) {
Tab currentTab = mUiController.getTabControl().getCurrentTab();
if (currentTab != null) {
- setDisplayTitle(currentTab.getUrl());
+ setDisplayTitle(currentTab.getTitle(), currentTab.getUrl());
}
}
}
@@ -458,10 +466,18 @@ public class NavigationBarBase extends LinearLayout implements
}
}
- void setDisplayTitle(String title) {
+ void setDisplayTitle(String title, String url) {
if (!isEditingUrl()) {
- if (!title.equals(mUrlInput.getText().toString())) {
- mUrlInput.setText(title, false);
+ if (!TextUtils.isEmpty(title)) {
+ if (mTrustLevel == SiteTileView.TRUST_TRUSTED) {
+ if (!title.equals(mUrlInput.getText().toString())) {
+ mUrlInput.setText(title, false);
+ }
+ return;
+ }
+ }
+ if (!url.equals(mUrlInput.getText().toString())) {
+ mUrlInput.setText(url, false);
}
}
}
@@ -499,21 +515,21 @@ public class NavigationBarBase extends LinearLayout implements
// logic in UrlHandler for other schemas
if (url != null && t != null && url.startsWith("javascript:")) {
mUiController.loadUrl(t, url);
- setDisplayTitle(text);
+ setDisplayTitle(null, text);
return;
}
// add for carrier wap2estore feature
if (url != null && t != null && wap2estore && isEstoreTypeUrl(url)) {
if (handleEstoreTypeUrl(url)) {
- setDisplayTitle(text);
+ setDisplayTitle(null, text);
return;
}
}
// add for rtsp scheme feature
if (url != null && t != null && isRtspTypeUrl(url)) {
if (handleRtspTypeUrl(url)) {
- setDisplayTitle(text);
+ setDisplayTitle(null, text);
return;
}
}
@@ -537,7 +553,7 @@ public class NavigationBarBase extends LinearLayout implements
i.putExtra("source", appData);
}
mUiController.handleNewIntent(i);
- setDisplayTitle(text);
+ setDisplayTitle(null, text);
}
private boolean isMakeCallTypeUrl(String url) {
@@ -648,7 +664,7 @@ public class NavigationBarBase extends LinearLayout implements
public void run() {
clearFocus();
if (currentTab != null) {
- setDisplayTitle(currentTab.getUrl());
+ setDisplayTitle(currentTab.getTitle(), currentTab.getUrl());
}
}
});
@@ -757,6 +773,7 @@ public class NavigationBarBase extends LinearLayout implements
mFaviconTile.setVisibility(View.GONE);
mMagnify.setVisibility(View.VISIBLE);
}
+ setDisplayTitle(currentTab.getTitle(), currentTab.getUrl());
}
mUiController.setWindowDimming(0.0f);
}
@@ -769,6 +786,13 @@ public class NavigationBarBase extends LinearLayout implements
mMore.setVisibility(View.GONE);
if (mUiController != null) {
mUiController.setWindowDimming(0.75f);
+ if (mTrustLevel == SiteTileView.TRUST_TRUSTED) {
+ Tab currentTab = mUiController.getCurrentTab();
+ if (currentTab != null) {
+ mUrlInput.setText(currentTab.getUrl(), false);
+ mUrlInput.selectAll();
+ }
+ }
}
break;
case STATE_EDITED:
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java
index 23df7fce..5fa093be 100644
--- a/src/com/android/browser/NavigationBarPhone.java
+++ b/src/com/android/browser/NavigationBarPhone.java
@@ -93,22 +93,21 @@ public class NavigationBarPhone extends NavigationBarBase implements StateListen
/**
* Update the text displayed in the title bar.
* @param title String to display. If null, the new tab string will be
- * shown.
+ * @param url
*/
@Override
- void setDisplayTitle(String title) {
+ void setDisplayTitle(String title, String url) {
mUrlInput.setTag(title);
if (!isEditingUrl()) {
- // add for carrier requirement - show title from native instead of url
- Tab currentTab = mUiController.getTabControl().getCurrentTab();
- if (BrowserConfig.getInstance(getContext())
- .hasFeature(BrowserConfig.Feature.TITLE_IN_URL_BAR) &&
- currentTab != null && currentTab.getTitle() != null) {
- mUrlInput.setText(currentTab.getTitle(), false);
- } else if (title == null) {
+ // add for carrier requirement - show title from native instead of url
+ if ((BrowserConfig.getInstance(getContext())
+ .hasFeature(BrowserConfig.Feature.TITLE_IN_URL_BAR) ||
+ mTrustLevel == SiteTileView.TRUST_TRUSTED) && title != null) {
+ mUrlInput.setText(title, false);
+ } else if (url == null) {
mUrlInput.setText(R.string.new_tab);
} else {
- mUrlInput.setText(UrlUtils.stripUrl(title), false);
+ mUrlInput.setText(UrlUtils.stripUrl(url), false);
}
mUrlInput.setSelection(0);
}
@@ -127,7 +126,7 @@ public class NavigationBarPhone extends NavigationBarBase implements StateListen
public void onFocusChange(View view, boolean hasFocus) {
if (view == mUrlInput && !hasFocus) {
Tab currentTab = mUiController.getTabControl().getCurrentTab();
- setDisplayTitle(currentTab.getUrl());
+ setDisplayTitle(currentTab.getTitle(), currentTab.getUrl());
}
super.onFocusChange(view, hasFocus);
}
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 93f655d8..fd19a414 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -187,7 +187,8 @@ public class TitleBar extends FrameLayout implements ViewTreeObserver.OnPreDrawL
}
protected void enableTopControls(boolean animate) {
- if (mIsFixedTitleBar)
+ if (mIsFixedTitleBar || mNavBar.getTrustLevel() == SiteTileView.TRUST_AVOID
+ || mNavBar.getTrustLevel() == SiteTileView.TRUST_UNTRUSTED)
return;
Tab tab = mBaseUi.getActiveTab();
WebView view = tab != null ? tab.getWebView() : null;