Status Update
Comments
lb...@gmail.com <lb...@gmail.com> #2
Hi, thanks for reporting this. For now this is expected as nested scrolling is only activated through gesture based scrolling, not animation based scrolling. We do have plans to explore animation based nested scrolling in the future, so I'll keep you posted if things change. Closing this ticket for now as this is WAI.
lb...@gmail.com <lb...@gmail.com> #3
Is there a ticket to follow?
lb...@gmail.com <lb...@gmail.com> #4
lb...@gmail.com <lb...@gmail.com> #5
lb...@gmail.com <lb...@gmail.com> #6
I second this, or at least the trackable issue for animation based nested scrolling
lb...@gmail.com <lb...@gmail.com> #7
nestedScrollConnection.onPreScroll(
Offset(0f, with(localDensity) {
val scrollDistance = -(scroll.value)
println("scroll distance: $scrollDistance")
scrollDistance.toPx()
}
),
NestedScrollSource.UserInput
)
It scrolls partially on the first time, and it scrolls completely on second time, so I had to call it twice.
lb...@gmail.com <lb...@gmail.com> #8
I've noticed it only on the app of ApkPure, as it seems to have restarted after it noticed it can't copy the files.
su...@google.com <su...@google.com>
su...@google.com <su...@google.com> #9
We have shared this with our product and engineering team and will update this issue with more information as it becomes available.
fl...@gmail.com <fl...@gmail.com> #11
ry...@gmail.com <ry...@gmail.com> #12
su...@google.com <su...@google.com> #13
Can you please provide the bugreport of the issue ? and sample apks or psuedocode to reproduce the issue ?
lb...@gmail.com <lb...@gmail.com> #14
About samples, I already provided sample APK files. Just follow the instructions. It's on the links.
I've attached them here too. Steps with them:
0. Run on a real device with Android 13.
1. Install "App Manager" (attached "App Manager.apk"), which can install various types of APK files, including those that have OBB files with them (inside "XAPK" files as on the next step). Grant it all the permissions it requests till you reach the main screen that shows a list of installed apps.
2. Put the "Sound Touch Lite.xapk" in the storage of the device, in the Downloads folder.
3. Using any file manager app (example is "Total Commander" but also the built-in file-manager app should be fine), open the XAPK file that you've put, and choose to open it via "App Manager" app.
4. Grant it the permission it needs to install, and notice that it fails, because it can't save the OBB file into the correct path.
5. Because of the failure, the newly installed app (Sound Touch lite) will fail to run properly, as it misses the OBB file.
About pseudocode , it's as such:
1. with a given Uri/file-path, install APK/s and also get package name of it. You can use PackageInstaller or even the legacy Intent for it. An example of such files can be found on the link I've provided. There are plenty of free apps (mainly games) that have OBB files.
2. Because on the way you got the permission, reach the proper OBB path for the newly installed app, and try to create a folder for it, and put there an OBB file for it.
lb...@gmail.com <lb...@gmail.com> #15
lb...@gmail.com <lb...@gmail.com> #16
Will now attach (restricted) a bug report of it too, and a video showing how to perform the test.
lb...@gmail.com <lb...@gmail.com> #17
Sadly for the example of "Sound Touch Lite", it crashes when I try to open it after everything seems fine. No idea what's wrong with Android opening old apps.
:(
You can try any of these instead:
ra...@google.com <ra...@google.com>
s....@gmail.com <s....@gmail.com> #18
ta...@gmail.com <ta...@gmail.com> #19
ja...@google.com <ja...@google.com> #20
Looking at bugreport-oriole-TQ1A.230205.002-2023-02-23-11-05-25.zip
, the app has the REQUEST_INSTALL_PACKAGES
appop allowed:
Uid u0a1047:
state=fgsvc
capability=---N
appWidgetVisible=false
READ_EXTERNAL_STORAGE: mode=ignore
WRITE_EXTERNAL_STORAGE: mode=ignore
LEGACY_STORAGE: mode=ignore
MANAGE_EXTERNAL_STORAGE: mode=allow
Package com.lb.app_manager:
SYSTEM_ALERT_WINDOW (default):
GET_USAGE_STATS (allow):
REQUEST_INSTALL_PACKAGES (allow):
START_FOREGROUND (allow):
MANAGE_EXTERNAL_STORAGE (default):
But the dumpsys says that the package doesn't declare the REQUEST_INSTALL_PACKAGES
permission:
Package [com.lb.app_manager] (a672a60):
userId=11047
pkg=Package{39597ae com.lb.app_manager}
codePath=/data/app/~~shewOHsYITY92I03KfHbog==/com.lb.app_manager-MprXcFa3PfUVowpl3nuFiw==
resourcePath=/data/app/~~shewOHsYITY92I03KfHbog==/com.lb.app_manager-MprXcFa3PfUVowpl3nuFiw==
legacyNativeLibraryDir=/data/app/~~shewOHsYITY92I03KfHbog==/com.lb.app_manager-MprXcFa3PfUVowpl3nuFiw==/lib
...
versionCode=502 minSdk=19 targetSdk=33
...
signatures=PackageSignatures{97cc94f version:2, signatures:[15d92662], past signatures:[]}
installPermissionsFixed=true
pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
declared permissions:
com.lb.app_manager.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: prot=signature, INSTALLED
install permissions:
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE: granted=true
com.google.android.c2dm.permission.RECEIVE: granted=true
android.permission.FOREGROUND_SERVICE: granted=true
android.permission.RECEIVE_BOOT_COMPLETED: granted=true
android.permission.INTERNET: granted=true
com.android.vending.BILLING: granted=true
com.lb.app_manager.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: granted=true
android.permission.USE_EXACT_ALARM: granted=true
android.permission.ACCESS_NETWORK_STATE: granted=true
android.permission.KILL_BACKGROUND_PROCESSES: granted=true
android.permission.REQUEST_DELETE_PACKAGES: granted=true
com.android.launcher.permission.INSTALL_SHORTCUT: granted=true
User 0: ceDataInode=179115 installed=true hidden=false suspended=false distractionFlags=0 stopped=false notLaunched=false enabled=0 instant=false virtual=false
installReason=0
gids=[3003]
runtime permissions:
android.permission.POST_NOTIFICATIONS: granted=true, flags=[ USER_SET|USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED]
android.permission.READ_EXTERNAL_STORAGE: granted=false, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED|RESTRICTION_INSTALLER_EXEMPT]
android.permission.WRITE_EXTERNAL_STORAGE: granted=false, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED|RESTRICTION_INSTALLER_EXEMPT]
Though I think it is in fact declared in the AndroidManifest.xml
:
$ aapt dump badging /usr/local/google/home/jaysullivan/Downloads/App\ Manager.apk
package: name='com.lb.app_manager' versionCode='502' versionName='6.02' platformBuildVersionName='13' platformBuildVersionCode='33' compileSdkVersion='33' compileSdkVersionCodename='13'
install-location:'internalOnly'
sdkVersion:'19'
targetSdkVersion:'33'
uses-permission: name='android.permission.REQUEST_DELETE_PACKAGES'
uses-permission: name='android.permission.REQUEST_INSTALL_PACKAGES'
uses-permission: name='com.android.launcher.permission.INSTALL_SHORTCUT'
uses-permission: name='com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE'
...
@sc...@google.com: do you know any reason why REQUEST_INSTALL_PACKAGES
wouldn't appear here?
pe...@gmail.com <pe...@gmail.com> #21
Was there any follow up on this? It still seems to be an issue.
Description
0. Read this comment, saying that any app that can install APK files - will be able to reach OBB folders of apps, so that it can copy OBB files into there:
1. Use an app that can install APK files, and also copy OBB files if needed. Example is the one attached next that I've made, from here:
2. After granting all permissions that it needs, go to some file manager app, and choose to install the XAPK file that I've attached here, which is a ZIP file of this app (no longer available on the Play Store) :
- What happened.
You can see that it can't reach the OBB folder, and indeed if I debug in code, I can see that creation of the folder fails, and also that calling "canWrite()" returns false for the folder.
- What you think the correct behavior should be.
Should allow the app to reach the OBB folder and copy files to there, as was promised and as it's the only way to do it.
- Is this a security related issue? Yes/No
No