Skip to content

Commit

Permalink
Better progress notifications
Browse files Browse the repository at this point in the history
  • Loading branch information
topjohnwu committed Dec 2, 2018
1 parent fc314cc commit ee2c801
Show file tree
Hide file tree
Showing 34 changed files with 126 additions and 107 deletions.
3 changes: 2 additions & 1 deletion app/src/full/java/com/topjohnwu/magisk/Const.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ public static class ID {
public static final int APK_UPDATE_NOTIFICATION_ID = 5;
public static final int DTBO_NOTIFICATION_ID = 7;
public static final int DOWNLOAD_PROGRESS_ID = 8;
public static final String NOTIFICATION_CHANNEL = "magisk_notification";
public static final String UPDATE_NOTIFICATION_CHANNEL = "update";
public static final String PROGRESS_NOTIFICATION_CHANNEL = "progress";
}

public static class Url {
Expand Down
10 changes: 2 additions & 8 deletions app/src/full/java/com/topjohnwu/magisk/SplashActivity.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.topjohnwu.magisk;

import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;

Expand All @@ -14,6 +11,7 @@
import com.topjohnwu.magisk.receivers.ShortcutReceiver;
import com.topjohnwu.magisk.utils.Download;
import com.topjohnwu.magisk.utils.LocaleManager;
import com.topjohnwu.magisk.utils.Notifications;
import com.topjohnwu.magisk.utils.RootUtils;
import com.topjohnwu.magisk.utils.Utils;
import com.topjohnwu.superuser.Shell;
Expand Down Expand Up @@ -51,11 +49,7 @@ protected void onCreate(Bundle savedInstanceState) {
LocaleManager.loadAvailableLocales();

// Create notification channel on Android O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(Const.ID.NOTIFICATION_CHANNEL,
getString(R.string.magisk_updates), NotificationManager.IMPORTANCE_DEFAULT);
getSystemService(NotificationManager.class).createNotificationChannel(channel);
}
Notifications.setup(this);

