Giter VIP home page Giter VIP logo

gdownload's Issues

FutureTask@35b614f rejected from java.util.concurrent.ThreadPoolExecutor@7a8b0dc

Fatal Exception: java.lang.RuntimeException: Unable to destroy activity {com.-------/com.xyz.ui.main.MainActivity}: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@35b614f rejected from java.util.concurrent.ThreadPoolExecutor@7a8b0dc[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5301)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5330)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:181)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:102)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2235)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:240)
at android.app.ActivityThread.main(ActivityThread.java:7829)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:512)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1027)


Caused by java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@35b614f rejected from java.util.concurrent.ThreadPoolExecutor@7a8b0dc[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2086)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:848)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1394)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
at com.tanodxyz.gdownload.executors.BackgroundExecutorImpl.execute(BackgroundExecutorImpl.kt:11)
at com.tanodxyz.gdownload.GDownload.runOnBackground(GDownload.kt:184)
at com.tanodxyz.gdownload.GDownload.onDestroy(GDownload.kt:145)
at androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:51)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:290)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:308)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68)
at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPreDestroyed(ReportFragment.java:224)
at android.app.Activity.dispatchActivityPreDestroyed(Activity.java:1436)
at android.app.Activity.performDestroy(Activity.java:8254)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1341)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5286)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5330)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:181)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:102)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2235)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:240)
at android.app.ActivityThread.main(ActivityThread.java:7829)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:512)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1027)

   **Crashlytics**
image

Do you plan to support to upload data?

Or Maybe preserve the interface to custom to support upload data.....

BTW, I don't know if support the okhttp3 as the underlying connection handler ...

Group downlaod

Group downlaod lifecycle destroy on activity destroy, is there a way to make it like service or worker?

[Improvement] Allow to Write Custom Connection Handlers.

Currently we are using URLConnection from java.net and this should be removed and more abstract approach should be taken while making connection in RemoteConnection class.

///todos

  1. remove var connection: URLConnection this field from RemoteConnection
  2. use a common interface instead.
  3. make RemoteConnection open to inheritance.

bug in network

Exception android.net.ConnectivityManager$TooManyRequestsException:
at android.net.ConnectivityManager.convertServiceException (ConnectivityManager.java:4034)
at android.net.ConnectivityManager.sendRequestForNetwork (ConnectivityManager.java:4226)
at android.net.ConnectivityManager.sendRequestForNetwork (ConnectivityManager.java:4233)
at android.net.ConnectivityManager.registerNetworkCallback (ConnectivityManager.java:4615)
at android.net.ConnectivityManager.registerNetworkCallback (ConnectivityManager.java:4585)
at com.tanodxyz.gdownload.NetworkInfoProvider. (NetworkInfoProvider.kt:51)
at android.view.View.performClick (View.java:7892)
at android.view.View.performClickInternal (View.java:7869)
at android.view.View.-$$Nest$mperformClickInternal
at android.view.View$PerformClick.run (View.java:30880)
at android.os.Handler.handleCallback (Handler.java:942)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loopOnce (Looper.java:226)
at android.os.Looper.loop (Looper.java:313)
at android.app.ActivityThread.main (ActivityThread.java:8757)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)

i see this on firebase crash analytics , can you please how to avoid it.

my code is:

DownloadManager.Builder(App.INCTANCE) .setNetworkInfoProvider(NetworkInfoProvider(App.INCTANCE)) .setDataReadWriteWorkersManager(DataReadWriteWorkersManagerImpl()) .setCallbacksHandler(runCallbacksOnMainThread = true) .setStorageHelper(DefaultFileStorageHelper(App.INCTANCE)) .setConnectionManager(ConnectionManagerImpl(URLConnectionFactory(), executor)) .setScheduledBackgroundExecutor(executor) .build()

get group download to cancel it

if you are downloading in fragment you may close it and come back again, so i need to get the group of downloading to cancel if the user want to

Issue while using group

While using group downloader, is there any function that "pauses" current download and "resumes" some of the downloads using it's id?

For example, while downloading large files, the user may want to pause some, just by resuming another. Let's say I have 5 downloads in list, the 2nd is downloading, but for the moment I want to prioritize the 3rd. Then I press resume on 3rd, that "pauses" (and not freezes) the 2nd, making the 3rd a priority.

   private fun createGroupDownloader(callback: (Group) -> Unit) {
        GDownload.freeGroup(context) {
            concurrentDownloadsRunningCapacity = 1 // maximum number of parallel downloads running...
            groupLoopTimeMilliSecs = 2_000
            maxConnectionPerDownload = 32 // max number of connection per download...
            progressCallbacksOnMainThread = true
            val group = getGroup()
            group?.let(callback)
        }
    }

Manually setting Thread count

Using KT, how to manually set the Threads amout to the downloader?

I am implementing in a case that it will be usefull.

RejectedExecutionException

hello,

i have the issue below even i initialized the library on mainactivity, this happens after 1 hour of being application in background, the application is single task

E  FATAL EXCEPTION: main
                                                                                                java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@6bac32c rejected from java.util.concurrent.ThreadPoolExecutor@504b1f5[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]
                                                                                                	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2086)
                                                                                                	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:848)
                                                                                                	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1394)
                                                                                                	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
                                                                                                	at com.tanodxyz.gdownload.executors.BackgroundExecutorImpl.execute(BackgroundExecutorImpl.kt:10)
                                                                                                	at com.tanodxyz.gdownload.GDownload.runOnBackground(GDownload.kt:184)
                                                                                                	at com.tanodxyz.gdownload.GDownload.getFreeDownloaderOrCreateNewOne(GDownload.kt:77)
                                                                                                	at com.tanodxyz.gdownload.GDownload.freeDownloader(GDownload.kt:415)
                                                                                                	at com.tanodxyz.gdownload.GDownload.freeDownloader$default(GDownload.kt:398)
                                                                                                	at org.goldenquran.freesoft.ui.booksLibrary.UtilsKt.downloadBookItem(Utils.kt:28)
                                                                                                	at org.goldenquran.freesoft.ui.booksLibrary.BooksListFragment$setBooks$1$1.invoke(BooksListFragment.kt:68)
                                                                                                	at org.goldenquran.freesoft.ui.booksLibrary.BooksListFragment$setBooks$1$1.invoke(BooksListFragment.kt:69)
                                                                                                	at org.goldenquran.freesoft.ui.booksLibrary.BooksListAdapter.onBindViewHolder$lambda$1(BooksListAdapter.kt:77)
                                                                                                	at org.goldenquran.freesoft.ui.booksLibrary.BooksListAdapter.$r8$lambda$_XjqJdT-IdMqBeMhCfmxZBPr_Ts(Unknown Source:0)
                                                                                                	at org.goldenquran.freesoft.ui.booksLibrary.BooksListAdapter$$ExternalSyntheticLambda0.onClick(Unknown Source:4)
                                                                                                	at android.view.View.performClick(View.java:7465)
                                                                                                	at android.view.View.performClickInternal(View.java:7438)
                                                                                                	at android.view.View.access$3600(View.java:813)
                                                                                                	at android.view.View$PerformClick.run(View.java:28511)
                                                                                                	at android.os.Handler.handleCallback(Handler.java:938)
                                                                                                	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                	at android.os.Looper.loop(Looper.java:268)
                                                                                                	at android.app.ActivityThread.main(ActivityThread.java:8019)
                                                                                                	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
                                                                                                	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.