diff --git a/app/src/main/java/org/fdroid/fdroid/net/DownloaderService.java b/app/src/main/java/org/fdroid/fdroid/net/DownloaderService.java index 152f881e4..f72ec99c5 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/DownloaderService.java +++ b/app/src/main/java/org/fdroid/fdroid/net/DownloaderService.java @@ -45,6 +45,8 @@ import org.fdroid.fdroid.FDroid; import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.R; import org.fdroid.fdroid.Utils; +import org.fdroid.fdroid.data.App; +import org.fdroid.fdroid.data.AppProvider; import org.fdroid.fdroid.data.SanitizedFile; import java.io.File; @@ -168,12 +170,29 @@ public class DownloaderService extends Service { return new NotificationCompat.Builder(this) .setAutoCancel(true) .setContentIntent(createAppDetailsIntent(this, 0, packageName)) - .setContentTitle(getString(R.string.downloading)) + .setContentTitle(getNotificationTitle(packageName)) .setSmallIcon(android.R.drawable.stat_sys_download) .setContentText(urlString) .setProgress(100, 0, true); } + /** + * If downloading an apk (i.e. packageName != null) then the title will indicate + * the name of the app which the apk belongs to. Otherwise, it will be a generic "Downloading..." + * message. + */ + private String getNotificationTitle(@Nullable String packageName) { + String title; + if (packageName != null) { + App app = AppProvider.Helper.findByPackageName( + getContentResolver(), packageName, new String[] { AppProvider.DataColumns.NAME }); + title = getString(R.string.downloading_apk, app.name); + } else { + title = getString(R.string.downloading); + } + return title; + } + public static PendingIntent createAppDetailsIntent(@NonNull Context context, int requestCode, @Nullable String packageName) { TaskStackBuilder stackBuilder; if (packageName != null) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 29a42b952..20d0988a3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -372,6 +372,7 @@ New: Provided by %1$s. Downloading… + Downloading %1$s Never Hourly