Apparently bindFavorites() aims only to retrieve the favorite
application.
Since we don't have this file /system/etc/favorites.xml, we are not
obliged to manage it.

What I did is:
    - initialize mFavorites at the top and
    - fill it from favReader only if favReader != null.

of course at the step: mApplicationsStack.setFavorites(mFavorites);
  mFavorites is an empty list.
But this will prevent the crash in
ApplicationsStackLayout.stackApplications(List<ApplicationInfo>
applications, int childLeft, int childTop)
    applications (comes from mFavorites) is then not null.

private void bindFavorites(boolean isLaunching) {
 if (!isLaunching || mFavorites == null) {

             if (mFavorites == null) {
                 mFavorites = new LinkedList<ApplicationInfo>();
             } else {
                 mFavorites.clear();
             }

             FileReader favReader = null;
 // Environment.getRootDirectory() is a fancy way of saying
ANDROID_ROOT or "/system".
            final File favFile = new File(Environment.getRootDirectory
(), DEFAULT_FAVORITES_PATH);
            try {
                favReader = new FileReader(favFile);
            } catch (FileNotFoundException e) {
                Log.e(LOG_TAG, "Couldn't find or open favorites file "
+ favFile);
            }

            if (favReader != null) {
                    final Intent intent = new Intent
(Intent.ACTION_MAIN,
null);
                    final PackageManager packageManager =
getPackageManager();

                    try {
                      ...
                     } catch (XmlPullParserException e) {
                        Log.w(LOG_TAG, "Got exception parsing
favorites.",
e);
                    } catch (IOException e) {
                        Log.w(LOG_TAG, "Got exception parsing
favorites.",
e);
                    }
            }
        }

        mApplicationsStack.setFavorites(mFavorites);

}

This works fine for me.

I'd like to simulate the  /system/etc/favorites.xml
Anyone knows it format ?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to android-framework@googlegroups.com
To unsubscribe from this group, send email to 
android-framework+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to