--- com/miui/home/launcher/ScreenUtils.smali Fri Sep 13 13:52:53 2013
+++ com/miui/home/launcher/ScreenUtils.smali Tue Sep 17 03:01:24 2013
@@ -1656,75 +1656,80 @@
return-object v3
.end method
.method static isPackageStopped(Landroid/content/Context;Ljava/lang/String;)Z
- .registers 6
+ .registers 7
.parameter "context"
.parameter "packageName"
.prologue
- const/4 v1, 0x0
+ const/4 v1, 0x1
+
+ const/4 v2, 0x0
.line 98
:try_start_1
- invoke-virtual {v4}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
+ invoke-virtual {v5}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
- move-result-object v2
+ move-result-object v3
- const/16 v3, 0x2000
+ const/16 v4, 0x100
- invoke-virtual {v2, v5, v3}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+ invoke-virtual {v3, v6, v4}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
.line 99
.local v0, pi:Landroid/content/pm/PackageInfo;
- if-nez v0, :cond_e
+ if-eqz v0, :cond_x12
+
+ iget-object v3, v0, Landroid/content/pm/PackageInfo;->gids:[I
+
+ if-nez v3, :cond_x14
+
+ :cond_x12
+ move v1, v2
.line 105
.end local v0 #pi:Landroid/content/pm/PackageInfo;
- :cond_d
- :goto_d
+ :cond_x13
+ :goto_x13
return v1
.line 102
.restart local v0 #pi:Landroid/content/pm/PackageInfo;
- :cond_e
- iget-object v2, v0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
-
- iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
-
- const/high16 v3, 0x20
+ :cond_x14
+ iget-object v3, v0, Landroid/content/pm/PackageInfo;->gids:[I
- and-int/2addr v2, v3
+ array-length v3, v3
- if-nez v2, :cond_20
+ if-eqz v3, :cond_x22
- iget-object v2, v0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
+ iget-object v3, v0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
- iget v2, v2, Landroid/content/pm/ApplicationInfo;->flags:I
+ iget v3, v3, Landroid/content/pm/ApplicationInfo;->flags:I
:try_end_1b
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_1b} :catch_22
- const/high16 v3, 0x4
+ const/high16 v4, 0x20
- and-int/2addr v2, v3
+ and-int/2addr v3, v4
- if-eqz v2, :cond_d
+ if-nez v3, :cond_x13
- :cond_20
- const/4 v1, 0x1
+ :cond_x22
+ move v1, v2
- goto :goto_d
+ goto :goto_x13
.line 103
.end local v0 #pi:Landroid/content/pm/PackageInfo;
:catch_22
move-exception v2
- goto :goto_d
+ goto :goto_x13
.end method
.method static loadScreens(Landroid/database/sqlite/SQLiteDatabase;)Ljava/util/ArrayList;
.registers 11
.parameter "db"
@@ -2192,11 +2197,13 @@
.line 77
invoke-static {v12, v15}, Lcom/miui/home/launcher/ScreenUtils;->isPackageStopped(Landroid/content/Context;Ljava/lang/String;)Z
move-result v0
- if-nez v0, :cond_6
+ if-eqz v0, :cond_97
+
+ if-nez v16, :cond_6
.line 81
:cond_97
if-nez v16, :cond_6