Merge branch 'eclair' into eclair-release

This commit is contained in:
The Android Automerger
2009-12-03 09:00:00 -08:00
6 changed files with 85 additions and 80 deletions
+1 -1
View File
@@ -46,7 +46,7 @@
<string name="title_select_shortcut" msgid="2858897527672831763">"Sélectionner un raccourci"</string>
<string name="title_select_live_folder" msgid="3753447798805166749">"Sélectionner le dossier"</string>
<string name="all_apps_button_label" msgid="3953036962111614813">"Toutes les applications"</string>
<string name="all_apps_home_button_label" msgid="1022222300329398558">"Page d\'accueil"</string>
<string name="all_apps_home_button_label" msgid="1022222300329398558">"Domicile"</string>
<string name="menu_add" msgid="3065046628354640854">"Ajouter"</string>
<string name="menu_wallpaper" msgid="5837429080911269832">"Fond d\'écran"</string>
<string name="menu_search" msgid="4826514464423239041">"Rechercher"</string>
+2 -4
View File
@@ -45,10 +45,8 @@
<string name="shortcut_duplicate" msgid="4757756326465060694">"「<xliff:g id="NAME">%s</xliff:g>」捷徑已經存在。"</string>
<string name="title_select_shortcut" msgid="2858897527672831763">"選取捷徑"</string>
<string name="title_select_live_folder" msgid="3753447798805166749">"選取資料夾"</string>
<!-- no translation found for all_apps_button_label (3953036962111614813) -->
<skip />
<!-- no translation found for all_apps_home_button_label (1022222300329398558) -->
<skip />
<string name="all_apps_button_label" msgid="3953036962111614813">"所有應用程式"</string>
<string name="all_apps_home_button_label" msgid="1022222300329398558">"主螢幕"</string>
<string name="menu_add" msgid="3065046628354640854">"新增"</string>
<string name="menu_wallpaper" msgid="5837429080911269832">"桌布"</string>
<string name="menu_search" msgid="4826514464423239041">"搜尋"</string>
+1 -1
View File
@@ -31,7 +31,7 @@
<!-- Button label on Wallpaper Gallery screen; user selects this button to set a specific wallpaper -->
<string name="wallpaper_instructions">Set wallpaper</string>
<!-- Option in "Select wallpaper from" dialog box -->
<string name="pick_wallpaper">Wallpaper gallery</string>
<string name="pick_wallpaper">Wallpapers</string>
<!-- Displayed when user selects a shortcut for an app that was uninstalled -->
<string name="activity_not_found">Application is not installed on your phone.</string>
<!-- List item for configuring the current wallpaper -->
+4
View File
@@ -1395,6 +1395,10 @@ public final class Launcher extends Activity
if (tag instanceof ApplicationInfo) {
// Open shortcut
final Intent intent = ((ApplicationInfo) tag).intent;
int[] pos = new int[2];
v.getLocationOnScreen(pos);
intent.setSourceBounds(
new Rect(pos[0], pos[1], pos[0]+v.getWidth(), pos[1]+v.getHeight()));
startActivitySafely(intent);
} else if (tag instanceof FolderInfo) {
handleFolderClick((FolderInfo) tag);
+77 -43
View File
@@ -58,7 +58,7 @@ public class LauncherProvider extends ContentProvider {
private static final String DATABASE_NAME = "launcher.db";
private static final int DATABASE_VERSION = 5;
private static final int DATABASE_VERSION = 6;
static final String AUTHORITY = "com.android.launcher2.settings";
@@ -66,7 +66,6 @@ public class LauncherProvider extends ContentProvider {
static final String EXTRA_BIND_TARGETS = "com.android.launcher2.settings.bindtargets";
static final String TABLE_FAVORITES = "favorites";
static final String TABLE_GESTURES = "gestures";
static final String PARAMETER_NOTIFY = "notify";
/**
@@ -226,17 +225,6 @@ public class LauncherProvider extends ContentProvider {
"displayMode INTEGER" +
");");
db.execSQL("CREATE TABLE gestures (" +
"_id INTEGER PRIMARY KEY," +
"title TEXT," +
"intent TEXT," +
"itemType INTEGER," +
"iconType INTEGER," +
"iconPackage TEXT," +
"iconResource TEXT," +
"icon BLOB" +
");");
// Database was just created, so wipe any previous widgets
if (mAppWidgetHost != null) {
mAppWidgetHost.deleteHost();
@@ -371,26 +359,7 @@ public class LauncherProvider extends ContentProvider {
}
if (version < 4) {
db.beginTransaction();
try {
db.execSQL("CREATE TABLE gestures (" +
"_id INTEGER PRIMARY KEY," +
"title TEXT," +
"intent TEXT," +
"itemType INTEGER," +
"iconType INTEGER," +
"iconPackage TEXT," +
"iconResource TEXT," +
"icon BLOB" +
");");
db.setTransactionSuccessful();
version = 4;
} catch (SQLException ex) {
// Old version remains, which means we wipe old data
Log.e(TAG, ex.getMessage(), ex);
} finally {
db.endTransaction();
}
version = 4;
}
if (version < 5) {
@@ -408,14 +377,86 @@ public class LauncherProvider extends ContentProvider {
}
}
if (version < 6) {
if (updateContactsShortcuts(db)) {
version = 6;
}
}
if (version != DATABASE_VERSION) {
Log.w(TAG, "Destroying all old data.");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_FAVORITES);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_GESTURES);
onCreate(db);
}
}
private boolean updateContactsShortcuts(SQLiteDatabase db) {
Cursor c = null;
final String selectWhere = buildOrWhereString(Favorites.ITEM_TYPE,
new int[] { Favorites.ITEM_TYPE_SHORTCUT });
db.beginTransaction();
try {
// Select and iterate through each matching widget
c = db.query(TABLE_FAVORITES, new String[] { Favorites._ID, Favorites.INTENT },
selectWhere, null, null, null, null);
if (LOGD) Log.d(TAG, "found upgrade cursor count=" + c.getCount());
final ContentValues values = new ContentValues();
final int idIndex = c.getColumnIndex(Favorites._ID);
final int intentIndex = c.getColumnIndex(Favorites.INTENT);
while (c != null && c.moveToNext()) {
long favoriteId = c.getLong(idIndex);
final String intentUri = c.getString(intentIndex);
if (intentUri != null) {
try {
Intent intent = Intent.parseUri(intentUri, 0);
android.util.Log.d("Home", intent.toString());
final Uri uri = intent.getData();
final String data = uri.toString();
if (Intent.ACTION_VIEW.equals(intent.getAction()) &&
(data.startsWith("content://contacts/people/") ||
data.startsWith("content://com.android.contacts/contacts/lookup/"))) {
intent = new Intent("com.android.contacts.action.QUICK_CONTACT");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
intent.setData(uri);
intent.putExtra("mode", 3);
intent.putExtra("exclude_mimes", (String[]) null);
values.clear();
values.put(LauncherSettings.Favorites.INTENT, intent.toUri(0));
String updateWhere = Favorites._ID + "=" + favoriteId;
db.update(TABLE_FAVORITES, values, updateWhere, null);
}
} catch (RuntimeException ex) {
Log.e(TAG, "Problem upgrading shortcut", ex);
} catch (URISyntaxException e) {
Log.e(TAG, "Problem upgrading shortcut", e);
}
}
}
db.setTransactionSuccessful();
} catch (SQLException ex) {
Log.w(TAG, "Problem while upgrading contacts", ex);
return false;
} finally {
db.endTransaction();
if (c != null) {
c.close();
}
}
return true;
}
/**
* Upgrade existing clock and photo frame widgets into their new widget
* equivalents. This method allocates appWidgetIds, and then hands off to
@@ -649,10 +690,6 @@ public class LauncherProvider extends ContentProvider {
}
private boolean addAppWidget(SQLiteDatabase db, ContentValues values, TypedArray a) {
final int[] bindSources = new int[] {
Favorites.ITEM_TYPE_APPWIDGET,
};
String packageName = a.getString(R.styleable.Favorite_packageName);
String className = a.getString(R.styleable.Favorite_className);
@@ -662,9 +699,6 @@ public class LauncherProvider extends ContentProvider {
ComponentName cn = new ComponentName(packageName, className);
final ArrayList<ComponentName> bindTargets = new ArrayList<ComponentName>();
bindTargets.add(cn);
boolean allocatedAppWidgets = false;
final AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(mContext);
@@ -694,7 +728,7 @@ public class LauncherProvider extends ContentProvider {
final int iconResId = a.getResourceId(R.styleable.Favorite_icon, 0);
final int titleResId = a.getResourceId(R.styleable.Favorite_title, 0);
Intent intent = null;
Intent intent;
String uri = null;
try {
uri = a.getString(R.styleable.Favorite_uri);
@@ -90,37 +90,6 @@ class LauncherSettings {
static final String ICON = "icon";
}
static final class Gestures implements BaseLauncherColumns {
/**
* The content:// style URL for this table
*/
static final Uri CONTENT_URI = Uri.parse("content://" +
LauncherProvider.AUTHORITY + "/" + LauncherProvider.TABLE_GESTURES +
"?" + LauncherProvider.PARAMETER_NOTIFY + "=true");
/**
* The content:// style URL for this table. When this Uri is used, no notification is
* sent if the content changes.
*/
static final Uri CONTENT_URI_NO_NOTIFICATION = Uri.parse("content://" +
LauncherProvider.AUTHORITY + "/" + LauncherProvider.TABLE_GESTURES +
"?" + LauncherProvider.PARAMETER_NOTIFY + "=false");
/**
* The content:// style URL for a given row, identified by its id.
*
* @param id The row id.
* @param notify True to send a notification is the content changes.
*
* @return The unique content URL for the specified row.
*/
static Uri getContentUri(long id, boolean notify) {
return Uri.parse("content://" + LauncherProvider.AUTHORITY +
"/" + LauncherProvider.TABLE_GESTURES + "/" + id + "?" +
LauncherProvider.PARAMETER_NOTIFY + "=" + notify);
}
}
/**
* Favorites. When changing these values, be sure to update
* {@link com.android.settings.LauncherAppWidgetBinder} as needed.