Comments (34)
from launcherhijack.
Still crashes, so I started watching logcat and hit up google.
from launcherhijack.
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.
I'll see about looking into it soon.
from launcherhijack.
Looks like com.amazon.tv.launcher is the process name
from launcherhijack.
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.
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.
Oh and remember to enable the accessibility setting after every build as it gets reset every time.
from launcherhijack.
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.
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.
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.
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.
from launcherhijack.
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.
from launcherhijack.
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.
from launcherhijack.
Ok great, you can use that to test you didn't break anything. Good luck on the update.
from launcherhijack.
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.
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.
from launcherhijack.
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.
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.
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.
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.
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.
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.
from launcherhijack.
Ok, I doubt it will happen but I defiantly had that bug at one point. Cheers for your work.
from launcherhijack.
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.
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.
Replied to your pull request with some concerns, we should move discussions over there.
from launcherhijack.
from launcherhijack.
As detailed in this pullrequest this issues has now been resolved with update 4.0.2
from launcherhijack.
Related Issues (20)
- Bluetooth keyboard becomes unusable when LauncherHijack enabled
- 5 second delay after hitting the home button HOT 11
- Dosent work until app launches HOT 1
- Says "launcher hijack is blocked"
- Working on older Bueller units?
- Launcher Hijack fails due to Accessibility Settings (FireTV Stick 4k) HOT 1
- FireTV update killed this again. HOT 1
- Warning about "Updates (Specifically 5.6.2.0)" - is it still valid?
- 4k Firestick Accessibility Commands Solutions not Works HOT 1
- NullPointerException in AccServ.onAccessibilityEvent when pressing home button
- Bricked my FireHD10
- Can't get firestick to stop beeping/chirping in background
- The open buttom is dimend
- Launcher hijack stops working
- [NEW FEATURE] Version information
- [QUESTION] clarify maintenance
- [NEW FEATURE] Release with modified app ID - Fix Amazons ID blokcking
- [NEW FEATURE] Release on F-Droid
- Not being able to use launcher hijack with non-launchers
- Home screen opens after run 'adb shell uiautomator dump' command.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from launcherhijack.