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"
+ );
+ }
+}