diff --git a/frameworks/base/core/java/android/content/pm/PackageItemInfo.java b/frameworks/base/core/java/android/content/pm/PackageItemInfo.java
index 9db2622bd03..ef98db4399a 100755
--- a/frameworks/base/core/java/android/content/pm/PackageItemInfo.java
+++ b/frameworks/base/core/java/android/content/pm/PackageItemInfo.java
@@ -495,7 +495,10 @@ public class PackageItemInfo {
protected PackageItemInfo(Parcel source) {
name = source.readString8();
- packageName = source.readString8();
+ //syd
+ String originalPackageName = source.readString8();
+ packageName = adjustPackageName(originalPackageName);
+
labelRes = source.readInt();
nonLocalizedLabel
= TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
@@ -507,7 +510,16 @@ public class PackageItemInfo {
label = source.readString8();
isFake = source.readBoolean();
}
-
+
+ //syd
+ private String adjustPackageName(String originalPackageName) {
+ if(name != null && name.contains("com.android.launcher3") && originalPackageName.equals("com.android.launcher3")){
+ return SystemProperties.get("persist.launcher.name","com.android.launcher3");
+ } else {
+ return originalPackageName;
+ }
+ }
+
/**
* Get the ApplicationInfo for the application to which this item belongs,
* if available, otherwise returns null.