klausw / hackerskeyboard

Hacker's Keyboard (official)
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard
Apache License 2.0
1.85k stars 441 forks source link

A project that might help meeting the API requirements #905

Open ghost opened 2 years ago

ghost commented 2 years ago

Hello, I've been using this keyboard for a while, and realized the pop-up things looks very ancient. Then I saw the readme in this repo and it seems that this app might never be updated anymore due to API compatibility and Play Store requirements.

But, there's this other keyboard app I'm using for everything other than programming, that is, Simple Keyboard. The code might be able to be used to update Hacker's Keyboard to the latest API.

Please update this app, it's the most useful app for mobile programming. Thank you.

Etanarvazac commented 2 years ago

Part of the issue with updating to the latest API is access to the legacy libraries. By updating it above API 29, Hacker's Keyboard won't be available to devices running Android 9 or below. Eventually there may be a way to work around this without having 2 entirely separate apps, but according to Android Studio, selecting API 29 will prevent us of these order libraries. Now, I could be wrong, as I am fairly new to Android app development. Should this not be an issue, let me know.

ghost commented 2 years ago

Yes, I do agree. I am by no means an Android dev, let alone a Java/Kotlin dev, but I have seen that meeting the API requirements will make the app unavailable for users using below Android 9, and the API requirements will be upgraded to API 31 in November.

1 solution would be to update the app in the Play Store, adding a new app to F-Droid, and keeping the old (legacy) version in F-Droid as well.

Etanarvazac commented 2 years ago

F-Droid and Aptoide would definitely help in holding legacy versions, given Google won't soon enough based on the API restrictions. The only feasible way I see in terms of Google Play is keeping the original and having the newer one target API's 29 and up, respectively having the current get the "(Legacy)" tag prior to API 29+ being published.

This is also not to mention that archivers may have already put old copies of HK on Aptoide like every other app on the market. Shoot, you might even be able to find the really old Android Market on there from before the change to Google Play.

ghost commented 2 years ago

True, so it wouldn't be much of an issue, just tell the users of Android below 9.0 to download the legacy app from F-Droid or Aptoide instead of the Play Store. It's a win-win, right?

Termux did this too, but backwards. They published the new version of Termux on F-Droid, but kept the legacy version an the Play Store.

Etanarvazac commented 2 years ago

I personally am not skilled enough yet to do a full-blown update. However, I think it might require most, if not all, of the code to be re-written. I am learning as I go. So should I figure something out before someone does this, I'll look into it. It's 1 of 4 nearly dead apps I'd like to tackle.

ghost commented 2 years ago

Neither am I, and yes, even the readme says it needs "major rewrites", which is why I'm suggesting to use Simple Keyboard's code as a base. Therefore, there will be a lot less code to be completely rewritten.

Etanarvazac commented 2 years ago

The code may definitely help and would be something to look into.

ghost commented 2 years ago

As the original developer has stated his disinterest in continuing the project, I've created a fork of the repo here.