// Setup shortcuts
sendBroadcast(new Intent(this, Data.classMap.get(ShortcutReceiver.class)));
Expand Down
4 changes: 2 additions & 2 deletions app/src/full/java/com/topjohnwu/magisk/asyncs/PatchAPK.java
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ public static boolean patchPackageID(JarMap apk, String from, String to) {

public static void hideManager(Activity activity) {
ProgressDialog dialog = ProgressDialog.show(activity,
activity.getString(R.string.hide_manager_toast),
activity.getString(R.string.hide_manager_toast2));
activity.getString(R.string.hide_manager_title),
activity.getString(R.string.hide_manager_msg));
AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> {
boolean b = patchAndHide();
Data.mainHandler.post(() -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@ public void onProgress(long bytesDownloaded, long totalBytes) {
long cur = System.currentTimeMillis();
if (cur - prevTime >= 1000) {
prevTime = cur;
builder.setProgress((int) totalBytes, (int) bytesDownloaded, false);
builder.setContentText(bytesDownloaded * 100 / totalBytes + "%");
int progress = (int) (bytesDownloaded * 100 / totalBytes);
builder.setProgress(100, progress, false);
builder.setContentText(progress + "%");
update();
}
}

public NotificationCompat.Builder getBuilder() {
public NotificationCompat.Builder getNotification() {
return builder;
}

Expand All @@ -48,8 +49,9 @@ public void update() {
}

public void dlDone() {
builder.setProgress(0, 0, false);
builder.setContentText(Data.MM().getString(R.string.download_complete));
builder.setProgress(0, 0, false)
.setContentText(Data.MM().getString(R.string.download_complete))
.setSmallIcon(R.drawable.ic_check_circle);
update();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ public void onDownloadComplete(File apk, NotificationProgress progress) {
File patched = apk;
MagiskManager mm = Data.MM();
if (!mm.getPackageName().equals(Const.ORIG_PKG_NAME)) {
progress.getBuilder()
progress.getNotification()
.setProgress(0, 0, true)
.setContentTitle(mm.getString(R.string.hide_manager_toast))
.setContentTitle(mm.getString(R.string.hide_manager_title))
.setContentText("");
progress.update();
patched = new File(apk.getParent(), "patched.apk");
Expand Down
29 changes: 24 additions & 5 deletions app/src/full/java/com/topjohnwu/magisk/utils/Notifications.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package com.topjohnwu.magisk.utils;

import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;

import com.topjohnwu.magisk.Const;
import com.topjohnwu.magisk.Data;
Expand All @@ -17,6 +21,20 @@

public class Notifications {

public static void setup(Context c) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager mgr = c.getSystemService(NotificationManager.class);
mgr.deleteNotificationChannel("magisk_notification");
NotificationChannel channel =
new NotificationChannel(Const.ID.UPDATE_NOTIFICATION_CHANNEL,
c.getString(R.string.update_channel), NotificationManager.IMPORTANCE_DEFAULT);
mgr.createNotificationChannel(channel);
channel = new NotificationChannel(Const.ID.PROGRESS_NOTIFICATION_CHANNEL,
c.getString(R.string.progress_channel), NotificationManager.IMPORTANCE_LOW);
mgr.createNotificationChannel(channel);
}
}

public static void magiskUpdate() {
MagiskManager mm = Data.MM();

Expand All @@ -28,7 +46,7 @@ public static void magiskUpdate() {
PendingIntent pendingIntent = stackBuilder.getPendingIntent(Const.ID.MAGISK_UPDATE_NOTIFICATION_ID,
PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.NOTIFICATION_CHANNEL);
NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.UPDATE_NOTIFICATION_CHANNEL);
builder.setSmallIcon(R.drawable.ic_magisk_outline)
.setContentTitle(mm.getString(R.string.magisk_update_title))
.setContentText(mm.getString(R.string.magisk_update_available, Data.remoteMagiskVersionString))
Expand All @@ -51,7 +69,7 @@ public static void managerUpdate() {
PendingIntent pendingIntent = PendingIntent.getBroadcast(mm,
Const.ID.APK_UPDATE_NOTIFICATION_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.NOTIFICATION_CHANNEL);
NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.UPDATE_NOTIFICATION_CHANNEL);
builder.setSmallIcon(R.drawable.ic_magisk_outline)
.setContentTitle(mm.getString(R.string.manager_update_title))
.setContentText(mm.getString(R.string.manager_download_install))
Expand All @@ -70,7 +88,7 @@ public static void dtboPatched() {
PendingIntent pendingIntent = PendingIntent.getBroadcast(mm,
Const.ID.DTBO_NOTIFICATION_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.NOTIFICATION_CHANNEL);
NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.UPDATE_NOTIFICATION_CHANNEL);
builder.setSmallIcon(R.drawable.ic_magisk_outline)
.setContentTitle(mm.getString(R.string.dtbo_patched_title))
.setContentText(mm.getString(R.string.dtbo_patched_reboot))
Expand All @@ -83,8 +101,9 @@ public static void dtboPatched() {

public static NotificationCompat.Builder progress(String title) {
MagiskManager mm = Data.MM();
NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.NOTIFICATION_CHANNEL);
builder.setSmallIcon(R.drawable.ic_magisk_outline)
NotificationCompat.Builder builder = new NotificationCompat.Builder(mm, Const.ID.PROGRESS_NOTIFICATION_CHANNEL);
builder.setPriority(NotificationCompat.PRIORITY_LOW)
.setSmallIcon(android.R.drawable.stat_sys_download)
.setContentTitle(title)
.setProgress(0, 0, true);
return builder;
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -134,16 +134,16 @@
<string name="follow_twitter">تابعني على تويتر</string>
<string name="global_summary">تستخدم كافة جلسات الجذر مساحة الأسم ذات التركيب العالمي</string>
<string name="hide_manager_fail_toast">فشل إخفاء مدير Magisk …</string>
<string name="hide_manager_toast">إخفاء مدير Magisk…</string>
<string name="hide_manager_toast2">هذا قد يستغرق بعض الوقت…</string>
<string name="hide_manager_title">إخفاء مدير Magisk…</string>
<string name="hide_manager_msg">هذا قد يستغرق بعض الوقت…</string>
<string name="install_inactive_slot">التثبيت على فتحة غير نشطة (بعد OTA)</string>
<string name="install_inactive_slot_msg">"سيتم إجبار جهازك للتمهيد على الفتحة غير النشطة الحالية بعد إعادة التشغيل!
فقط استخدام هذا الخيار بعد الانتهاء من OTA.
استمرار؟"</string>
<string name="invalid_update_channel">قناة تحديث غير صالحة</string>
<string name="isolate_summary">سيكون لكل جلسة جذر مساحة الاسم الخاصة بها معزولة</string>
<string name="language">اللغة</string>
<string name="magisk_updates">تحديثات Magisk</string>
<string name="update_channel">تحديثات Magisk</string>
<string name="manager_download_install">اضغط للتنزيل والتثبيت</string>
<string name="manager_update_title">تحديث مدير Magisk الجديد متوفر!</string>
<string name="menuSaveLog">حفظ السجل</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@
<string name="manager_download_install">Докоснете за изтегляне и инсталиране.</string>
<string name="dtbo_patched_title">DTBO беше модифициран!</string>
<string name="dtbo_patched_reboot">Magisk Manager модифицира dtbo.img, моля да рестартирате устройството.</string>
<string name="magisk_updates">Актуализации на Magisk</string>
<string name="update_channel">Актуализации на Magisk</string>
<string name="flashing">Инсталиране</string>
<string name="hide_manager_toast">Скриване на Magisk Manager…</string>
<string name="hide_manager_toast2">Може да отнеме известно време.</string>
<string name="hide_manager_title">Скриване на Magisk Manager…</string>
<string name="hide_manager_msg">Може да отнеме известно време.</string>
<string name="hide_manager_fail_toast">Скриването на Magisk Manager бе неуспешно.</string>
<string name="open_link_failed_toast">Не бе намерено приложение за отваряне на линка.</string>
<string name="download_zip_only">Изтегляне само на архив</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-ca/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@
<string name="manager_download_install">Premi per a descarregar i instal·lar</string>
<string name="dtbo_patched_title">DTBO ha estat arranjat</string>
<string name="dtbo_patched_reboot">Magisk Manager ha arranjat dtbo.img, per favor reinicia el dispositiu</string>
<string name="magisk_updates">Actualització de Magisk</string>
<string name="update_channel">Actualització de Magisk</string>
<string name="flashing">Flashejat</string>
<string name="hide_manager_toast">Amagant Magisk Manager…</string>
<string name="hide_manager_toast2">Això pot tardar un temps…</string>
<string name="hide_manager_title">Amagant Magisk Manager…</string>
<string name="hide_manager_msg">Això pot tardar un temps…</string>
<string name="hide_manager_fail_toast">L’amagament de Magisk Manager ha fallat…</string>
<string name="open_link_failed_toast">No s’ha trobat cap aplicació per obrir l’enllaç…</string>
<string name="download_zip_only">Descarregar només l’arxiu ZIP</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@
<string name="manager_download_install">Herunterladen und installieren</string>
<string name="dtbo_patched_title">DTBO wurde gepatched!</string>
<string name="dtbo_patched_reboot">Magisk Manager hat dtbo.img gepatched, bitte neustarten</string>
<string name="magisk_updates">Magisk Update</string>
<string name="update_channel">Magisk Update</string>
<string name="flashing">Flashing</string>
<string name="hide_manager_toast">Verberge Magisk Manager…</string>
<string name="hide_manager_toast2">Das könnte einige Zeit dauern...</string>
<string name="hide_manager_title">Verberge Magisk Manager…</string>
<string name="hide_manager_msg">Das könnte einige Zeit dauern...</string>
<string name="hide_manager_fail_toast">Verbergen von Magisk Manager fehlgeschlagen…</string>
<string name="open_link_failed_toast">Es wurde keine Anwendung gefunden, um diesen Link zu öffnen...</string>
<string name="download_zip_only">Nur Zip-Datei herunterladen</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-el/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@
<string name="manager_download_install">Πιέστε για λήψη και εγκατάσταση</string>
<string name="dtbo_patched_title">Έγινε patch στο DTBO!</string>
<string name="dtbo_patched_reboot">Το Magisk Manager έκανε patch το dtbo.img, παρακαλώ κάντε επανεκκίνηση</string>
<string name="magisk_updates">Ενημερώσεις Magisk</string>
<string name="update_channel">Ενημερώσεις Magisk</string>
<string name="flashing">Γίνεται flash</string>
<string name="hide_manager_toast">Κρύβοντας το Magisk Manager…</string>
<string name="hide_manager_toast2">Αυτό μπορεί να πάρει λίγη ώρα…</string>
<string name="hide_manager_title">Κρύβοντας το Magisk Manager…</string>
<string name="hide_manager_msg">Αυτό μπορεί να πάρει λίγη ώρα…</string>
<string name="hide_manager_fail_toast">Η απόκρυψη του Magisk Manager απέτυχε…</string>
<string name="download_zip_only">Λήψη Zip Μόνο</string>
<string name="patch_boot_file">Εφαρμογή Patch στο Αρχείο Εικόνας Boot</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@
<string name="manager_download_install">Pulse para descargar e instalar</string>
<string name="dtbo_patched_title">DTBO fue parchado!</string>
<string name="dtbo_patched_reboot">Magisk Manager ha parcheado dtbo.img, por favor reinicia</string>
<string name="magisk_updates">Actualización de Magisk</string>
<string name="update_channel">Actualización de Magisk</string>
<string name="flashing">Flasheando</string>
<string name="hide_manager_toast">Ocultando Magisk Manager…</string>
<string name="hide_manager_toast2">Esto podría tomar un tiempo…</string>
<string name="hide_manager_title">Ocultando Magisk Manager…</string>
<string name="hide_manager_msg">Esto podría tomar un tiempo…</string>
<string name="hide_manager_fail_toast">La Ocultación de Magisk Manager ha fallado…</string>
<string name="open_link_failed_toast">No se encontró ninguna aplicación para abrir el enlace…</string>
<string name="download_zip_only">Descargar sólo el archivo ZIP</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-et/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@
<string name="manager_download_install">Vajuta allalaadimiseks ja installimiseks</string>
<string name="dtbo_patched_title">DTBO sai paigatud!</string>
<string name="dtbo_patched_reboot">Magisk Manager on paiganud dtbo.img, palun taaskäivita</string>
<string name="magisk_updates">Magisk\'i uuendused</string>
<string name="update_channel">Magisk\'i uuendused</string>
<string name="flashing">Välgutamine</string>
<string name="hide_manager_toast">Peidan Magisk Manager\'i…</string>
<string name="hide_manager_toast2">See võib aega võtta…</string>
<string name="hide_manager_title">Peidan Magisk Manager\'i…</string>
<string name="hide_manager_msg">See võib aega võtta…</string>
<string name="hide_manager_fail_toast">Magisk Manager\'i peitmine ebaõnnestus…</string>
<string name="download_zip_only">Laadi ainult ZIP alla</string>
<string name="patch_boot_file">Paika käivituspildi fail</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@
<string name="manager_download_install">Appuyer pour télécharger et installer.</string>
<string name="dtbo_patched_title">DTBO a été patché!</string>
<string name="dtbo_patched_reboot">Le Gestionnaire Magisk a vient de patcher dtbo.img, merci de redémarrer.</string>
<string name="magisk_updates">Mises à jours Magisk</string>
<string name="update_channel">Mises à jours Magisk</string>
<string name="flashing">Installation</string>
<string name="hide_manager_toast">Masquer le Gestionnaire Magisk…</string>
<string name="hide_manager_toast2">Cela pourrait prendre un certain temps.</string>
<string name="hide_manager_title">Masquer le Gestionnaire Magisk…</string>
<string name="hide_manager_msg">Cela pourrait prendre un certain temps.</string>
<string name="hide_manager_fail_toast">Masquage du Gestionnaire Magisk échoué.</string>
<string name="open_link_failed_toast">Aucune application trouvée pour ouvrir le lien.</string>
<string name="download_zip_only">Uniquement télécharger le zip</string>
Expand Down
4 changes: 2 additions & 2 deletions app/src/full/res/values-hr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@
<string name="zip_process_msg">Obrada zip datoteke …</string>
<string name="manager_update_title">Dostupno je novo ažuriranje Magisk Manager aplikacije!</string>
<string name="manager_download_install">Pritisnite za preuzimanje i instalaciju</string>
<string name="magisk_updates">Magisk ažuriranja</string>
<string name="update_channel">Magisk ažuriranja</string>
<string name="flashing">Apliciranje</string>
<string name="hide_manager_toast">Skrivanje Magisk Manager aplikacije…</string>
<string name="hide_manager_title">Skrivanje Magisk Manager aplikacije…</string>
<string name="hide_manager_fail_toast">Skrivanje Magisk Manager nije uspjelo</string>
<string name="download_zip_only">Preuzmi samo zip</string>
<string name="patch_boot_file">Zakrpa datoteke za podizanje sustava</string>
Expand Down
6 changes: 3 additions & 3 deletions app/src/full/res/values-in/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@
<string name="manager_download_install">Tekan untuk unduh dan pasang.</string>
<string name="dtbo_patched_title">DTBO telah ditambal!</string>
<string name="dtbo_patched_reboot">Magisk Manager telah menambal dtbo.img. Silahkan reboot.</string>
<string name="magisk_updates">Pembaruan Magisk</string>
<string name="update_channel">Pembaruan Magisk</string>
<string name="flashing">Flashing</string>
<string name="hide_manager_toast">Menyembunyikan Magisk Manager…</string>
<string name="hide_manager_toast2">Ini mungkin membutuhkan beberapa saat.</string>
<string name="hide_manager_title">Menyembunyikan Magisk Manager…</string>
<string name="hide_manager_msg">Ini mungkin membutuhkan beberapa saat.</string>
<string name="hide_manager_fail_toast">Kesalahan menyembunyikan Magisk Manager.</string>
<string name="open_link_failed_toast">Tidak ada aplikasi ditemukan untuk membuka tautan.</string>
<string name="download_zip_only">Unduh Zip Saja</string>
Expand Down
Loading

0 comments on commit ee2c801

Please sign in to comment.