Closed Bug 1114589 Opened 9 years ago Closed 9 years ago

crash in java.lang.NoSuchMethodError: android.net.Uri.getQueryParameterNames at org.mozilla.search.PostSearchFragment$ResultsWebViewClient.shouldOverrideUrlLoading(PostSearchFragment.java)

Categories

(Firefox for Android Graveyard :: Search Activity, defect)

All
Android
defect
Not set
critical

Tracking

(firefox35 verified, firefox36 verified, firefox37 verified, fennec35+)

VERIFIED FIXED
Firefox 37
Tracking Status
firefox35 --- verified
firefox36 --- verified
firefox37 --- verified
fennec 35+ ---

People

(Reporter: cos_flaviu, Assigned: Margaret)

References

Details

(Keywords: crash)

Crash Data

Attachments

(1 file, 1 obsolete file)

This bug was filed from the Socorro interface and is 
report bp-8c7e4c05-4f71-4051-8e2f-edbcc2141222.
=============================================================
Environment: 
Device: Samsung Galaxy R (Android 2.3.4);
Build: Nightly 37.0a1 (2014-12-21);

Steps to reproduce:
1. Launch Search Activity;
2. Perform a search;
3. Go to the second page of results.

Expected result:
The second page of results is successfully loaded.

Actual result:
Fennec crashes.


Stacktrace:
java.lang.NoSuchMethodError: android.net.Uri.getQueryParameterNames
	at org.mozilla.search.PostSearchFragment$ResultsWebViewClient.shouldOverrideUrlLoading(PostSearchFragment.java:106)
	at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:225)
	at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:348)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:130)
	at android.app.ActivityThread.main(ActivityThread.java:3691)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
	at dalvik.system.NativeStart.main(Native Method)
Sigh, getQueryParameterNames is API 11:

http://developer.android.com/reference/android/net/Uri.html#getQueryParameterNames%28%29
Assignee: nobody → margaret.leibovic
tracking-fennec: --- → ?
Blocks: 1041604
Attachment #8540252 - Flags: review?(rnewman)
/r/1633 - Bug 1114589 - Add compatibility layer for Uri.getQueryParameterNames. r=rnewman

Pull down this commit:

hg pull review -r 3b7d1fa11409cf3de9855df3a6575319b5a6f93c
https://reviewboard.mozilla.org/r/1631/#review1031

I'm surprised there was no IDE warning for that compat issue :/

This looks good.

As a sidenote, I'm not sure if there's a ProGuard-friendly choice for how to do this, between:

```
public Foo bar(Boz boz) {
  if (Versions.feature11Plus) {
    return boz.bar();
  }
  …
}

…
  return Utils.bar(boz);
```

and

```
public Foo bar(Boz boz) {
  …
}

…
  if (Versions.feature11Plus) {
    return boz.bar();
  } else {
    return Utils.bar(boz);
  }
```

Certainly the former is more foolproof, but perhaps less likely to be inlined or eliminated?
Attachment #8540252 - Flags: review?(rnewman) → review+
Comment on attachment 8540252 [details]
MozReview Request: bz://1114589/margaret

Approval Request Comment
[Feature/regressing bug #]: search activity
[User impact if declined]: crash for gingerbread users
[Describe test coverage new/current, TBPL]: no automated tests, tested locally
[Risks and why]: low-risk, add compatibility method for API not included on older versions of Android
[String/UUID change made/needed]: none
Attachment #8540252 - Flags: approval-mozilla-beta?
Attachment #8540252 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/9d54f4c91c31
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 37
Attachment #8540252 - Flags: approval-mozilla-beta?
Attachment #8540252 - Flags: approval-mozilla-beta+
Attachment #8540252 - Flags: approval-mozilla-aurora?
Attachment #8540252 - Flags: approval-mozilla-aurora+
Devices: Galaxy Nexus ( 4.3) HTC Desire S (2.3), galaxy R (2.3)
Nightly 2014-12-23
Aurora  2014-12-23
Beta 35 Beta 6 build 1

Ii am not able to reproduce the crash using the steps from description ( #c0)

> Steps to reproduce:
> 1. Launch Search Activity;
> 2. Perform a search;
> 3. Go to the second page of results.

MArking it as VERIFIED FIXED
Status: RESOLVED → VERIFIED
tracking-fennec: ? → 35+
Based on comment 10 will change the flags to verified.
Attachment #8540252 - Attachment is obsolete: true
Attachment #8618958 - Flags: review+
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.