Closed
Bug 1084522
Opened 10 years ago
Closed 10 years ago
Attribute "layout" has already been defined
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox34 fixed, firefox35 fixed, firefox36 fixed)
RESOLVED
FIXED
Firefox 36
People
(Reporter: rnewman, Assigned: rnewman)
References
Details
Attachments
(2 files, 3 obsolete files)
5.49 KB,
patch
|
lucasr
:
review+
lmandel
:
approval-mozilla-aurora+
lmandel
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
2.91 KB,
patch
|
Details | Diff | Splinter Review |
mobile/android/base/resources/values/attrs.xml:109: error: Attribute "layout" has already been defined
Assignee | ||
Comment 1•10 years ago
|
||
This patch renames some "layout" occurrences to "geckolayout" and "buttonlayout" to avoid colliding with -- I presume -- the v7 support library. This has been reported all over the web. In our case, renaming seems like a fine solution. Let me know if there's an approach you prefer. This got things building.
Attachment #8507229 -
Flags: review?(lucasr.at.mozilla)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → rnewman
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•10 years ago
|
||
Patch ain't complete: E/GeckoAppShell( 9370): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 1 ("main") E/GeckoAppShell( 9370): java.lang.RuntimeException: You must supply buttonlayout attribute E/GeckoAppShell( 9370): at org.mozilla.gecko.widget.IconTabWidget.<init>(IconTabWidget.java:37) E/GeckoAppShell( 9370): at java.lang.reflect.Constructor.constructNative(Native Method) E/GeckoAppShell( 9370): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) E/GeckoAppShell( 9370): at android.view.LayoutInflater.createView(LayoutInflater.java:594) E/GeckoAppShell( 9370): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) E/GeckoAppShell( 9370): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) E/GeckoAppShell( 9370): at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) E/GeckoAppShell( 9370): at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) E/GeckoAppShell( 9370): at android.view.LayoutInflater.inflate(LayoutInflater.java:462) E/GeckoAppShell( 9370): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) E/GeckoAppShell( 9370): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) E/GeckoAppShell( 9370): at org.mozilla.gecko.tabs.TabsPanel.inflateLayout(TabsPanel.java:149) E/GeckoAppShell( 9370): at org.mozilla.gecko.tabs.TabsPanel.<init>(TabsPanel.java:122) E/GeckoAppShell( 9370): at java.lang.reflect.Constructor.constructNative(Native Method) E/GeckoAppShell( 9370): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) E/GeckoAppShell( 9370): at android.view.LayoutInflater.createView(LayoutInflater.java:594) E/GeckoAppShell( 9370): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) E/GeckoAppShell( 9370): at android.view.LayoutInflater.inflate(LayoutInflater.java:469) E/GeckoAppShell( 9370): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) E/GeckoAppShell( 9370): at android.view.ViewStub.inflate(ViewStub.java:259) E/GeckoAppShell( 9370): at org.mozilla.gecko.BrowserApp.ensureTabsPanelExists(BrowserApp.java:1712)
Assignee | ||
Comment 3•10 years ago
|
||
Missed the references. This builds. mgoodwin, please test?
Attachment #8507541 -
Flags: review?(lucasr.at.mozilla)
Assignee | ||
Updated•10 years ago
|
Attachment #8507229 -
Attachment is obsolete: true
Attachment #8507229 -
Flags: review?(lucasr.at.mozilla)
Comment 4•10 years ago
|
||
Not working for me, still. Patches queued: $ hg qser 0 A attachment.cgi?id=8507204 1 A attachment.cgi?id=8507228 2 A attachment.cgi?id=8507541 Relevant (I think) logcat: E/GeckoAppShell(10752): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 1 ("main") E/GeckoAppShell(10752): java.lang.RuntimeException: You must supply buttonlayout attribute E/GeckoAppShell(10752): at org.mozilla.gecko.widget.IconTabWidget.<init>(IconTabWidget.java:37) E/GeckoAppShell(10752): at java.lang.reflect.Constructor.constructNative(Native Method) E/GeckoAppShell(10752): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) E/GeckoAppShell(10752): at android.view.LayoutInflater.createView(LayoutInflater.java:594) E/GeckoAppShell(10752): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) E/GeckoAppShell(10752): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) E/GeckoAppShell(10752): at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) E/GeckoAppShell(10752): at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) E/GeckoAppShell(10752): at android.view.LayoutInflater.inflate(LayoutInflater.java:462) E/GeckoAppShell(10752): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) E/GeckoAppShell(10752): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) E/GeckoAppShell(10752): at org.mozilla.gecko.tabs.TabsPanel.inflateLayout(TabsPanel.java:149) E/GeckoAppShell(10752): at org.mozilla.gecko.tabs.TabsPanel.<init>(TabsPanel.java:122) E/GeckoAppShell(10752): at java.lang.reflect.Constructor.constructNative(Native Method) E/GeckoAppShell(10752): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) E/GeckoAppShell(10752): at android.view.LayoutInflater.createView(LayoutInflater.java:594) E/GeckoAppShell(10752): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) E/GeckoAppShell(10752): at android.view.LayoutInflater.inflate(LayoutInflater.java:469) E/GeckoAppShell(10752): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) E/GeckoAppShell(10752): at android.view.ViewStub.inflate(ViewStub.java:259) E/GeckoAppShell(10752): at org.mozilla.gecko.BrowserApp.ensureTabsPanelExists(BrowserApp.java:1712) E/GeckoAppShell(10752): at org.mozilla.gecko.BrowserApp.access$1700(BrowserApp.java:133) E/GeckoAppShell(10752): at org.mozilla.gecko.BrowserApp$33.run(BrowserApp.java:1606) E/GeckoAppShell(10752): at android.os.Handler.handleCallback(Handler.java:730) E/GeckoAppShell(10752): at android.os.Handler.dispatchMessage(Handler.java:92) E/GeckoAppShell(10752): at android.os.Looper.loop(Looper.java:137) E/GeckoAppShell(10752): at android.app.ActivityThread.main(ActivityThread.java:5103) E/GeckoAppShell(10752): at java.lang.reflect.Method.invokeNative(Native Method) E/GeckoAppShell(10752): at java.lang.reflect.Method.invoke(Method.java:525) E/GeckoAppShell(10752): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) E/GeckoAppShell(10752): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) E/GeckoAppShell(10752): at dalvik.system.NativeStart.main(Native Method)
Comment 5•10 years ago
|
||
namespacing fixed the problem for me. E.g: buttonlayout="@layout/tabs_panel_indicator" becomes: gecko:buttonlayout="@layout/tabs_panel_indicator"
Assignee | ||
Comment 6•10 years ago
|
||
Tested on Nexus 10 with new and old tablet UI, and phone. Doesn't mean it's *right*, but it builds and runs.
Attachment #8507586 -
Flags: review?(lucasr.at.mozilla)
Assignee | ||
Updated•10 years ago
|
Attachment #8507541 -
Attachment is obsolete: true
Attachment #8507541 -
Flags: review?(lucasr.at.mozilla)
Comment 7•10 years ago
|
||
Comment on attachment 8507586 [details] [diff] [review] Don't redefine layout attribute in IconTabWidget. v3 Review of attachment 8507586 [details] [diff] [review]: ----------------------------------------------------------------- ::: mobile/android/base/resources/values/attrs.xml @@ +105,5 @@ > </attr> > </declare-styleable> > > <declare-styleable name="TabCounter"> > + <attr name="geckolayout" format="reference"/> We should just reuse android:layout here. @@ +156,5 @@ > <attr name="doinit" format="boolean"/> > </declare-styleable> > > <declare-styleable name="IconTabWidget"> > + <attr name="buttonlayout" format="reference"/> This change is not necessary. Reusing android:layout won't cause any problems.
Attachment #8507586 -
Flags: review?(lucasr.at.mozilla) → feedback+
Assignee | ||
Comment 8•10 years ago
|
||
Using android:layout: 22:29.48 /Users/rnewman/moz/hg/fx-team/mobile/android/base/resources/values/attrs.xml:109: error: Attribute "android:layout" has already been defined 22:29.48 22:29.48 /Users/rnewman/moz/hg/fx-team/mobile/android/base/resources/values/attrs.xml:160: error: Attribute "android:layout" has already been defined
Assignee | ||
Comment 9•10 years ago
|
||
This builds. I had to remove the format argument to avoid a build error. (We're shadowing a declaration from elsewhere, and apparently they have to match.)
Attachment #8508071 -
Flags: review?(lucasr.at.mozilla)
Assignee | ||
Updated•10 years ago
|
Attachment #8507586 -
Attachment is obsolete: true
Updated•10 years ago
|
Attachment #8508071 -
Flags: review?(lucasr.at.mozilla) → review+
Comment 10•10 years ago
|
||
(In reply to Richard Newman [:rnewman] from comment #9) > Created attachment 8508071 [details] [diff] [review] > Don't redefine layout attribute in IconTabWidget. v4 > > This builds. > > I had to remove the format argument to avoid a build error. (We're shadowing > a declaration from elsewhere, and apparently they have to match.) Yeah, sorry, I should have mentioned that you shouldn't specify format when reusing an android attribute.
Assignee | ||
Comment 11•10 years ago
|
||
https://hg.mozilla.org/integration/fx-team/rev/caaa0cc9b53d
Comment 12•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/caaa0cc9b53d
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 36
Assignee | ||
Comment 13•10 years ago
|
||
Comment on attachment 8508071 [details] [diff] [review] Don't redefine layout attribute in IconTabWidget. v4 Approval Request Comment [Feature/regressing bug #]: New tablet work plus old code, in combination with newer Android tools. [User impact if declined]: Developers can't build Aurora or Beta with new Android tools. [Describe test coverage new/current, TBPL]: N/A [Risks and why]: Low risk; avoid name collision. [String/UUID change made/needed]: None.
Attachment #8508071 -
Flags: approval-mozilla-beta?
Attachment #8508071 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 14•10 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=9f53b525c2d5
Comment 15•10 years ago
|
||
Comment on attachment 8508071 [details] [diff] [review] Don't redefine layout attribute in IconTabWidget. v4 Beta+ Aurora+
Attachment #8508071 -
Flags: approval-mozilla-beta?
Attachment #8508071 -
Flags: approval-mozilla-beta+
Attachment #8508071 -
Flags: approval-mozilla-aurora?
Attachment #8508071 -
Flags: approval-mozilla-aurora+
Assignee | ||
Comment 16•10 years ago
|
||
Comment 17•10 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/d83ccc38a910 https://hg.mozilla.org/releases/mozilla-beta/rev/66297e95dc47
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•