Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve dummy for MobStoreFile service #2215

Closed
wants to merge 3 commits into from

Conversation

DaVinci9196
Copy link
Contributor

@DaVinci9196 DaVinci9196 commented Mar 1, 2024

Handling exception information <MobStoreFile.API is not available>

@ale5000-git
Copy link
Member

ale5000-git commented Mar 1, 2024

Thanks,
there is no more the message about the missing API but unfortunately there is the java.io.IOException for the openFile method:

03-01 15:00:16.775 11864 11877 D MobStoreFileService: call method openFile, packageName:com.google.android.apps.fitness
03-01 15:00:16.785 11864 12132 D GmsDummySvc: bound by: GetServiceRequest{serviceId=MDI_SYNC, gmsVersion=240404000, packageName='com.google.android.apps.fitness', extras=Bundle[{}], account=Account {[email protected], type=com.google}}
03-01 15:00:17.131 12155 12209 W FitOneGoogle: MDI Profile Sync not available on device. Reverting to backup implementation.
03-01 15:00:17.131 12155 12209 W FitOneGoogle: com.google.android.libraries.onegoogle.owners.mdi.MdiNotAvailableException$DeveloperErrorException: java.io.IOException: Unable to open file
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ktq.call(PG:38)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ovn.call(PG:3)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owd.a(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oxh.run(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owe.f(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owf.q(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ove.g(PG:6)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ovd.run(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.n(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ovb.run(PG:7)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.n(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oui.run(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.n(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ovb.run(PG:7)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.n(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ovb.run(PG:7)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.n(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oui.run(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.o(PG:5)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owz.run(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.o(PG:5)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owz.run(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.o(PG:5)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owz.run(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owg.execute(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.g(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.j(PG:12)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oux.o(PG:5)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oyc.e(PG:2)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oxh.run(PG:8)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oye.run(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at owm.run(PG:3)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at isu.run(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at imf.run(PG:24)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at java.lang.Thread.run(Thread.java:920)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at itb.run(PG:5)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: Caused by: java.io.IOException: Unable to open file
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ihr.j(PG:11)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ihr.i(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ihr.c(PG:2)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at lmu.c(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at lnp.a(PG:20)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at kdt.b(PG:2)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at low.j(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at low.g(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at jqh.a(PG:59)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at noy.a(PG:17)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at noy.a(PG:24)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oyc.a(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at oxh.run(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	... 8 more
03-01 15:00:17.131 12155 12209 W FitOneGoogle: Caused by: java.util.concurrent.ExecutionException: hff: 10: unimplemented
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at iee.cB(PG:5)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at iee.A(PG:8)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at iho.call(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ihr.j(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	... 20 more
03-01 15:00:17.131 12155 12209 W FitOneGoogle: Caused by: hff: 10: unimplemented
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ivi.cM(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ivi.cP(PG:3)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ihw.b(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ihs.d(PG:10)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at dds.onTransact(PG:3)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.Binder.execTransactInternal(Binder.java:1184)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.Binder.execTransact(Binder.java:1143)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.BinderProxy.transactNative(Native Method)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.BinderProxy.transact(BinderProxy.java:571)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at ddr.c(PG:2)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at hby.a(PG:149)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at hgb.f(PG:1)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at hhw.u(PG:2)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at hhw.v(PG:4)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at hhw.f(PG:3)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at hhz.handleMessage(PG:101)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.Handler.dispatchMessage(Handler.java:102)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.Looper.loopOnce(Looper.java:201)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.Looper.loop(Looper.java:288)
03-01 15:00:17.131 12155 12209 W FitOneGoogle: 	at android.os.HandlerThread.run(HandlerThread.java:67)

@ale5000-git
Copy link
Member

ale5000-git commented Mar 3, 2024

From my logcat openFile seems to be used from various Google apps, so probably before merging this we will need a real implementation of openFile to improve the situation.

@DaVinci9196
Copy link
Contributor Author

From my logcat openFile seems to be used from various Google apps, so probably before merging this we will need a real implementation of openFile to improve the situation.

yes i am trying to implement it

@DaVinci9196
Copy link
Contributor Author

DaVinci9196 commented Mar 4, 2024

From my logcat openFile seems to be used from various Google apps, so probably before merging this we will need a real implementation of openFile to improve the situation.

yes i am trying to implement it

@ale5000-git I tried to return the url information generated based on the uri, but MG did not generate local files. Do you know anything about this?
image

@ale5000-git
Copy link
Member

Unfortunately I haven't found any info about this API over the internet.

From your logcat it seems that the app (Fitbit) is expecting microG Services to create a file (if it don't already exist) in microG's app data, open it and return a file descriptor (possibly in read/write mode) to allow the app (Fitbit) to write a files in microG's app data.
This is just my supposition because I don't really know.

@DaVinci9196
Copy link
Contributor Author

Unfortunately I haven't found any info about this API over the internet.

From your logcat it seems that the app (Fitbit) is expecting microG Services to create a file (if it don't already exist) in microG's app data, open it and return a file descriptor (possibly in read/write mode) to allow the app (Fitbit) to write a files in microG's app data. This is just my supposition because I don't really know.

Thanks Reply. This seems to be the user information pb file that GMS needs to download when logging in, but MG did not see a similar file when logging in. Now return an error code information to ensure that you can enter the application normally.

@mar-v-in mar-v-in added this to the 0.3.1 milestone Mar 21, 2024
Copy link
Member

@mar-v-in mar-v-in left a comment

Choose a reason for hiding this comment

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

The current code would allow any app running on the same device to read files using the permissions of microG, which means, it can access private files of microG (which may include credentials and other confidential data) as well as use microG's storage permission to access the storage.

@mar-v-in mar-v-in removed this from the 0.3.1 milestone Mar 23, 2024
@DaVinci9196 DaVinci9196 deleted the mobstore branch May 6, 2024 06:37
@DaVinci9196 DaVinci9196 restored the mobstore branch July 8, 2024 02:38
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.

3 participants