Publishing Fairphone-specific apps (Launcher, Contact Widget...) on F-Droid

BTW, @jnsp, can I edit the first post to add the progress and make it a wiki post? (I have mod rights kindly granted by @Douwe, :blush:)

4 Likes

Sure, let’s make it a wiki :slight_smile:

4 Likes

Hi @Roboe ! Thanks for sharing this Clock Widget, I missed it a lot.
But I have 2 problems :
1/ when I tap on the clock, it doesn’t shift to “peace of mind” or anything else, it just remains on the clock
2/ I can’t find how to put this widget on my lock screen as it was before

Thanks in advance to anyone who can help me !

1 Like

These features are not part of the widget, the lock screen widget from Fairphone OS 5.1 which features “Peace of Mind” and other features is actually a different widget.

I’ll see what I can do, I haven’t found the source code for that yet.

2 Likes

The F-Droid description says:

2 Likes

I just digged through the source code and found it in the package Keyguard.

I’m currently not sure if we can pull these features out of that package and put them into the clock widget. The F-Droid description is wrong :slight_smile:

Edit: So Keyguard actually is the part of the lock screen that handles the unlock mechanism (e.g. slide to unlock, pin code, password or pattern). Seems like Fairphone built the peace of mind widget right into that.

Edit 2: Ok, I’m confident that we can enhance the clock widget with the Peace Of Mind and eventually the remaining battery life functionality. However it is currently unclear to me if the “Your Fairphone since” functionality works on other devices as well. If not, we could simply only display that on Fairphones. The data for that is read from /persist/board_date.bin. The second thing is that I don’t know how Android handles lock screen widgets and whether it is actually possible to install this as lock screen widget on a stock ROM.

Edit 3: There needs to be some work done, especially regarding the battery statistics (widget is using classes that are not availabe to normal apps). Will take a few days.

11 Likes

I only did some code mirroring and administrative stuff. All the work here has been done by @jnsp, thank him, not me, :smiley:


@jnsp: oops, I’m late. I could have saved you some search time with that. I inspected Keyguard sources few days ago.

Android 5+ don’t support lockscreen widgets anymore (unlike KiKat did). The only way to achieve that behaviour would be coding an alternative lockscreen with the widget embedded, although that sounds a little error-prone.

Backporting the lockscreen widget functionality to the regular Clock Widget seems the first thing to do, anyway. Skipping the Fairphone-specific part doesn’t sound to be extremely difficult (check the phone model), but there’s in fact work with the battery stats.

2 Likes

Note that “a Creative Commons License” can be so, so many different things. A CC BY or CC0 is vastly different to a CC BY-NC-ND license, and the Attribution clause can also be tricky if you don’t know the copyright holder/original creator.

3 Likes

Hey all, one thing we noticed here at Fairphone: the package name of the app can not be the same as the original package for two reasons:

  • it will cause a conflict with the signature of our version of the app and the installation might fail.
  • people might get confused about the creator of these apps. So referencing Fairphone as the origin of this code is fine, but it should be clear it is a community (WeAreFairphone) project now.

Keep on pushing!

7 Likes

Oh, right, I already gave that some thought…

You are absolutely right.

So we clearly need a bit of a refactor to avoid conflicts with official apps, to state clear that’s a community work and a more intelligible app descriptions crediting Fairphone for the original work.

Ok, first things first. Namespace to use on package signatures to avoid com.fairphone. Usually it refers to an internet domain, so we can use community.fairphone, but that doesn’t identify clearly the WeAreFairphone movement/organization. What about org.wearefairphone?

Should we open a poll about this with more options than community.fairphone and org.wearefairphone?

3 Likes

This is only the case on Android 5.1, since it is not installed on Android 6 ROMs.

I totally agree with you on this, however, we have already published two of the widgets on F-Droid and it might be difficult to change the package name now. We have to request a removal of the widgets on F-Droid and re-publish them. Users that have already installed the widgets might have to reinstall them.

Yup, could you create a one?

Besides the package name, has anyone considered registering a community domain and hosting a small website that is collecting information about the work of the community? We could use the same domain as our package name.

3 Likes

We could basically use this one:

At the moment http://fairphone.community points to the forum, but I think that a real landing page would be better.

I think that community.fairphone actually can identify WeAreFairphone in contrast to com.fairphone. The thing is that Fairphone has registered fairphone.community for the community’s use and we would otherwise have to register another domain.

4 Likes

It’s just a namespace, it doesn’t have to be a real domain. It can be just wearefairphone, but I suggested that because permuting a domain is the most common practice.

Using community.fairphone as the namespace and bringing up a landing page (hosting it at GitHub Pages?) for the WeAreFairphone movement seems to be the best idea.

I can do the web thing, :wink:

6 Likes

Hi,
I’m on Fairphone Open OS. I just wanted to let you know that F-Droid wanted to update My contacts from 2.0 to 2.1 today. So I guess that there is a conflict with the signature.

2 Likes

@chrisse Thanks for this info. I just installed version 2.1 under MM, now the widget displays fine.

1 Like

At least one FPoOS user (@conrad) had troubles with this:

I sincerely apologize for the troubles.

I just opened an issue at github to tackle the package name problem as soon as possible:

3 Likes

We are currently considering to change the package name. Currently we use the same package name as Fairphone did and we have updated the widget so that it can be displayed on other devices as well.

Because of the update and the new version number introduced by it, F-Droid shows you that an update is available for the widget. For anyone running Android 6, this should not be a problem, since those apps are no longer distributed with the OS. If you are on Fairphone Open (that still runs on Android 5.1 and comes bundled with those widgets), you won’t be able to install the update or uninstalling the old version (because it is a system app).

Fairphone Open is expected to switch to Android 6 this month, so the package conflict won’t be a problem for most users after that. Furthermore we are looking into how we can change the package name of the widgets, which might me a bit tricky now that we have already published them on F-Droid.

In the meantime, you can simply ignore the update in F-Droid. There is an option to ignore this update in the F-Droid client.

1 Like

Nope, I checked both checkboxes and I still get notifications from F-Droid all the time…

It works for me (and worked with other apps since I use F-Droid for the first time, years already). It seems like your F-Droid is behaving oddly.

1 Like

New versions of My Contacts and Clock widgets are now available fixing the package name conflict. Thanks guys. :thumbsup:

4 Likes