recom3 / api-hud-goggle

GNU General Public License v3.0
5 stars 1 forks source link

Recon Jet activation #6

Closed Romkabouter closed 3 months ago

Romkabouter commented 1 year ago
          > Further, the Uplink App is able to install new apps in the goggles. At this moment we have only one app to install into the goggles: Un-blocker App. This Un-blocker allows users with factory blocked Airwaves (maybe also Jet’s, but we have not tried) to avoid the cancel update screen, every time they power up.

I have purchases a new Recon Jet to test this and it does not work. The App installs, but on reboot the Jet still asks the user to activate Is there a possibility to put that code on a repo so I can try and get it to work? I will also try to find how this functionality is working in the Jet.

Originally posted by @Romkabouter in https://github.com/recom3/api-hud-goggle/issues/1#issuecomment-1440252710

recom3 commented 1 year ago

The idea will be to prepare an specific unblocker app for the Jet, because the normal unblocker, that is able to bypass activation screen in Snow2/Airwave, is not working in Jet.

Romkabouter commented 1 year ago

I have enabled adb by putting a file named PleaseEnableADB into ReconApps/Debug Just like it says here in de decompiled code

image image
recom3 commented 1 year ago

Well done! Try now again the Uplink Desktop so maybe we get more info. Sync at least two times, please. We have located maybe the point where to bypass the activation screen.

Romkabouter commented 1 year ago
Romkabouter commented 1 year ago

I have found the laucher is LockDown.apk When pulled and decompiled this is exactly the image I see:

image

I think when I change the launcher to the Dashwarning, it should be ok

Romkabouter commented 1 year ago

More reverse enginering.

Putting this as test.lxl into ReconApps\LispXML\Input will reboot the device

<?xml version="1.0" encoding="UTF-8"?>
<lispxml xmlns:io="com.reconinstruments.lispxml.module.io"
         xmlns:m="com.reconinstruments.lispxml.module.math"
         xmlns:s="com.reconinstruments.lispxml.module.settings"
         xmlns:a="com.reconinstruments.lispxml.module.android"
>
<a:reboot>
<nil></nil>
</a:reboot>
</lispxml>

I will continue and try if I can get the Jet to change the default laucher and remove the lockdown app via these files. The LispXmlService will react on an event, whenever a file is added or changed in the above path

Romkabouter commented 1 year ago

I do not know if you have decompiled the original Uplink App, but I think the Recon3Hub should not be needed. There must be some code in there to trigger an lxl file being send to the device to change some files or apps.

I could start other activities via adb am start and I recorded a video. But obviously pressing back lead to the activation screen again, since it is the default launcher. So I believe there must be a system that triggers code to change the default laucher and possibly remove the lockdown app.

recom3 commented 1 year ago

Hello, Good advances indeed! Yes, the LispXml is maybe other way to progress. The Snow2 is not supporting it, at least in older versions. The idea of using the Uplink Desktop for these tasks is so as to be easier for a wider range of people. Not everyone knows how to use ADB. We will continue trying with the unblocker. As you are trying with LispXml, we will try both approaches.

recom3 commented 1 year ago

Can you upload the LockDown.apk somewhere, so we can compare with the one we have from a non blocked glasses?

Romkabouter commented 1 year ago

Yes, share here https://romkabouter.stackstorage.com/s/lmwQDS1MpVZqp9eR under reconapps and a decompiled version under reconapps_decomp

Romkabouter commented 1 year ago

I can use the Jet like this

That starts a livestats screen, the backpress results in entering the main screen where you can choose an activity Obviously you have to redo this whenever you restart the jet, so not very usefull at the moment

recom3 commented 1 year ago

Yes, share here https://romkabouter.stackstorage.com/s/lmwQDS1MpVZqp9eR under reconapps and a decompiled version under reconapps_decomp

Many thx! Can you share too the AndroidManifest, so we can check it too.

recom3 commented 1 year ago

I can use the Jet like this

  • adb shell
  • am start -n com.reconinstruments.dashlivestats/.JetLiveStatsActivity
  • press back

