MCPcopy Index your code
hub / github.com/SIARAY/DownloadManagerPlus

github.com/SIARAY/DownloadManagerPlus @1.4.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.4.2 ↗ · + Follow
247 symbols 771 edges 25 files 20 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DownloadManagerPlus

Using faster and easier than Android Download Manager

Screenshots

Screenshot

Getting started

Dependency
dependencies {
    implementation 'ir.siaray:downloadmanagerplus:1.4.1'
}

Usage

To start the download.
Downloader downloader = Downloader.getInstance(context)
 .setUrl(url)
 .setListener(listener)
 .setToken(token)
 .setAllowedOverRoaming(roamingAllowed)
 .setAllowedOverMetered(meteredAllowed) //Api 16 and higher
 .setVisibleInDownloadsUi(isVisible)
 .setDestinationDir(directory, fileName)
 .setNotificationTitle(notificationTitle)
 .setDescription(description)
 .setNotificationVisibility(visibility)
 .setAllowedNetworkTypes(networkTypes)
 .setKeptAllDownload(allDownloadKept);

downloader.start();
To view download status and progress that has already started.
downloader.showProgress();
To cancel a download.
downloader.cancel(token);
To pause a download.
downloader.pause();
or
Downloader.pause(context, token);
To resume a download.
downloader.resume();
or
Downloader.resume(context, token);
Detect download status.
downloader.getStatus(token);
Delete the downloaded file.
downloader.deleteFile(token, deleteListener);
Get download id.
Downloader.getDownloadId(context, token);
Get download plus token.

downloadId parameter is android download manager id

Downloader.getToken(context, downloadId);
Get download item.
Downloader.getDownloadItem(context, token);
Get downloads list.
Downloader.getDownloadsList(context);
Download Notification BroadcastReceiver.
class YourNotificationBroadcastReceiver extends NotificationBroadcastReceiver{
    @Override
    public void onCompleted(Context context, Intent intent, long downloadId) {
        super.onCompleted(context, intent, downloadId);
    }

    @Override
    public void onClicked(Context context, Intent intent, long[] downloadIdList) {
        super.onClicked(context, intent, downloadIdList);
    }

    @Override
    public void onFailed(Context context, Intent intent, long downloadId) {
        super.onFailed(context, intent, downloadId);
    }
}

To register YourBroadcastReceiver add to your app Manifest

<receiver android:name=".YourNotificationBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
        <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
    </intent-filter>
</receiver>

License

Copyright 2017 Siamak Rayeji

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Extension points exported contracts — how you extend this code

DownloadNotificationListener (Interface)
Created by SIARAY on 10/1/2017. [3 implementers]
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/interfaces/DownloadNotificationListener.java
OnItemClickListener (Interface)
(no doc) [1 implementers]
app/src/main/java/ir/siaray/downloadmanagerplussample/OnItemClickListener.java
ActionListener (Interface)
Created by Siamak on 17/02/2017. [2 implementers]
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/interfaces/ActionListener.java
DownloadListener (Interface)
Created by Siamak on 16/01/2017. [2 implementers]
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/interfaces/DownloadListener.java

Core symbols most depended-on inside this repo

i
called by 29
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/utils/Log.java
getToken
called by 28
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/classes/Downloader.java
readableFileSize
called by 26
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/utils/Utils.java
print
called by 21
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/utils/Log.java
getUri
called by 16
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/model/DownloadItem.java
setDownloadStatus
called by 15
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/model/DownloadItem.java
getPercent
called by 15
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/model/DownloadItem.java
setDownloadBackgroundColor
called by 14
app/src/main/java/ir/siaray/downloadmanagerplussample/SampleUtils.java

Shape

Method 221
Class 19
Interface 4
Enum 3

Languages

Java100%

Modules by API surface

downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/classes/Downloader.java50 symbols
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/model/DownloadItem.java31 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/DownloadListAdapter.java25 symbols
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/utils/Utils.java23 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/SampleUtils.java22 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/NormalActivity.java18 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/YourNotificationBroadcastReceiver.java8 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/FileItem.java8 symbols
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/interfaces/DownloadListener.java7 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/ListActivity.java7 symbols
app/src/main/java/ir/siaray/downloadmanagerplussample/MainActivity.java6 symbols
downloadmanagerplus/src/main/java/ir/siaray/downloadmanagerplus/receivers/NotificationBroadcastReceiver.java5 symbols

For agents

$ claude mcp add DownloadManagerPlus \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact