HenriDellal / emerald-dialer

Lightweight dialer with T9 search
GNU General Public License v3.0
91 stars 21 forks source link

Crash when fresh launch the app 1st time #74

Closed shuvashish76 closed 5 months ago

shuvashish76 commented 2 years ago

Steps to produce

  1. Download the app (in mycase its from F-droid)
  2. Click on open App crashed OR
  3. Go to system settings Clear app data
  4. Launch the app App crashed

Crash logs

FATAL EXCEPTION: AsyncTask #1
Process: ru.henridellal.dialer, PID: 30237
java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:353)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.CallLogProvider from ProcessRecord{bd30701 30237:ru.henridellal.dialer/u0a345} (pid=30237, uid=10345) requires android.permission.READ_CALL_LOG or android.permission.WRITE_CALL_LOG
    at android.os.Parcel.readException(Parcel.java:2013)
    at android.os.Parcel.readException(Parcel.java:1959)
    at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:4758)
    at android.app.ActivityThread.acquireProvider(ActivityThread.java:5860)
    at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2526)
    at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1783)
    at android.content.ContentResolver.query(ContentResolver.java:740)
    at android.content.ContentResolver.query(ContentResolver.java:705)
    at android.content.CursorLoader.loadInBackground(CursorLoader.java:64)
    at android.content.CursorLoader.loadInBackground(CursorLoader.java:54)
    at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:315)
    at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69)
    at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:64)
    at android.os.AsyncTask$2.call(AsyncTask.java:333)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    ... 3 more
FATAL EXCEPTION: AsyncTask #2
Process: ru.henridellal.dialer, PID: 30237
java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:353)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{bd30701 30237:ru.henridellal.dialer/u0a345} (pid=30237, uid=10345) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
    at android.os.Parcel.readException(Parcel.java:2013)
    at android.os.Parcel.readException(Parcel.java:1959)
    at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:4758)
    at android.app.ActivityThread.acquireProvider(ActivityThread.java:5860)
    at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2526)
    at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1783)
    at android.content.ContentResolver.query(ContentResolver.java:740)
    at android.content.ContentResolver.query(ContentResolver.java:705)
    at android.content.CursorLoader.loadInBackground(CursorLoader.java:64)
    at android.content.CursorLoader.loadInBackground(CursorLoader.java:54)
    at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:315)
    at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69)
    at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:64)
    at android.os.AsyncTask$2.call(AsyncTask.java:333)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    ... 3 more

Device info App version: 1.0.11 Android release version: 8.1.0 Device model: Lenovo TB-8704X

HenriDellal commented 2 years ago

Hello

Did you provide all required permissions to the dialer? From logs it seems like you didn't.

shuvashish76 commented 2 years ago

Before I give permissions it crash.

  1. Clear app data
  2. Launch app (it pop up permission request + app crash at the same time)

But after giving required permission app doesn't crash. Its just crash when you install/launch it 1st time

https://user-images.githubusercontent.com/48226312/131335484-84bffb23-e83a-46cd-b6c6-bda3891099e4.mp4

shuvashish76 commented 5 months ago

2.5yrs but thanks :)