That starts a livestats screen, the backpress results in entering the main screen where you can choose an activity Obviously you have to redo this whenever you restart the jet, so not very usefull at the moment

Good! What about trying to launch this activity maybe Dashlauncher_Redux?

Romkabouter commented 1 year ago

Many thx! Can you share too the AndroidManifest, so we can check it too.

It is in the decompile version :)

Romkabouter commented 1 year ago

Good! What about trying to launch this activity maybe Dashlauncher_Redux?

Yeah, I tried that. But then I just get a radiobutton control with the two available activities (cycling/running)

recom3 commented 1 year ago

Good! What about trying to launch this activity maybe Dashlauncher_Redux?

Yeah, I tried that. But then I just get a radiobutton control with the two available activities (cycling/running)

What about the ReconAppLauncher?

recom3 commented 1 year ago

Many thx! Can you share too the AndroidManifest, so we can check it too.

It is in the decompile version :)

My guess is that maybe other apk is launching the LockDown.apk

recom3 commented 1 year ago

Good! What about trying to launch this activity maybe Dashlauncher_Redux?

Yeah, I tried that. But then I just get a radiobutton control with the two available activities (cycling/running)

What about the ReconAppLauncher?

Try this one: ReconItemHost. I am 90% secure can be the Home App for Recon Jet.

Romkabouter commented 1 year ago

Try this one: ReconItemHost. I am 90% secure can be the Home App for Recon Jet.

Nope, I have tried almost all of them. Itemhost has no activity with the MAIN category so won't even start but I think you are right about the DashWarning launching another app. I will decompile the DashWarning from the Jet to see if there is a difference.

recom3 commented 1 year ago

Ok. Thx. Can you upload the ReconItemHost decompile + manifest to compare?

Romkabouter commented 1 year ago

Well, there we have it:

image

That is from my DashWarning on the Jet, I will upload it

Romkabouter commented 1 year ago

I have uploaded them into the jet folder on the share

Romkabouter commented 1 year ago

This is the onResume from the DashWarning on my Snow2

image
Romkabouter commented 1 year ago

Try this one: ReconItemHost. I am 90% secure can be the Home App for Recon Jet.

This works: am start -n com.reconinstruments.itemhost/.ItemHostActivity

That is also the main component from the DashWarning

image
recom3 commented 1 year ago

Great work! So what is the solution? Maybe launch the ItemHost from unblocker?

Romkabouter commented 1 year ago

That might be a good idea yes, but is the unblocker a launcher or something? Because it should start and do it's thing every time. I just tried to install my DashWarning from the Snow onto the Jet. The activation screen is gone and a "always be aware of your surroundings" message appears. So that is working, but then the jet is stuck at that screen so I reverted that.

recom3 commented 1 year ago

Yes, unblocker can work as launcher. I will prepare the packages and be back.

Romkabouter commented 1 year ago

But if you use it as a launcher, you will loose all functionality of the DashWarning. The method setEvent(int currentEvent) does a lot of stuff, including startup of several services

recom3 commented 1 year ago

But if you use it as a launcher, you will loose all functionality of the DashWarning. The method setEvent(int currentEvent) does a lot of stuff, including startup of several services

That's true maybe we have to launch all the stuff that is done by DashWarning

recom3 commented 1 year ago

I have pushed a new unblocker to the web site, that is able to launch the ItemHost. You can try it.

Romkabouter commented 1 year ago

Sorry, does not work. Install OK, but after reboot same activation screen

recom3 commented 1 year ago

Ok thx. I know this is going to be hard. Can you check in Logcat with filter Verbose and search expression 'Recom3Temperat', without quotes. Connect the glasses to PC and boot them to see the sequence. Paste the results please.

recom3 commented 1 year ago

Also check the version of recom3temperat in installer/installed_packages.xml Please

Romkabouter commented 1 year ago

I see you use: Intent intent2 = new Intent("com.reconinstruments.itemhost.CarouselItemActivity"); On my Jet, I think that should be Intent intent2 = new Intent("com.reconinstruments.itemhost. ItemHostActivity");

