Loading app/src/main/java/org/indin/blisslaunchero/framework/AdaptiveIconProvider.java +24 −15 Original line number Diff line number Diff line package org.indin.blisslaunchero.framework; import org.indin.blisslaunchero.framework.customviews.AdaptiveIconDrawableCompat; import org.indin.blisslaunchero.framework.utils.ResourceUtils; import org.xmlpull.v1.XmlPullParser; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.AssetManager; Loading @@ -13,6 +9,10 @@ import android.graphics.drawable.Drawable; import android.support.v4.content.res.ResourcesCompat; import android.util.Log; import org.indin.blisslaunchero.framework.customviews.AdaptiveIconDrawableCompat; import org.indin.blisslaunchero.framework.utils.ResourceUtils; import org.xmlpull.v1.XmlPullParser; /** * Created by falcon on 19/4/18. */ Loading Loading @@ -43,7 +43,7 @@ public class AdaptiveIconProvider { XmlResourceParser manifestParser; String iconName = null; int iconId; int iconId = 0; try { manifestParser = assetManager.openXmlResourceParser("AndroidManifest.xml"); int eventType; Loading @@ -52,18 +52,20 @@ public class AdaptiveIconProvider { while ((eventType = manifestParser.nextToken()) != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG && manifestParser.getName().equals( matcher)) { iconId = manifestParser.getAttributeResourceValue( ANDROID_SCHEMA, "icon", 0); for (int i = 0; i < manifestParser.getAttributeCount(); i++) { if (manifestParser.getAttributeName(i).equalsIgnoreCase("icon")) { iconId = Integer.parseInt( manifestParser.getAttributeValue(i).substring(1)); break; } } if (iconId != 0) { iconName = resources.getResourceName(iconId); if (iconName.contains("/")) { iconName = iconName.split("/")[1]; } break; } if (iconId == 0) { } else { matcher = "activity"; } } Loading @@ -73,15 +75,21 @@ public class AdaptiveIconProvider { } XmlResourceParser parser = null; if (iconId != 0) { parser = resources.getXml(iconId); } for (int dir = 0; dir < IC_DIRS.length && parser == null; dir++) { for (int config = 0; config < IC_CONFIGS.length && parser == null; config++) { for (String name : iconName != null && !iconName.equals("ic_launcher") ? new String[]{iconName, "ic_launcher"} : new String[]{"ic_launcher"}) { try { parser = assetManager.openXmlResourceParser( "res/" + IC_DIRS[dir] + IC_CONFIGS[config] + "/" + name + ".xml"); String path = "res/" + IC_DIRS[dir] + IC_CONFIGS[config] + "/" + name + ".xml"; Log.i(TAG, "path: " + path); parser = assetManager.openXmlResourceParser(path); } catch (Exception e) { e.printStackTrace(); continue; } Loading @@ -96,7 +104,8 @@ public class AdaptiveIconProvider { if (parser != null) { int event; while ((event = parser.getEventType()) != XmlPullParser.END_DOCUMENT) { Log.i(TAG, packageName + ":parserName: " + parser.getName()+" "+parser.getAttributeCount()); Log.i(TAG, packageName + ":parserName: " + parser.getName() + " " + parser.getAttributeCount()); if (event == XmlPullParser.START_TAG) { switch (parser.getName()) { case "background": Loading app/src/main/java/org/indin/blisslaunchero/framework/IconsHandler.java +1 −0 Original line number Diff line number Diff line Loading @@ -182,6 +182,7 @@ public class IconsHandler { systemIcon = new AdaptiveIconProvider().load(ctx, componentName.getPackageName()); if(systemIcon != null){ Log.i(TAG, "getDrawableIconForPackage: herrrre"); cacheStoreDrawable(componentName.toString(), systemIcon); return systemIcon; } Loading app/src/main/java/org/indin/blisslaunchero/framework/broadcast/PackageAddedRemovedHandler.java +5 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,9 @@ public class PackageAddedRemovedHandler extends BroadcastReceiver { if (launchIntent == null) {//for some plugin app return; } BlissLauncher.getApplication(ctx).resetIconsHandler(); AppAddEvent appAddEvent = new AppAddEvent(); appAddEvent.packageName = packageName; EventBus.getDefault().post(appAddEvent); Loading @@ -43,6 +46,8 @@ public class PackageAddedRemovedHandler extends BroadcastReceiver { launchIntent.getComponent(), user); } BlissLauncher.getApplication(ctx).resetIconsHandler(); AppChangeEvent appChangeEvent = new AppChangeEvent(); appChangeEvent.packageName = packageName; EventBus.getDefault().post(appChangeEvent); Loading @@ -56,8 +61,6 @@ public class PackageAddedRemovedHandler extends BroadcastReceiver { EventBus.getDefault().post(appRemoveEvent); } BlissLauncher.getApplication(ctx).resetIconsHandler(); // Reload application list final AppProvider provider = BlissLauncher.getApplication(ctx).getAppProvider(); if (provider != null) { Loading app/src/main/java/org/indin/blisslaunchero/framework/utils/AppUtils.java +0 −1 Original line number Diff line number Diff line Loading @@ -84,7 +84,6 @@ public class AppUtils { Drawable appIcon = iconsHandler.getDrawableIconForPackage( activityInfo.getComponentName(), user); Log.i(TAG, "loadAll: here"); boolean isSystemApp = false; if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { Loading Loading
app/src/main/java/org/indin/blisslaunchero/framework/AdaptiveIconProvider.java +24 −15 Original line number Diff line number Diff line package org.indin.blisslaunchero.framework; import org.indin.blisslaunchero.framework.customviews.AdaptiveIconDrawableCompat; import org.indin.blisslaunchero.framework.utils.ResourceUtils; import org.xmlpull.v1.XmlPullParser; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.AssetManager; Loading @@ -13,6 +9,10 @@ import android.graphics.drawable.Drawable; import android.support.v4.content.res.ResourcesCompat; import android.util.Log; import org.indin.blisslaunchero.framework.customviews.AdaptiveIconDrawableCompat; import org.indin.blisslaunchero.framework.utils.ResourceUtils; import org.xmlpull.v1.XmlPullParser; /** * Created by falcon on 19/4/18. */ Loading Loading @@ -43,7 +43,7 @@ public class AdaptiveIconProvider { XmlResourceParser manifestParser; String iconName = null; int iconId; int iconId = 0; try { manifestParser = assetManager.openXmlResourceParser("AndroidManifest.xml"); int eventType; Loading @@ -52,18 +52,20 @@ public class AdaptiveIconProvider { while ((eventType = manifestParser.nextToken()) != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG && manifestParser.getName().equals( matcher)) { iconId = manifestParser.getAttributeResourceValue( ANDROID_SCHEMA, "icon", 0); for (int i = 0; i < manifestParser.getAttributeCount(); i++) { if (manifestParser.getAttributeName(i).equalsIgnoreCase("icon")) { iconId = Integer.parseInt( manifestParser.getAttributeValue(i).substring(1)); break; } } if (iconId != 0) { iconName = resources.getResourceName(iconId); if (iconName.contains("/")) { iconName = iconName.split("/")[1]; } break; } if (iconId == 0) { } else { matcher = "activity"; } } Loading @@ -73,15 +75,21 @@ public class AdaptiveIconProvider { } XmlResourceParser parser = null; if (iconId != 0) { parser = resources.getXml(iconId); } for (int dir = 0; dir < IC_DIRS.length && parser == null; dir++) { for (int config = 0; config < IC_CONFIGS.length && parser == null; config++) { for (String name : iconName != null && !iconName.equals("ic_launcher") ? new String[]{iconName, "ic_launcher"} : new String[]{"ic_launcher"}) { try { parser = assetManager.openXmlResourceParser( "res/" + IC_DIRS[dir] + IC_CONFIGS[config] + "/" + name + ".xml"); String path = "res/" + IC_DIRS[dir] + IC_CONFIGS[config] + "/" + name + ".xml"; Log.i(TAG, "path: " + path); parser = assetManager.openXmlResourceParser(path); } catch (Exception e) { e.printStackTrace(); continue; } Loading @@ -96,7 +104,8 @@ public class AdaptiveIconProvider { if (parser != null) { int event; while ((event = parser.getEventType()) != XmlPullParser.END_DOCUMENT) { Log.i(TAG, packageName + ":parserName: " + parser.getName()+" "+parser.getAttributeCount()); Log.i(TAG, packageName + ":parserName: " + parser.getName() + " " + parser.getAttributeCount()); if (event == XmlPullParser.START_TAG) { switch (parser.getName()) { case "background": Loading
app/src/main/java/org/indin/blisslaunchero/framework/IconsHandler.java +1 −0 Original line number Diff line number Diff line Loading @@ -182,6 +182,7 @@ public class IconsHandler { systemIcon = new AdaptiveIconProvider().load(ctx, componentName.getPackageName()); if(systemIcon != null){ Log.i(TAG, "getDrawableIconForPackage: herrrre"); cacheStoreDrawable(componentName.toString(), systemIcon); return systemIcon; } Loading
app/src/main/java/org/indin/blisslaunchero/framework/broadcast/PackageAddedRemovedHandler.java +5 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,9 @@ public class PackageAddedRemovedHandler extends BroadcastReceiver { if (launchIntent == null) {//for some plugin app return; } BlissLauncher.getApplication(ctx).resetIconsHandler(); AppAddEvent appAddEvent = new AppAddEvent(); appAddEvent.packageName = packageName; EventBus.getDefault().post(appAddEvent); Loading @@ -43,6 +46,8 @@ public class PackageAddedRemovedHandler extends BroadcastReceiver { launchIntent.getComponent(), user); } BlissLauncher.getApplication(ctx).resetIconsHandler(); AppChangeEvent appChangeEvent = new AppChangeEvent(); appChangeEvent.packageName = packageName; EventBus.getDefault().post(appChangeEvent); Loading @@ -56,8 +61,6 @@ public class PackageAddedRemovedHandler extends BroadcastReceiver { EventBus.getDefault().post(appRemoveEvent); } BlissLauncher.getApplication(ctx).resetIconsHandler(); // Reload application list final AppProvider provider = BlissLauncher.getApplication(ctx).getAppProvider(); if (provider != null) { Loading
app/src/main/java/org/indin/blisslaunchero/framework/utils/AppUtils.java +0 −1 Original line number Diff line number Diff line Loading @@ -84,7 +84,6 @@ public class AppUtils { Drawable appIcon = iconsHandler.getDrawableIconForPackage( activityInfo.getComponentName(), user); Log.i(TAG, "loadAll: here"); boolean isSystemApp = false; if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { Loading