Merge "URL bar pull down tweaks"
diff --git a/res/drawable-hdpi/ic_downloads_holo_dark.png b/res/drawable-hdpi/ic_downloads_holo_dark.png
deleted file mode 100644
index e6ac45a..0000000
--- a/res/drawable-hdpi/ic_downloads_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_view_holo_dark.png b/res/drawable-hdpi/ic_list_view_holo_dark.png
deleted file mode 100644
index 89d63de..0000000
--- a/res/drawable-hdpi/ic_list_view_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_pageinfo_holo_dark.png b/res/drawable-hdpi/ic_pageinfo_holo_dark.png
deleted file mode 100644
index 39b8201..0000000
--- a/res/drawable-hdpi/ic_pageinfo_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_secure_generic_holo_dark.png b/res/drawable-hdpi/ic_secure_generic_holo_dark.png
deleted file mode 100644
index ad822d4..0000000
--- a/res/drawable-hdpi/ic_secure_generic_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_thumbnail_view_holo_dark.png b/res/drawable-hdpi/ic_thumbnail_view_holo_dark.png
deleted file mode 100644
index 0a9529f..0000000
--- a/res/drawable-hdpi/ic_thumbnail_view_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_downloads_holo_dark.png b/res/drawable-mdpi/ic_downloads_holo_dark.png
deleted file mode 100644
index 8f01c41..0000000
--- a/res/drawable-mdpi/ic_downloads_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_view_holo_dark.png b/res/drawable-mdpi/ic_list_view_holo_dark.png
deleted file mode 100644
index 319635e..0000000
--- a/res/drawable-mdpi/ic_list_view_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_pageinfo_holo_dark.png b/res/drawable-mdpi/ic_pageinfo_holo_dark.png
deleted file mode 100644
index fd9b1c0..0000000
--- a/res/drawable-mdpi/ic_pageinfo_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_secure_generic_holo_dark.png b/res/drawable-mdpi/ic_secure_generic_holo_dark.png
deleted file mode 100644
index c86047b..0000000
--- a/res/drawable-mdpi/ic_secure_generic_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_thumbnail_view_holo_dark.png b/res/drawable-mdpi/ic_thumbnail_view_holo_dark.png
deleted file mode 100644
index 9584c18..0000000
--- a/res/drawable-mdpi/ic_thumbnail_view_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_downloads_holo_dark.png b/res/drawable-xhdpi/ic_downloads_holo_dark.png
deleted file mode 100644
index 0681bd2..0000000
--- a/res/drawable-xhdpi/ic_downloads_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_view_holo_dark.png b/res/drawable-xhdpi/ic_list_view_holo_dark.png
deleted file mode 100644
index 30270da..0000000
--- a/res/drawable-xhdpi/ic_list_view_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pageinfo_holo_dark.png b/res/drawable-xhdpi/ic_pageinfo_holo_dark.png
deleted file mode 100644
index 23e948a..0000000
--- a/res/drawable-xhdpi/ic_pageinfo_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_secure_generic_holo_dark.png b/res/drawable-xhdpi/ic_secure_generic_holo_dark.png
deleted file mode 100644
index 03a3958..0000000
--- a/res/drawable-xhdpi/ic_secure_generic_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_thumbnail_view_holo_dark.png b/res/drawable-xhdpi/ic_thumbnail_view_holo_dark.png
deleted file mode 100644
index d03787b..0000000
--- a/res/drawable-xhdpi/ic_thumbnail_view_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/qc_tab.xml b/res/layout/qc_tab.xml
index 6fcd0f4..af8d46f 100644
--- a/res/layout/qc_tab.xml
+++ b/res/layout/qc_tab.xml
@@ -37,14 +37,14 @@
/>
<ImageView
android:id="@+id/thumb"
- android:layout_height="@dimen/qc_thumb_width"
- android:layout_width="@dimen/qc_thumb_height"
+ android:layout_width="@dimen/qc_thumb_width"
+ android:layout_height="@dimen/qc_thumb_height"
android:layout_marginTop= "1dip"
android:layout_marginLeft= "1dip"
android:layout_marginRight= "1dip"
android:layout_marginBottom= "1dip"
android:src="@drawable/browser_thumbnail"
- android:scaleType="centerCrop"
+ android:scaleType="centerInside"
/>
<TextView android:id="@+id/title2"
android:layout_width="match_parent"
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index adc2677..ff1ad0e 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -253,8 +253,6 @@
}
void start(final Bundle icicle, final Intent intent) {
- NfcHandler.register(mActivity, this);
-
boolean noCrashRecovery = intent.getBooleanExtra(NO_CRASH_RECOVERY, false);
if (icicle != null || noCrashRecovery) {
doStart(icicle, intent);
@@ -637,6 +635,7 @@
mNetworkHandler.onPause();
WebView.disablePlatformNotifications();
+ NfcHandler.unregister(mActivity);
}
void onSaveInstanceState(Bundle outState) {
@@ -670,6 +669,7 @@
mUi.onResume();
mNetworkHandler.onResume();
WebView.enablePlatformNotifications();
+ NfcHandler.register(mActivity, this);
}
private void releaseWakeLock() {
diff --git a/src/com/android/browser/NfcHandler.java b/src/com/android/browser/NfcHandler.java
index 6147aea..1b34df2 100644
--- a/src/com/android/browser/NfcHandler.java
+++ b/src/com/android/browser/NfcHandler.java
@@ -45,7 +45,18 @@
if (adapter == null) {
return; // NFC not available on this device
}
- adapter.setNdefPushMessageCallback(new NfcHandler(controller), activity);
+ NfcHandler handler = null;
+ if (controller != null) {
+ handler = new NfcHandler(controller);
+ }
+
+ adapter.setNdefPushMessageCallback(handler, activity);
+ }
+
+ public static void unregister(Activity activity) {
+ // Passing a null controller causes us to disable
+ // the callback and release the ref to out activity.
+ register(activity, null);
}
public NfcHandler(Controller controller) {
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 8bf32b0..69213cd 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -538,6 +538,13 @@
private final WebViewClient mWebViewClient = new WebViewClient() {
private Message mDontResend;
private Message mResend;
+
+ private boolean providersDiffer(String url, String otherUrl) {
+ Uri uri1 = Uri.parse(url);
+ Uri uri2 = Uri.parse(otherUrl);
+ return !uri1.getEncodedAuthority().equals(uri2.getEncodedAuthority());
+ }
+
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
mInPageLoad = true;
@@ -546,7 +553,7 @@
view.isPrivateBrowsingEnabled(), url, favicon);
mLoadStartTime = SystemClock.uptimeMillis();
if (mVoiceSearchData != null
- && !url.equals(mVoiceSearchData.mLastVoiceSearchUrl)) {
+ && providersDiffer(url, mVoiceSearchData.mLastVoiceSearchUrl)) {
if (mVoiceSearchData.mSourceIsGoogle) {
Intent i = new Intent(LoggingEvents.ACTION_LOG_EVENT);
i.putExtra(LoggingEvents.EXTRA_FLUSH, true);
diff --git a/tests/assets/bindings_test.html b/tests/assets/bindings_test.html
index 71f3438..2d20ada 100755
--- a/tests/assets/bindings_test.html
+++ b/tests/assets/bindings_test.html
@@ -7,7 +7,7 @@
}
function testObjectTypes() {
- return JNIBindingsTest.testObjectTypes("Foo", "", {"foo":"bar"}, {});
+ return JNIBindingsTest.testObjectTypes("Foo", "", null, {"foo":"bar"}, {});
}
function testArray() {
@@ -104,6 +104,12 @@
return false;
}
+ returned = JNIBindingsTest.returnNullString();
+ if (returned !== undefined) {
+ appendLog("returnNullString() failed: expected undefined, got " + returned);
+ return false;
+ }
+
returned = JNIBindingsTest.returnObject();
if (returned == null) {
appendLog("returnObject() failed: expected non-null, got " + returned);
diff --git a/tests/src/com/android/browser/JNIBindingsTest.java b/tests/src/com/android/browser/JNIBindingsTest.java
index 94dc985..8c25a80 100644
--- a/tests/src/com/android/browser/JNIBindingsTest.java
+++ b/tests/src/com/android/browser/JNIBindingsTest.java
@@ -82,8 +82,8 @@
return true;
}
- public boolean testObjectTypes(String stringParam, String emptyString, Object objectParam,
- Object emptyObject) {
+ public boolean testObjectTypes(String stringParam, String emptyString, String nullString,
+ Object objectParam, Object emptyObject) {
String expectedString = "Foo";
String expectedEmptyString = "";
@@ -92,6 +92,7 @@
assertNotNull(emptyString);
assertEquals(expectedString, stringParam);
assertEquals(expectedEmptyString, emptyString);
+ assertNull(nullString);
assertNull(objectParam);
assertNull(emptyObject);
} catch (AssertionFailedError e) {
@@ -267,6 +268,7 @@
public long returnLong() { return 1234L; }
public short returnShort() { return 12345; }
public String returnString() { return "Hello World!"; }
+ public String returnNullString() { return null; }
public class TestObject {
public int x = 123;