summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/Tab.java
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2010-07-08 15:41:55 -0700
committerMichael Kolb <kolby@google.com>2010-07-27 13:28:43 -0700
commitfe25199a6f975c67d28afcc1de56b0f987b66cd8 (patch)
treef505e4b04283a2e26d32091648ae7a4c3c0d7664 /src/com/android/browser/Tab.java
parentb4b83182219908210d4554466367736692faf6ce (diff)
downloadpackages_apps_Browser-fe25199a6f975c67d28afcc1de56b0f987b66cd8.tar.gz
packages_apps_Browser-fe25199a6f975c67d28afcc1de56b0f987b66cd8.tar.bz2
packages_apps_Browser-fe25199a6f975c67d28afcc1de56b0f987b66cd8.zip
tabbed title bar work
bug # http://b/issue?id=2712871 added tab bar added tab status callbacks to Tab and TabControl added compact progress/stop/refresh button added UrlInputView for auto-complete suggestions modified BrowserProvider for url input suggestions modified BrowserActivity to use TitleBarXLarge Change-Id: I62db2be5b89f4c4f27c09dbc6fee7b3b0d5e91b5
Diffstat (limited to 'src/com/android/browser/Tab.java')
-rw-r--r--src/com/android/browser/Tab.java48
1 files changed, 39 insertions, 9 deletions
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 6b74a6c8d..1d9482bdc 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -16,21 +16,13 @@
package com.android.browser;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Vector;
-
import android.app.AlertDialog;
import android.app.SearchManager;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.DialogInterface;
-import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
+import android.content.DialogInterface.OnCancelListener;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
@@ -71,8 +63,17 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
+import com.android.browser.TabControl.TabChangeListener;
import com.android.common.speech.LoggingEvents;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Vector;
+
/**
* Class for maintaining Tabs with a main WebView and a subwindow.
*/
@@ -502,6 +503,9 @@ class Tab {
if (mInForeground) {
mActivity.onPageStarted(view, url, favicon);
}
+ if (getTabChangeListener() != null) {
+ getTabChangeListener().onPageStarted(Tab.this);
+ }
}
@Override
@@ -523,6 +527,9 @@ class Tab {
if (mInForeground) {
mActivity.onPageFinished(view, url);
}
+ if (getTabChangeListener() != null) {
+ getTabChangeListener().onPageFinished(Tab.this);
+ }
}
// return true if want to hijack the url to let another app to handle it
@@ -672,6 +679,7 @@ class Tab {
final ContentResolver cr = mActivity.getContentResolver();
final String newUrl = url;
new AsyncTask<Void, Void, Void>() {
+ @Override
protected Void doInBackground(Void... unused) {
Browser.updateVisitedHistory(cr, newUrl, true);
return null;
@@ -948,6 +956,9 @@ class Tab {
if (mInForeground) {
mActivity.onProgressChanged(view, newProgress);
}
+ if (getTabChangeListener() != null) {
+ getTabChangeListener().onProgress(Tab.this, newProgress);
+ }
}
@Override
@@ -957,11 +968,16 @@ class Tab {
// here, if url is null, we want to reset the title
mActivity.setUrlTitle(pageUrl, title);
}
+ TabChangeListener tcl = getTabChangeListener();
+ if (tcl != null) {
+ tcl.onUrlAndTitle(Tab.this, pageUrl,title);
+ }
if (pageUrl == null || pageUrl.length()
>= SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTH) {
return;
}
new AsyncTask<Void, Void, Void>() {
+ @Override
protected Void doInBackground(Void... unused) {
// See if we can find the current url in our history
// database and add the new title to it.
@@ -1020,6 +1036,9 @@ class Tab {
if (mInForeground) {
mActivity.setFavicon(icon);
}
+ if (getTabChangeListener() != null) {
+ getTabChangeListener().onFavicon(Tab.this, icon);
+ }
}
@Override
@@ -1208,10 +1227,12 @@ class Tab {
@Override
public void getVisitedHistory(final ValueCallback<String[]> callback) {
AsyncTask<Void, Void, String[]> task = new AsyncTask<Void, Void, String[]>() {
+ @Override
public String[] doInBackground(Void... unused) {
return Browser.getVisitedHistory(mActivity
.getContentResolver());
}
+ @Override
public void onPostExecute(String[] result) {
callback.onReceiveValue(result);
};
@@ -1990,4 +2011,13 @@ class Tab {
LinearLayout parent = (LinearLayout) dialog.getParent();
if (parent != null) parent.removeView(dialog);
}
+
+ /**
+ * always get the TabChangeListener form the tab control
+ * @return the TabControl change listener
+ */
+ private TabChangeListener getTabChangeListener() {
+ return mActivity.getTabControl().getTabChangeListener();
+ }
+
}