Calligraphy icon indicating copy to clipboard operation
Calligraphy copied to clipboard

LayoutInflater conflict with Robobinding

Open Dellkan opened this issue 9 years ago • 6 comments

Hi. I've recently reported an issue to Robobinding regarding an issue that turned out to be a conflict with Calligraphy.

As it turns out, #setPrivateFactoryInternal seems to overwrite Robobinding's Factory2

Could you please take a look? There's more information @ https://github.com/RoboBinding/RoboBinding/issues/257

Dellkan avatar Aug 07 '16 19:08 Dellkan

@Dellkan Any update on this? I have the same problem.

vfongmala avatar Jan 12 '17 09:01 vfongmala

@zilchrhythm Made a hotfix back then in August, which seemed to do the trick. See https://github.com/Dellkan/Calligraphy/commit/df3a42f198e5fe5ccc0f0c2045be568fc28ec839 .

Been using this hotfix ever since.

Dellkan avatar Jan 12 '17 09:01 Dellkan

@Dellkan How can I use your hotfix? Can you give me instruction?

vfongmala avatar Jan 12 '17 10:01 vfongmala

Sure.

Step 1: Checkout https://github.com/Dellkan/Calligraphy/tree/alternative-deploy to android studio. (This branch adds deployment routines that I'm familiar with to Calligraphy, and allows you to publish it to a local repository)

Find the Gradle "tab" in the upper right side, and run :calligraphy->Tasks->build:assemble followed by :calligraphy->Tasks->publishing:publishToMavenLocal. (This can also be done through command-line/terminal, but I don't recall the exact syntax)

You will now have a version of Calligraphy with my hotfixes in it on a maven repository local to your computer.

Step 2: Open up your project where you want to use Calligraphy, and find the repositories tag in your build.gradle, and add mavenLocal() to it. Should now look something like

repositories {
    jcenter()
    mavenCentral()
    mavenLocal()
}

Step 3: In dependencies, add/change the compile calligraphy line to compile 'uk.co.chrisjenx:calligraphy:2.2.1-DEV' (The version including the -DEV tag is set in https://github.com/Dellkan/Calligraphy/blob/alternative-deploy/metadata.gradle, feel free to change it to something that makes sense to you)

And that's it, your project will now compile with the modified Calligraphy.

Dellkan avatar Jan 12 '17 11:01 Dellkan

Sorry just saw this, yeah didn't realise someone else would a nastier hack than me, yeah I need to "Get" the private factory and set it like RoboBindings does.

chrisjenx avatar Jan 12 '17 23:01 chrisjenx

@chrisjenx Hope you'll put this fix soon 👍 Thank you @Dellkan 👍

vfongmala avatar Jan 13 '17 11:01 vfongmala