Merge change 4378 into donut

* changes:
  Make the Quick Launch settings show localized application names.
This commit is contained in:
Android (Google) Code Review
2009-06-17 10:08:23 -07:00

View File

@@ -20,6 +20,8 @@ import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.database.Cursor; import android.database.Cursor;
import android.os.Bundle; import android.os.Bundle;
@@ -39,6 +41,8 @@ import android.widget.AdapterView;
import com.android.settings.R; import com.android.settings.R;
import java.net.URISyntaxException;
/** /**
* Settings activity for quick launch. * Settings activity for quick launch.
* <p> * <p>
@@ -300,7 +304,27 @@ public class QuickLaunchSettings extends PreferenceActivity implements
if (shortcut == 0) continue; if (shortcut == 0) continue;
ShortcutPreference pref = getOrCreatePreference(shortcut); ShortcutPreference pref = getOrCreatePreference(shortcut);
pref.setTitle(Bookmarks.getTitle(this, c)); CharSequence title = Bookmarks.getTitle(this, c);
/*
* The title retrieved from Bookmarks.getTitle() will be in
* the original boot locale, not the current locale.
* Try to look up a localized title from the PackageManager.
*/
int intentColumn = c.getColumnIndex(Bookmarks.INTENT);
String intentUri = c.getString(intentColumn);
PackageManager packageManager = getPackageManager();
try {
Intent intent = Intent.getIntent(intentUri);
ResolveInfo info = packageManager.resolveActivity(intent, 0);
if (info != null) {
title = info.loadLabel(packageManager);
}
} catch (URISyntaxException e) {
// Just use the non-localized title, then.
}
pref.setTitle(title);
pref.setSummary(getString(R.string.quick_launch_shortcut, pref.setSummary(getString(R.string.quick_launch_shortcut,
String.valueOf(shortcut))); String.valueOf(shortcut)));
pref.setHasBookmark(true); pref.setHasBookmark(true);