It is possible that I have an older version of ReconOS, that is hard to say. The decompiled DashWarning has some interesting differences between the DashWarning from my Snow2 and from my Jet. Both are uploaded in the share, so you can compare them yourself.

recom3 commented 1 year ago

Ok I will update it with com.reconinstruments.itemhost.ItemHostActivity

recom3 commented 1 year ago

Uploaded! Sorry for the error

recom3 commented 1 year ago

I think maybe the correct one could be CarouselItemHostActivity? From your decompile..

But in your manifest: `

    <activity android:theme="@style/AppTheme" android:name="com.reconinstruments.itemhost.ChooseActivityActivity" android:launchMode="singleInstance">
        <intent-filter>
            <action android:name="com.reconinstruments.itemhost.chooseActivity" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>`

Is com.reconinstruments.itemhost.CarouselItemActivity, right?

recom3 commented 1 year ago

In any case the current uploaded version is with intent2 = new Intent("com.reconinstruments.itemhost.ItemHostActivity"); Maybe we have to close the Lockdown before launching the ItemHost or Carousel. Provide some feed-back when you can. Thx.

Romkabouter commented 1 year ago

Is com.reconinstruments.itemhost.CarouselItemActivity, right?

No, that is the manifest from the Snow2, the manifest of the decompiled code of the Jet looks like this:

image

Also, this works on my Jet: am start -n com.reconinstruments.itemhost/.ItemHostActivity But this does not: am start -n com.reconinstruments.itemhost/. CarouselItemActivity

This might not be the case for other Jets however, I might have an older version?

Romkabouter commented 1 year ago

Provide some feed-back when you can. Thx.

After install and reboot I still see the activation screen, but after a couple a seconds this disappears and then the ItemHost pops up and I can choose the activities and all the rest. So great progress, but I'd like to see the activation screen removed as well, I do not know if that is possible.

recom3 commented 1 year ago

Yes! Very good news. I think removing the activation screen is also possible. We will work in that direction. I read the thread you posted in XDA developers and there were some people stuck there, I think this progress will make them happy. Thx very much for your help!

Romkabouter commented 1 year ago

Yes, I will post a link to this page over there as well :)

Mark-1313 commented 6 months ago

Hi, I have a Recon Jet but unfortunately it has not been activated yet so all I can see is the activation screen. Has a solution to this problem has been found to get it to work? Thanks

recom3 commented 5 months ago

Hello, Yes, of course. Just download the PC Uplink Desktop program from private area of recom3.com and connect the glasses to your PC. An un blocker app will be installed in the glasses after syncing. Just comment if it works or not, for further assistance.

Mark-1313 commented 5 months ago

Hi, do I have to pay for subscription first to get to a private area of recom3.com?

recom3 commented 5 months ago

Hi, do I have to pay for subscription first to get to a private area of recom3.com?

Yup sorry. We offer lifetime support and we need to engage people, because bringing this to life is a huge effort indeed.

cichyok commented 4 months ago

@recom3 If i have 2 pairs of Snow 2 goggles do i have to pay for subscription twice from two different accounts? Is your app developed that much to install GoPro app on goggles to see for example recording view? Is there a possibility to download maps to my favourite ski resorts? Best regards

recom3 commented 4 months ago

@cichyok many thanks for your questions. Our answers follow:

  1. You only need one subscription for as many devices you have.
  2. For the maps it depends on the version of Goggles software. For factory reset goggles we have to produce the maps for you (just request the resort). For upgraded goggles you can produce it by yourself using our Desktop App (downable from private area).
  3. GoPro still is not ready in market place of recom3 but will be available soon. When ready you can install it with Desktop App.
recom3 commented 4 months ago

Just for your information the versions of Snow 2 goggles are: 3.0 is the factory reset one 4.5 is the upgraded You can check the version in software settings.

TerryPanos commented 4 months ago

Can someone tell me in simple terms what I need to do to activate my recon jet sunglasses. I don’t use bitcoin is there another way.