Пример #1
0
  private void loadThirdPartyResources() {
    ImPluginHelper helper = ImPluginHelper.getInstance(this);
    helper.loadAvailablePlugins();
    ArrayList<ImPlugin> pluginList = helper.getPluginObjects();
    ArrayList<ImPluginInfo> infoList = helper.getPluginsInfo();
    int N = pluginList.size();
    PackageManager pm = getPackageManager();
    for (int i = 0; i < N; i++) {
      ImPlugin plugin = pluginList.get(i);
      ImPluginInfo pluginInfo = infoList.get(i);

      try {
        Resources packageRes = pm.getResourcesForApplication(pluginInfo.mPackageName);

        Map<Integer, Integer> resMap = plugin.getResourceMap();
        int[] smileyIcons = plugin.getSmileyIconIds();

        BrandingResources res =
            new BrandingResources(packageRes, resMap, smileyIcons, mDefaultBrandingResources);
        mBrandingResources.put(pluginInfo.mProviderName, res);
      } catch (NameNotFoundException e) {
        Log.e(LOG_TAG, "Failed to load third party resources.", e);
      }
    }
  }