UnifiedNlp icon indicating copy to clipboard operation
UnifiedNlp copied to clipboard

Does not work on FairphoneOS

Open jspricke opened this issue 8 years ago • 14 comments

Hi,

NLP doesn't work on my Fairphone 2 using the open source version of FairphoneOS (derived from AOSP 5.1; Sources here: http://code.fairphone.com/gerrit/). I tried the normal and the legacy version both as a user and a system app. It installs fine, but I don't get a location (tried different providers and same configuration works on an other phone using Omnirom). Is there some special patch I need to apply to the OS? Any way to debug?

Thanks!

jspricke avatar Jan 25 '16 14:01 jspricke

I just checked the source code and it seems fp2-osos does not have third-party location provider support yet (which means that the GAPPS version is likely not working properly as well). You can either use the Xposed module, sign UnifiedNlp releases using your platform key (= the key the AOSP build system uses to sign the operating system) or adjust the source code.

To adjust the source code you need to add com.google.android.gms to the config_locationProviderPackageNames resource array, either by modifying platform/frameworks/base/core/res/res/values/config.xml directly or by using an overlay (example)

mar-v-in avatar Jan 25 '16 17:01 mar-v-in

Thanks for the answer, I've modified the config.xml but the behavior, but it still does not work. Do you have any other hint?

jspricke avatar Jan 25 '16 19:01 jspricke

Just to clarify details: You did use modified config.xml with NetworkLocation.apk (or non legacy version from F-Droid) as a user app?

Can you try this version with the new Self-check to see what it reports?

mar-v-in avatar Jan 25 '16 20:01 mar-v-in

I tried the non legacy version from F-Droid as user and system app.

The new version looks awesome :). I only get a checkmark for "Android version supported", nothing else.

jspricke avatar Jan 25 '16 20:01 jspricke

This certainly means that the change did not apply correctly. Can you upload your /system/framework/framework-res.apk somewhere so I can check what went wrong?

mar-v-in avatar Jan 25 '16 21:01 mar-v-in

(link removed)

jspricke avatar Jan 25 '16 22:01 jspricke

It seems like qualcomm is adding some fixed link to their proprietary location service through device/qcom/common/product/overlay/frameworks/base/core/res/res/values/config.xml. Remove this file completely or at least change config_enableNetworkLocationOverlay to true.

I don't understand how this fixed binding to a proprietary service can be published as "open"... Even more interesting is, that according to their license, you are not allowed to remove the now unused qualcomm location blob from the system (because qualcomm wants your tracking data) without removing all other proprietary blobs (various audio/video codes, libraries for gps, hardware crypto and camera)... Summary: As with the first Fairphone, fair ends when it comes to the software part of the device...

mar-v-in avatar Jan 26 '16 00:01 mar-v-in

That was it, thanks a lot! I will try to look into the other blobs as well.

jspricke avatar Jan 26 '16 08:01 jspricke

Regarding the config_locationProviderPackageNames, I would propose to add the information to the readme. Should I send a pull request?

jspricke avatar Jan 26 '16 08:01 jspricke

Thanks for figuring this out. Would there be any way to modify the existing FP2 OS to support this?

wvengen avatar Feb 09 '16 22:02 wvengen

@wvengen see my post in the forum: https://forum.fairphone.com/t/unified-nlp-on-fairphone-2/13156

jspricke avatar Feb 09 '16 22:02 jspricke

@jspricke: I want to support also FairphoneOS in my patcher (Tingle) but I don't have it. Can you please help me? I need the original unpatched version of these files: /system/framework/framework.apk platform/frameworks/base/core/res/res/values/config.xml device/qcom/common/product/overlay/frameworks/base/core/res/res/values/config.xml

ale5000-git avatar Aug 15 '16 01:08 ale5000-git

Hi ale5000,

  • ale5000 [email protected] [2016-08-14 18:10]:

    @jspricke: I want to support also FairphoneOS in my patcher but I don't have it.

I guess you want to support the closed source version (not Fairphone Open OS).

I need the original unpatched version of these files:

You can get the current image here:

https://fairphone.zendesk.com/hc/en-us/articles/201189497-Fairphone-OS-downloads-for-Fairphone-1-Fairphone-2

Use https://github.com/xpirt/sdat2img to convert it to a filesystem image.

/system/framework/framework.apk

That one doesn't exists, but there is a framework-res.apk in there.

platform/frameworks/base/core/res/res/values/config.xml

There are no sources for FairphoneOS, but it should be similar to the one in Fairphone Open OS. You can clone the repo here:

git clone https://code.fairphone.com/gerrit/fp2-dev/platform/frameworks/base git checkout 01e9b64~

device/qcom/common/product/overlay/frameworks/base/core/res/res/values/config.xml

same here: git clone https://code.fairphone.com/gerrit/fp2-dev/device/qcom/common git checkout 3ec3b72~

Cheers Jochen

jspricke avatar Aug 15 '16 07:08 jspricke

There isn't an estimated time for this but I will see what I can do. I want also support old versions of Fairphone Open OS that aren't fixed (but it is low priority).

ale5000-git avatar Sep 03 '16 13:09 ale5000-git