Coder Social home page Coder Social logo

Comments (34)

Speeddymon avatar Speeddymon commented on July 2, 2024 1

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024 1

Still crashes, so I started watching logcat and hit up google.

#20

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Been a while since I have touched to project. Assuming you can get the name of the launcher to override it should be possible to to swap it out.
In short somewhere in the code it specifies the fire launchers package and when that opens it loads the custom launcher. I assume the launcher has a different name on those devices. If you can find that name, through ADB and a bit of common sense, then you can swap it out in this app and it should work.
There might be more too it as I don't own any of the devices so I am speculating. If you are having trouble swapping out the name I can help with that but it's basically just find and replace, I think it's in a couple place/files.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

I'll see about looking into it soon.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

Looks like com.amazon.tv.launcher is the process name

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

It may be part of either or both of these files:

/system/priv-app/com.amazon.tv.launcher/com.amazon.tv.launcher.apk
/system/priv-app/FireTVSystemUI/FireTVSystemUI.apk

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Great, so you should be able to build the project by grabbing Android studio, downloading and opening up this repository, plugging a device in and hitting run. You will probably have to enable developer mode on the device. I'm sure google can help you there as I have never owned a fire TV.
Once you have made a build with the clean code you should just be able to change com.amazon.launcher in accserv.java to the package mentioned above.
I am pretty certain it's only mentioned there however it's deffinatly worth doing a search of the whole project incase I forgot about a reference.
Let me know if you have any trouble.

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Oh and remember to enable the accessibility setting after every build as it gets reset every time.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

Yep, changes made in a fork, and just finished downloading Android Studio.

If you could, I'd like a suggestion on how to have support for both FireOS5 and FireOS8 (see my comments in #19 )

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Presumably you have tested your branch?
Unfortunately I can't approve you pull request as it would break fire OS 5 support, which as I am aware is on all devices bar the fire tv.
As for having both you could probably add a toggle option to the menu in the top right of the app, With that option you can then change that string to the desired launcher but you would need to store it in a config file similar to how the user selected launcher is stored. Do you do much programming? It's really too long to explain beyond that and without some programming experience you would probably struggle.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

I'm working on building it right now.

I didn't expect to have it approved as-is. :-)

I am more experienced with perl and javascript than I am with pure java, but I will be looking into android books eventually. :-)

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Ok well generally with pull requests, regardless of the repo, you should fully test your code before making any pull requests. You only need to do the pull request when you actually want to put it up onto the main branch.
Android dev is really strange, that being said it's always good to see people interested in learning programming (or anything for that matter). If you are sure you want to give it a go I would suggest you get a tablet or other device that uses fire OS 5 so you can make sure you aren't breaking anything with your changes. I am happy to test on my device if really needed. and I will need to for a pull request, but I can't test the fire tv side at all so I would just have to take your word for it.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

You sure do like those fire tv's :P Does the current version work on any of them? If not then the OS version clearly doesn't really matter and it's all about the device type. Just looking at the package name I imagine all the fire tv's use the same launcher and all the tablets use the same launcher.
I might be easier to just make an option to select any package to override. That would pretty conclusively cover any device/update Amazon could release and presumably any other device that locks your choice of launcher, not that I know of any.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

I meant does the currect public version work on any fire TV? IE without any modifications by you.
Does really seem like a general solution is needed.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Ok great, you can use that to test you didn't break anything. Good luck on the update.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

After building the package without changes and testing it on the stick, I can confirm it works fine there.

Unfortunately, the app crashes even with the stock launcher name changed, on the cube.

I found that I was able to get it to not crash when I change the gradle properties to compile for sdk version 25 instead of 22.

So, both changes are required to get it working on the stick.

Now I just have to figure out how to modify the menu. :-)

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Hmm that's a pretty bad change as the SDK needs to be on 22 for compatibility with most, in not all, fire tablets. While it's a pain in terms of maintanence it may be best to just make 2 seperate versions of the app. I am hesitant to do that as any changes would need to be merged between the two branches but it would mean you don't have to mess with the menu and you there is no concern about API versions. There isn't many updates so it's not totally unreasonable.
That being said I don't really see why it can't run on API 22. It's a min version, so getting it to work on API 22 is the ideal solution.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

You should just be able to attach the Android studio debugger to get the info but logcat through ADB will work. Just remember to enable USB debugging in the developer options of the device.
Looking into it deeper it looks like minsdk and target are seperate parameters so setting it to 25 may not break it. I would suggest you try it with the change on your stick.
Anyway I'm off to bed so I will read any updates you leave once I am up. Best of luck. I would really like to see you crack it as fire TV support has been asked for a number of times so it would be good to appease those that want it. Shame I never had the devices to do it myself.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

I am not sure what I did to get it working as I worked on it literally all night last night, and once I got it working, I stupidly deleted the project files, so all I have as of right now is an APK that works on both FireOS versions available on the FireTV.

Since the launcher name changed between the two FireOS versions, but it is working for certain on both right now, I'm curious if the app works on your Fire tablet.

Would you be willing to give it a shot?

https://drive.google.com/drive/folders/1MuArigXBKtLXdb8w_Z-hMvPXmUDCSO-g?usp=sharing

Edit: I will play with it some more next weekend to see if I can't build another working one so I can make a proper fork

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

Something really weird I just discovered is that even though this app works just fine on the stick, the stick uses the same launcher name as the cube (com.amazon.tv.launcher, rather than com.amazon.firelauncher)

I'm really curious now whether it was the SDK version or the launcher name change that actually got the apk I have working right now, working.

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

It doesn't surprise me that they share a package name. One is just updated for the newer OS. Unfortunately if you change the package name it will break it for the tablet side of things. I will have a look into it a bit after some dinner. I have a theory that if it holds true should resolve the whole thing but I will refrain from saying more until I have tested it as I am speculating.

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Seems I thought it was a little more complex than I was. Give this build a go:
LauncherHijackV31.apk.zip
There is a new branch with my changes but the stuff that's relevant is up to 295a6cf
It was so simple that I probably got something wrong but as I went to the effort of setting up my ide again I did some other housekeeping, updating versions and adding an highlight showing the current chosen launcher.

Regardless hopefully that works out on all your devices. Assuming you test it and it works then I will work on publishing it more officially. I have tested it on my device and it works well.

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Ok, I have some concerns just reading through the pull request but I will have to test it to understand what your changes do. Little bit busy at present so I will have a look later when I get a chance.
Have you fully tested it on your devices? With multiple launchers and ensuring settings persist after a reboot.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Ok, I doubt it will happen but I defiantly had that bug at one point. Cheers for your work.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

Yeah, looking at the pull request myself, it looks like its a lot scarier than it is.
The real changes are a small subset of the total of the 3 commits.
With those first 2 commits, I had gotten it working and thought it was good, then found it was broken on the opposite device that I had been trying to fix! lol

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

No issues during tonight's testing. All told, it went really, really well!

Rebooted both devices, installed a couple of other Android TV Launchers, and configured LHJ to use each one, and they all came up with the home button. :-)

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

Replied to your pull request with some concerns, we should move discussions over there.

from launcherhijack.

Speeddymon avatar Speeddymon commented on July 2, 2024

from launcherhijack.

BaronKiko avatar BaronKiko commented on July 2, 2024

As detailed in this pullrequest this issues has now been resolved with update 4.0.2

from launcherhijack.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.