diff --git a/ShortcutBadger/src/main/AndroidManifest.xml b/ShortcutBadger/src/main/AndroidManifest.xml index 01481e1..b796946 100644 --- a/ShortcutBadger/src/main/AndroidManifest.xml +++ b/ShortcutBadger/src/main/AndroidManifest.xml @@ -27,5 +27,11 @@ + + + + + + diff --git a/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/ShortcutBadger.java b/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/ShortcutBadger.java index f664cce..8ff4471 100644 --- a/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/ShortcutBadger.java +++ b/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/ShortcutBadger.java @@ -32,6 +32,7 @@ public final class ShortcutBadger { BADGERS.add(SonyHomeBadger.class); BADGERS.add(XiaomiHomeBadger.class); BADGERS.add(AsusHomeLauncher.class); + BADGERS.add(HuaweiHomeBadger.class); // BADGERS.add(LGHomeBadger.class); // BADGERS.add(SamsungHomeBadger.class); } diff --git a/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/impl/HuaweiHomeBadger.java b/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/impl/HuaweiHomeBadger.java new file mode 100644 index 0000000..d99bb45 --- /dev/null +++ b/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/impl/HuaweiHomeBadger.java @@ -0,0 +1,42 @@ +package me.leolin.shortcutbadger.impl; + +import android.content.ComponentName; +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.util.Log; + +import java.util.Arrays; +import java.util.List; + +import me.leolin.shortcutbadger.Badger; +import me.leolin.shortcutbadger.ShortcutBadgeException; + +/** + * @author Jason Ling + */ +public class HuaweiHomeBadger implements Badger { + + private static final String LOG_TAG = HuaweiHomeBadger.class.getSimpleName(); + + @Override + public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { + String launcherClassName = componentName.getClassName(); + if (launcherClassName == null) { + Log.d(LOG_TAG, "Main activity is null"); + return; + } + Bundle localBundle = new Bundle(); + localBundle.putString("package", context.getPackageName()); + localBundle.putString("class", launcherClassName); + localBundle.putInt("badgenumber", badgeCount); + context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, localBundle); + } + + @Override + public List getSupportLaunchers() { + return Arrays.asList( + "com.huawei.android.launcher" + ); + } +}