Skip to content

Modernize - #285

Merged
niqdev merged 8 commits into
niqdev:masterfrom
hannesa2:Modernize
Feb 23, 2026
Merged

Modernize#285
niqdev merged 8 commits into
niqdev:masterfrom
hannesa2:Modernize

Conversation

@hannesa2

Copy link
Copy Markdown
Contributor

Please see details in commit messages

@niqdev

niqdev commented Oct 29, 2025

Copy link
Copy Markdown
Owner

Thanks a lot for your contribution as usual!

@hannesa2

Copy link
Copy Markdown
Contributor Author

I'm not sure what this is
image
I guess I removed all java 11 stuff

Comment thread .gitmodules Outdated
@@ -0,0 +1,9 @@
[submodule "git-diff-image"]

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the purpose of these submodules?

Comment thread .github/workflows/Android-CI.yml Outdated
id
- name: prepare
run: |
sudo apt-get update && sudo apt-get install -y exiftool imagemagick xdg-utils libimage-exiftool-perl zsh jq xorg

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where are all these binaries used?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for later applied screenshot compare Espresso tests.
When I remove it, then it's clear that screenshot compare Espresso tests will never come

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a copy of AppDevNext/AndroidChart#278 (comment)
But I guess it's better to remove it

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed this

@niqdev

niqdev commented Oct 29, 2025

Copy link
Copy Markdown
Owner

code changes looks good and i'm fine, but do you mind just reviewing those actions and clean them up? no commented code and trim them down to the bare minimum i.e. build & test + release, or just add some comments about all the other binaries installed and the submodules dependencies

also afik the ndk never worked properly or it's not needed, isn't it? if you agree could you please simply delete all that unnecessary code and keep it as simple as possible. wdyt? we could do a 3.x release without all the jni code

i also think that rx-java could be replaced by kotlin native coroutines, but i'll leave that to you

@niqdev

niqdev commented Oct 29, 2025

Copy link
Copy Markdown
Owner

bottom line, i don't have any availability to work on it other then reviewing PRs and any improvement should be towards maintenability and stability, the simpler the better

and i do really appreciate your help 😄

@hannesa2

hannesa2 commented Oct 29, 2025

Copy link
Copy Markdown
Contributor Author

also afik the ndk never worked properly or it's not needed,

It caused a compatibility warning, it was the main reason, why I touched it

https://developer.android.com/guide/practices/page-sizes

@niqdev

niqdev commented Oct 29, 2025

Copy link
Copy Markdown
Owner

It caused a compatibility warning, it was the main reason, why I touched it

please double check, but IF it works without it and it's not required just nuke it, you have my blessing - it's been a pain in the neck since the beginning and if not mistaken the idea was to have 2 implementations

if the kotlin code works there is no need anymore for the other impl, it has to be maintenable

@hannesa2

hannesa2 commented Oct 29, 2025

Copy link
Copy Markdown
Contributor Author

i also think that rx-java could be replaced by kotlin native coroutines

Sure, it's a pain and an unneeded complexity

we could do a 3.x release without all the jni code

it it's not needed, I'm fine to remove it. But I want not to touch code on reason "because". It would need tests (I've no motivation), manual or my Espresso (here it is screenshot compare again)

My current knowledge is, that it's currently the minimum

@niqdev

niqdev commented Oct 29, 2025

Copy link
Copy Markdown
Owner

i would prefer a 3.x release if we remove the native code because it's a breaking change, but i think that the single entry point is this line, that was the original idea
https://github.com/niqdev/ipcam-view/blob/master/mjpeg-view/src/main/java/com/github/niqdev/mjpeg/Mjpeg.java#L114

to test it i would just leave it case NATIVE: and throw and exception and delete all the related native code, after that if everything still work we can considere replacing all the rx-java, but it's unrelated

@niqdev

niqdev commented Oct 30, 2025

Copy link
Copy Markdown
Owner

did you test the pr somehow and is it safe to be merged?

@hannesa2

Copy link
Copy Markdown
Contributor Author

To be honest: no
That's why the idea of Espresso tests with screenshots appeared in the past

@niqdev

niqdev commented Nov 1, 2025

Copy link
Copy Markdown
Owner

please let me know if i can help somehow in the review or you want to take some time, just ping me when you think it's ready to be merged and sure it's still working. thanks again for your help

@hannesa2

hannesa2 commented Nov 2, 2025

Copy link
Copy Markdown
Contributor Author

I guess I'm ready and when you want to help, please do a manual test

@hannesa2

hannesa2 commented Dec 1, 2025

Copy link
Copy Markdown
Contributor Author

also afik the ndk never worked properly or it's not needed, isn't it? if you agree could you please simply delete all that unnecessary code and keep it as simple as possible. wdyt? we could do a 3.x release without all the jni code

Good plan. When this is ever merged, we could remove NDK complete
image

@hannesa2

hannesa2 commented Dec 1, 2025

Copy link
Copy Markdown
Contributor Author

i would prefer a 3.x release if we remove the native code because it's a breaking change, but i think that the single entry point is this line, that was the original idea
https://github.com/niqdev/ipcam-view/blob/master/mjpeg-view/src/main/java/com/github/niqdev/mjpeg/Mjpeg.java#L114

I see there is still java code. This could be converted as well

@hannesa2

Copy link
Copy Markdown
Contributor Author

What prevents a merge here ?

@niqdev

niqdev commented Feb 23, 2026

Copy link
Copy Markdown
Owner

hi, can you give me a 👍🏻 to confirm that it's still building properly and if you've tested it somehow and it's still working? if then i'm happy to merge it, the build is green but it's stuck 😔

@hannesa2

Copy link
Copy Markdown
Contributor Author

Here is the 👍

the build is green but it's stuck

What do you mean ?
At least on my fork it builds properly. hannesa2#161
But the same is on your upstream

@niqdev
niqdev merged commit 7b2b482 into niqdev:master Feb 23, 2026
2 checks passed
@niqdev

niqdev commented Feb 23, 2026

Copy link
Copy Markdown
Owner

thanks as usual, i will release 2.5.0

@hannesa2

Copy link
Copy Markdown
Contributor Author

As you can see, the CI runs now properly
image

@hannesa2
hannesa2 deleted the Modernize branch February 23, 2026 17:55
@hannesa2 hannesa2 mentioned this pull request Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants