Merge pull request #92 from jaassoon/master

add support for Huawei Launchers.
This commit is contained in:
Leo Lin 2016-06-25 20:27:37 +08:00 committed by GitHub
commit a09f15b396
3 changed files with 49 additions and 0 deletions

View File

@ -27,5 +27,11 @@
<!--for solid-->
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>
<!--for huawei-->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" />
</manifest>

View File

@ -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);
}

View File

@ -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<String> getSupportLaunchers() {
return Arrays.asList(
"com.huawei.android.launcher"
);
}
}