summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/cyanogenmod/trebuchet/Launcher.java20
-rw-r--r--src/com/cyanogenmod/trebuchet/LauncherModel.java2
-rw-r--r--src/com/cyanogenmod/trebuchet/ShortcutInfo.java1
-rw-r--r--src/com/cyanogenmod/trebuchet/Workspace.java5
4 files changed, 17 insertions, 11 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java
index dfd27048a..8b8eb3241 100644
--- a/src/com/cyanogenmod/trebuchet/Launcher.java
+++ b/src/com/cyanogenmod/trebuchet/Launcher.java
@@ -338,7 +338,10 @@ public final class Launcher extends Activity
private boolean mFullscreenMode;
private boolean mWallpaperVisible;
- private ImageButton mDialogIcon;
+
+ // Shortcut edit dialog
+ private ImageView mDialogIcon;
+ private String mSelectedDialogId;
private Runnable mBuildLayersRunnable = new Runnable() {
public void run() {
@@ -688,11 +691,9 @@ public final class Launcher extends Activity
if (resultCode == RESULT_OK) {
if (data == null) {
// Get/Set default icon
- String id = (String) mDialogIcon.getTag();
final PackageManager manager = getPackageManager();
-
final Cursor c = getContentResolver().query(LauncherSettings.Favorites.CONTENT_URI,
- null, LauncherSettings.Favorites._ID + "=?", new String[]{id}, null);
+ null, LauncherSettings.Favorites._ID + "=?", new String[]{mSelectedDialogId}, null);
if (c != null && c.getCount() > 0) {
c.moveToFirst();
final int itemTypeIndex = c.getColumnIndexOrThrow(
@@ -1145,6 +1146,7 @@ public final class Launcher extends Activity
* @param info The shortcut to be edited
*/
void updateShortcut(final ShortcutInfo info) {
+ mSelectedDialogId = String.valueOf(info.id);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View layout = mInflater.inflate(R.layout.dialog_edit, null);
mDialogIcon = (ImageButton) layout.findViewById(R.id.dialog_edit_icon);
@@ -1153,32 +1155,28 @@ public final class Launcher extends Activity
mDialogIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- mDialogIcon.setTag(String.valueOf(info.id));
IconPackHelper.pickIconPack(Launcher.this, true);
}
});
final EditText title = (EditText) layout.findViewById(R.id.dialog_edit_text);
- title.setText(info.title);
+ title.append(info.title);
builder.setView(layout)
.setTitle(info.title)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
if (!info.title.equals(title.getText())) {
- info.setTitle(title.getText());
+ info.setTitle(title.getText().toString());
}
+ info.customIconResource = (String) mDialogIcon.getTag();
if (mDialogIcon.getTag() != null) {
- info.customIconResource = (String) mDialogIcon.getTag();
Drawable d = mModel.getDrawableForCustomIcon(Launcher.this, info.customIconResource);
if (d != null) {
info.setIcon(Utilities.createIconBitmap(d, Launcher.this));
}
} else {
- info.customIconResource = null;
info.setIcon(((BitmapDrawable)mDialogIcon.getDrawable()).getBitmap());
}
-
- LauncherModel.updateItemInDatabase(Launcher.this, info);
}
})
.setNegativeButton(android.R.string.cancel, null);
diff --git a/src/com/cyanogenmod/trebuchet/LauncherModel.java b/src/com/cyanogenmod/trebuchet/LauncherModel.java
index 08efc6fa8..51fac6f7a 100644
--- a/src/com/cyanogenmod/trebuchet/LauncherModel.java
+++ b/src/com/cyanogenmod/trebuchet/LauncherModel.java
@@ -2321,6 +2321,7 @@ public class LauncherModel extends BroadcastReceiver {
}
Bitmap customIcon = getCustomIconFromCursor(c, context, customIconIndex);
if (customIcon != null) {
+ info.customIconResource = c.getString(customIconIndex);
icon = customIcon;
}
@@ -2461,6 +2462,7 @@ public class LauncherModel extends BroadcastReceiver {
}
Bitmap customIcon = getCustomIconFromCursor(c, context, customIconIndex);
if (customIcon != null) {
+ info.customIconResource = c.getString(customIconIndex);
icon = customIcon;
}
info.setIcon(icon);
diff --git a/src/com/cyanogenmod/trebuchet/ShortcutInfo.java b/src/com/cyanogenmod/trebuchet/ShortcutInfo.java
index 14fd0c0fa..54193bb25 100644
--- a/src/com/cyanogenmod/trebuchet/ShortcutInfo.java
+++ b/src/com/cyanogenmod/trebuchet/ShortcutInfo.java
@@ -92,6 +92,7 @@ class ShortcutInfo extends ItemInfo {
iconResource.packageName = info.iconResource.packageName;
iconResource.resourceName = info.iconResource.resourceName;
}
+ customIconResource = info.customIconResource;
mIcon = info.mIcon; // TODO: should make a copy here. maybe we don't need this ctor at all
customIcon = info.customIcon;
}
diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java
index c4318a768..4dd4523ff 100644
--- a/src/com/cyanogenmod/trebuchet/Workspace.java
+++ b/src/com/cyanogenmod/trebuchet/Workspace.java
@@ -46,6 +46,7 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.IBinder;
import android.os.Parcelable;
+import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.Log;
@@ -4541,6 +4542,10 @@ public class Workspace extends PagedView
}
for (ApplicationInfo app : apps) {
if (app.componentName.equals(name)) {
+ if (!TextUtils.isEmpty(info.customIconResource)
+ || !TextUtils.isEmpty(info.title)) {
+ continue;
+ }
BubbleTextView shortcut = (BubbleTextView) view;
info.updateIcon(mIconCache);
info.title = app.title.toString();