mozilla-mobile / fenix

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
https://github.com/mozilla-mobile/firefox-android
Mozilla Public License 2.0
6.47k stars 1.27k forks source link

[Bug] Attempting to Copy to Clipboard via Share Sheet caused crash #4911

Closed uniquePWD closed 5 years ago

uniquePWD commented 5 years ago

Steps to reproduce

  1. Open site
  2. Press Share
  3. Press Copy to Clipboard

Expected behavior

Site URL copies to clipboard

Actual behavior

Crash!

Device information

┆Issue is synchronized with this Jira Task

ekager commented 5 years ago

I can reproduce

2019-08-23 11:30:24.989 6082-6082/org.mozilla.fenix.debug E/AndroidRuntime: FATAL EXCEPTION: main Process: org.mozilla.fenix.debug, PID: 6082 java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.SEND typ=text/plain flg=0x10000001 cmp=com.google.android.apps.maps/com.google.android.apps.gmm.sharing.SendTextToClipboardActivity clip={text/plain T:https://en.m.wikipedia.org/wiki/Archbishop_of_Canterbury} (has extras) } from ProcessRecord{593123b 6082:org.mozilla.fenix.debug/u0a449} (pid=6082, uid=10449) not exported from uid 10091 at android.os.Parcel.createException(Parcel.java:2071) at android.os.Parcel.readException(Parcel.java:2039) at android.os.Parcel.readException(Parcel.java:1987) at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3851) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1705) at android.app.Activity.startActivityForResult(Activity.java:5192) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:675) at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234) at androidx.fragment.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:790) at androidx.fragment.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:932) at androidx.fragment.app.Fragment.startActivity(Fragment.java:1225) at androidx.fragment.app.Fragment.startActivity(Fragment.java:1213) at org.mozilla.fenix.share.ShareFragment$subscribeToActions$1.accept(ShareFragment.kt:125) at org.mozilla.fenix.share.ShareFragment$subscribeToActions$1.accept(ShareFragment.kt:30) at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) at com.uber.autodispose.HalfSerializer.onNext(HalfSerializer.java:121) at com.uber.autodispose.AutoDisposingObserverImpl.onNext(AutoDisposingObserverImpl.java:76) at io.reactivex.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:308) at io.reactivex.subjects.PublishSubject.onNext(PublishSubject.java:228) at io.reactivex.subjects.SerializedSubject.onNext(SerializedSubject.java:104) at org.mozilla.fenix.share.AppShareItemViewHolder$1.onClick(AppShareView.kt:105) at android.view.View.performClick(View.java:7140) at android.view.View.performClickInternal(View.java:7117) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27351) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1043) at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:760) at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:583) at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1288) at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:514)

ekager commented 5 years ago

This unfortunately looks like a dupe of https://github.com/mozilla-mobile/fenix/issues/3371 which means we probably can't do anything about this because external apps are providing that action. You can see in my log that cmp=com.google.android.apps.maps/com.google.android.apps.gmm.sharing.SendTextToClipboardActivity Google Maps is making that intent that crashes. If I uninstall Google Maps that action dissappears. Closing for #3371