2014-09-22 3 views
0

ПЕРЦЕВ мне нужно немного помочь снова иконке запуска тематизации: рLauncher значок Тематизация

это метод, который изменяет значок в LauncherModel.java в ADWLauncher

static Drawable getIcon(PackageManager manager, Context context, ActivityInfo activityInfo) { 
     String themePackage=AlmostNexusSettingsHelper.getThemePackageName(context, Launcher.THEME_DEFAULT); 
     Drawable icon = null; 
     if(themePackage.equals(Launcher.THEME_DEFAULT)){ 
      icon = Utilities.createIconThumbnail(activityInfo.loadIcon(manager), context); 
     }else{ 
      // get from theme 
      Resources themeResources = null; 
      if(AlmostNexusSettingsHelper.getThemeIcons(context)){ 
       activityInfo.name=activityInfo.name.toLowerCase().replace(".", "_"); 
       try { 
        themeResources = manager.getResourcesForApplication(themePackage); 
       } catch (NameNotFoundException e) { 
        //e.printStackTrace(); 
       } 
       if(themeResources!=null){ 
        int resource_id = themeResources.getIdentifier(activityInfo.name, "drawable", themePackage); 
        if(resource_id!=0){ 
         icon=themeResources.getDrawable(resource_id); 
        } 

        // use IconShader 
        if(icon==null){ 
         if (compiledIconShaderName==null || 
          compiledIconShaderName.compareTo(themePackage)!=0){ 
          compiledIconShader = null; 
          resource_id = themeResources.getIdentifier("shader", "xml", themePackage); 
          if(resource_id!=0){ 
           XmlResourceParser xpp = themeResources.getXml(resource_id); 
           compiledIconShader = IconShader.parseXml(xpp); 
          } 
         } 

         if(compiledIconShader!=null){ 
          icon = Utilities.createIconThumbnail(activityInfo.loadIcon(manager), context); 
          try { 
           icon = IconShader.processIcon(icon, compiledIconShader); 
          } catch (Exception e) {} 
         } 
        } 
       } 
      } 

      if(icon==null){ 
       icon = Utilities.createIconThumbnail(activityInfo.loadIcon(manager), context); 
      }else{ 
       icon = Utilities.createIconThumbnail(icon, context); 
      } 
     } 
     return icon; 
    } 

но нет такого метода в LauncherModel, вместо этого он находится внутри IconCache (который не находится в ADWLauncher) (https://android.googlesource.com/platform/packages/apps/Launcher2/+/master/src/com/android/launcher2/IconCache.java) как я могу отредактировать iconcache.java, чтобы реализовать это?

ответ

0

Если вы хотите изменить значок запуска, вы должны проверить мой проект, который просто так. https://github.com/slightfoot/android-launcher-badges

+0

Thnx, я буду проверять его, но я пытаюсь добавить совместимость Тематизация пакет ADW в: р я добавил большинство из них, просто возникли проблемы с иконками: -/ –

+0

я имею в виду, может быть, я изгоняются, удалить система иконок, и делать это так, как это сделано в ADWLauncher, но последнее, что она повлияет на эффективность приложений –

Смежные вопросы