[Mono-bugs] [Bug 644784] Custom components must use Java names in resource layout files

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Oct 11 22:02:28 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=644784

https://bugzilla.novell.com/show_bug.cgi?id=644784#c2


Jonathan Pryor <jpryor at novell.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE

--- Comment #2 from Jonathan Pryor <jpryor at novell.com> 2010-10-12 02:02:27 UTC ---
Is it better to be completely inconsistent or somewhat inconsistent?

I'm closing this as a dup of 634068; here's the issue: Android's package
manager *requires* that all fully-qualified activity names begin with a
lowercase letter.

Period.

Attempts to not do so will be met with a
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED error.

Now, not all types are Activities.  So we have three choices, only two of which
are actually viable:

 1. Don't change the user code at all (i.e. PascalCase java packages).
    This can't be done, as per above Android installer limitation.

 2. camelCase all Java packages to appease Android.  This is the current 
    situation.

 3. camelCase packages for Activity subclasses (as Android checks those), but
    PascalCase all remaining packages.

    This is UNTESTED (so maybe it would work, maybe it won't).

    This could allow unchanged use of namespace+Type names (from the C# 
    perspective) EXCEPT for Activity names.

(1) doesn't work.

(2) is status quo, and is at least fully consistent with itself ("Java packages
are always camelCase.").

(3) is arguably a clusterfuck, because Activities (and Services, and Intents,
and Broadcast Receivers, and...) will follow camelCase convention, while
everything else will follow PascalCase convention.

Assuming (3) works (which it might not, we'd have to test), is (3) REALLY
better, from a documentation/understanding/etc. perspective, than (2)?

On a final note, I wonder if (3) would actually work on Windows, as Java maps
package names to directory names (and the directory tree is placed into the
final .zip), and (3) could result in directories differing only in case, e.g.

    mono.samples.HelloApp
    Mono.Samples.MyWonderfulWidget

Will that even build and compile on a case-insensitive platform like Windows? 
(I know it will on Linux, but many devs will be on Windows...)

*** This bug has been marked as a duplicate of bug 634068 *** http://bugzilla.novell.com/show_bug.cgi?id=634068

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list