oasisfeng / island

Island for Android
https://play.google.com/store/apps/details?id=com.oasisfeng.island
Apache License 2.0
2.48k stars 193 forks source link

Can't select text inside island #468

Open UtkarshKunwar opened 7 months ago

UtkarshKunwar commented 7 months ago

Whenever I hold to select text, the apps crash and when I try to do it again, it gives me this error on MIUI14

java.lang.SecurityException: getPackagesForUid: UID 1110294 requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS or android.permission.INTERACT_ACROSS_PROFILES to access user 0.
    at android.os.Parcel.createExceptionOrNull(Parcel.java:3057)
    at android.os.Parcel.createException(Parcel.java:3041)
    at android.os.Parcel.readException(Parcel.java:3024)
    at android.os.Parcel.readException(Parcel.java:2966)
    at android.view.accessibility.IAccessibilityManager$Stub$Proxy.addAccessibilityInteractionConnection(IAccessibilityManager.java:947)
    at android.view.accessibility.AccessibilityManager.addAccessibilityInteractionConnection(AccessibilityManager.java:1529)
    at android.view.ViewRootImpl$AccessibilityInteractionConnectionManager.ensureConnection(ViewRootImpl.java:11387)
    at android.view.ViewRootImpl.setView(ViewRootImpl.java:1678)
    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:443)
    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:322)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:154)
    at android.widget.PopupWindow.invokePopup(PopupWindow.java:1580)
    at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1346)
    at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1312)
    at miuix.toolbar.internal.FloatingToolbar.show(FloatingToolbar.java:477)
    at miuix.toolbar.internal.FloatingToolbar.doShow(FloatingToolbar.java:542)
    at miuix.toolbar.internal.FloatingToolbar.show(FloatingToolbar.java:522)
    at miuix.toolbar.FloatingActionMode.updateToolbarVisibility(FloatingActionMode.java:445)
    at miuix.toolbar.FloatingActionMode.-$$Nest$mupdateToolbarVisibility(Unknown Source:0)
    at miuix.toolbar.FloatingActionMode$1.run(FloatingActionMode.java:74)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:222)
    at android.os.Looper.loop(Looper.java:314)
    at android.app.ActivityThread.main(ActivityThread.java:8530)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1010)
Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.pm.ComputerEngine.enforceCrossUserOrProfilePermission(ComputerEngine.java:2798)
    at com.android.server.pm.IPackageManagerBase.getPackagesForUid(IPackageManagerBase.java:650)
    at android.app.ApplicationPackageManager$3.recompute(ApplicationPackageManager.java:1120)
    at android.app.ApplicationPackageManager$3.recompute(ApplicationPackageManager.java:1114)
    at android.app.PropertyInvalidatedCache.query(PropertyInvalidatedCache.java:934)
sanghamithran commented 3 months ago

I'm facing the exact same issue, are you using Managed mainland?

BlastboomStrice commented 2 months ago

I have the same issue. It was fine on android 11/miui 12.5 (xiaomi.eu) Android 14/HyperOS and android 13/HyperOS (xiaomi.eu) have that bug. Device: Mi 10 (umi) I explain the issue here too: https://xiaomi.eu/community/threads/hyperos-1-0-stable-release.71170/post-726279

BlastboomStrice commented 2 months ago

I'm facing the exact same issue, are you using Managed mainland?

I'm not managing Mainland and still have the issue

sanghamithran commented 2 months ago

It must be a HyperOS specific issue, I ditched Xiaomi phones since they don't even support gesture navigation for third party launchers, no combined quick setting tiles etc,

I think the fix should come from Xiaomi as Island is simply utilising Work mode for Android

BlastboomStrice commented 2 months ago

@UtkarshKunwar @sanghamithran I FIXED IT! I had to disable the com.miuix.editor (the "textaction" app) in the work profile. It made the apps crash when the floating action bar came up with the copy/paste actions. Peace, finally...

UtkarshKunwar commented 2 months ago

@UtkarshKunwar @sanghamithran I FIXED IT! I had to disable the com.miuix.editor (the "textaction" app) in the work profile. It made the apps crash when the floating action bar came up with the copy/paste actions. Peace, finally...

Thanks a lot, @BlastboomStrice! It worked for me too. For more detailed step by step reenactment, here's what I did,

  1. Open the Island app and go to the Island tab.
  2. Search for the app "textaction".
  3. Select "Hidden System Components" to show it.
  4. Select it and click the lock 🔒 button to freeze it and disable it in the work profile.
  5. Open any app in the work profile and check if long pressing on text works.