diff --git a/sdk/src/java/org/cyanogenmod/internal/cmparts/CMPartsPreference.java b/sdk/src/java/org/cyanogenmod/internal/cmparts/CMPartsPreference.java index 24cda812..f1e95d3c 100644 --- a/sdk/src/java/org/cyanogenmod/internal/cmparts/CMPartsPreference.java +++ b/sdk/src/java/org/cyanogenmod/internal/cmparts/CMPartsPreference.java @@ -23,7 +23,6 @@ import android.util.AttributeSet; import cyanogenmod.preference.SelfRemovingPreference; -import static org.cyanogenmod.internal.cmparts.PartsList.ACTION_PART; import static org.cyanogenmod.internal.cmparts.PartsList.ACTION_PART_CHANGED; import static org.cyanogenmod.internal.cmparts.PartsList.EXTRA_PART; import static org.cyanogenmod.internal.cmparts.PartsList.EXTRA_PART_KEY; @@ -46,9 +45,7 @@ public class CMPartsPreference extends SelfRemovingPreference { setAvailable(false); } - Intent i = new Intent(ACTION_PART); - i.putExtra(EXTRA_PART_KEY, mPart.getName()); - setIntent(i); + setIntent(mPart.getIntentForActivity()); update(); } diff --git a/sdk/src/java/org/cyanogenmod/internal/cmparts/PartInfo.java b/sdk/src/java/org/cyanogenmod/internal/cmparts/PartInfo.java index 6f009e46..76c71f22 100644 --- a/sdk/src/java/org/cyanogenmod/internal/cmparts/PartInfo.java +++ b/sdk/src/java/org/cyanogenmod/internal/cmparts/PartInfo.java @@ -15,6 +15,8 @@ */ package org.cyanogenmod.internal.cmparts; +import android.content.ComponentName; +import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; @@ -127,6 +129,18 @@ public class PartInfo implements Parcelable { parcelInfo.complete(); } + public String getAction() { + return PartsList.PARTS_ACTION_PREFIX + "." + mName; + } + + public Intent getIntentForActivity() { + Intent i = new Intent(getAction()); + ComponentName cn = new ComponentName(PartsList.CMPARTS_PACKAGE, + PartsList.CMPARTS_PACKAGE + ".PartsActivity"); + i.setComponent(cn); + return i; + } + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override diff --git a/sdk/src/java/org/cyanogenmod/internal/cmparts/PartsList.java b/sdk/src/java/org/cyanogenmod/internal/cmparts/PartsList.java index 62153143..bf468819 100644 --- a/sdk/src/java/org/cyanogenmod/internal/cmparts/PartsList.java +++ b/sdk/src/java/org/cyanogenmod/internal/cmparts/PartsList.java @@ -44,13 +44,13 @@ import static com.android.internal.R.styleable.Preference_title; public class PartsList { - public static final String ACTION_PART = "org.cyanogenmod.cmparts.PART"; public static final String ACTION_PART_CHANGED = "org.cyanogenmod.cmparts.PART_CHANGED"; public static final String EXTRA_PART = "part"; public static final String EXTRA_PART_KEY = "key"; public static final String CMPARTS_PACKAGE = "org.cyanogenmod.cmparts"; + public static final String PARTS_ACTION_PREFIX = CMPARTS_PACKAGE + ".parts"; private static final Map sParts = new ArrayMap();