diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 760ae9d..a08108c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -19,7 +19,6 @@ - @@ -78,6 +77,7 @@ + diff --git a/res/values/strings.xml b/res/values/strings.xml index 6754df3..10343ee 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1,4 +1,3 @@ - EMMMd Navigate home @@ -31,7 +30,7 @@ space Sym+ Menu+ - Search… + Search… Clear query Search query Search @@ -124,20 +123,4 @@ Tweaks" Open Browser "The network you're connecting to requires you to sign in through your browser first." Sign in Wi-Fi network - Alarms - bluetooth - Calendar - Email - File Manager - FM Radio - Gallery - music - Notes - Notifications - Recent Apps - Settings - Stopwatch - Timer - Voice Recorder - Clock - +AlarmsbluetoothCalendarEmailFile ManagerFM RadioGallerymusicNotesNotificationsRecent AppsSettingsStopwatchTimerVoice RecorderClock \ No newline at end of file diff --git a/res/xml/customize_apps.xml b/res/xml/customize_apps.xml index d1b8b8f..229eba5 100644 --- a/res/xml/customize_apps.xml +++ b/res/xml/customize_apps.xml @@ -6,7 +6,7 @@ - + diff --git a/smali/com/android/cts/example/appviewer/AppListActivity$1.smali b/smali/com/android/cts/example/appviewer/AppListActivity$1.smali new file mode 100644 index 0000000..76ac349 --- /dev/null +++ b/smali/com/android/cts/example/appviewer/AppListActivity$1.smali @@ -0,0 +1,85 @@ +.class Lcom/android/cts/example/appviewer/AppListActivity$1; +.super Ljava/lang/Object; +.source "AppListActivity.java" + +# interfaces +.implements Landroid/widget/AdapterView$OnItemClickListener; + + +# annotations +.annotation system Ldalvik/annotation/EnclosingMethod; + value = Lcom/android/cts/example/appviewer/AppListActivity;->onCreate(Landroid/os/Bundle;)V +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x0 + name = null +.end annotation + + +# instance fields +.field final synthetic this$0:Lcom/android/cts/example/appviewer/AppListActivity; + +.field final synthetic val$apps:Ljava/util/List; + + +# direct methods +.method constructor (Lcom/android/cts/example/appviewer/AppListActivity;Ljava/util/List;)V + .locals 0 + .param p1, "this$0" # Lcom/android/cts/example/appviewer/AppListActivity; + .annotation system Ldalvik/annotation/Signature; + value = { + "()V" + } + .end annotation + + .line 52 + iput-object p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$1;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + iput-object p2, p0, Lcom/android/cts/example/appviewer/AppListActivity$1;->val$apps:Ljava/util/List; + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + + +# virtual methods +.method public onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V + .locals 3 + .param p2, "view" # Landroid/view/View; + .param p3, "position" # I + .param p4, "id" # J + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Landroid/widget/AdapterView<", + "*>;", + "Landroid/view/View;", + "IJ)V" + } + .end annotation + + .line 55 + .local p1, "parent":Landroid/widget/AdapterView;, "Landroid/widget/AdapterView<*>;" + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$1;->val$apps:Ljava/util/List; + + invoke-interface {v0, p3}, Ljava/util/List;->get(I)Ljava/lang/Object; + + move-result-object v0 + + check-cast v0, Landroid/content/pm/ResolveInfo; + + .line 56 + .local v0, "app":Landroid/content/pm/ResolveInfo; + iget-object v1, p0, Lcom/android/cts/example/appviewer/AppListActivity$1;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + iget-object v2, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; + + iget-object v2, v2, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String; + + invoke-static {v1, v2}, Lcom/android/cts/example/appviewer/AppListActivity;->access$000(Lcom/android/cts/example/appviewer/AppListActivity;Ljava/lang/String;)V + + .line 57 + return-void +.end method diff --git a/smali/com/android/cts/example/appviewer/AppListActivity$2.smali b/smali/com/android/cts/example/appviewer/AppListActivity$2.smali new file mode 100644 index 0000000..938e8cb --- /dev/null +++ b/smali/com/android/cts/example/appviewer/AppListActivity$2.smali @@ -0,0 +1,102 @@ +.class Lcom/android/cts/example/appviewer/AppListActivity$2; +.super Ljava/lang/Object; +.source "AppListActivity.java" + +# interfaces +.implements Landroid/widget/AdapterView$OnItemSelectedListener; + + +# annotations +.annotation system Ldalvik/annotation/EnclosingMethod; + value = Lcom/android/cts/example/appviewer/AppListActivity;->onCreate(Landroid/os/Bundle;)V +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x0 + name = null +.end annotation + + +# instance fields +.field final synthetic this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + +# direct methods +.method constructor (Lcom/android/cts/example/appviewer/AppListActivity;)V + .locals 0 + .param p1, "this$0" # Lcom/android/cts/example/appviewer/AppListActivity; + + .line 60 + iput-object p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$2;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + + +# virtual methods +.method public onItemSelected(Landroid/widget/AdapterView;Landroid/view/View;IJ)V + .locals 1 + .param p2, "view" # Landroid/view/View; + .param p3, "position" # I + .param p4, "id" # J + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Landroid/widget/AdapterView<", + "*>;", + "Landroid/view/View;", + "IJ)V" + } + .end annotation + + .line 63 + .local p1, "parent":Landroid/widget/AdapterView;, "Landroid/widget/AdapterView<*>;" + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$2;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v0, p3}, Lcom/android/cts/example/appviewer/AppListActivity;->access$102(Lcom/android/cts/example/appviewer/AppListActivity;I)I + + .line 64 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$2;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v0}, Lcom/android/cts/example/appviewer/AppListActivity;->access$200(Lcom/android/cts/example/appviewer/AppListActivity;)Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + move-result-object v0 + + invoke-virtual {v0}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->notifyDataSetChanged()V + + .line 65 + return-void +.end method + +.method public onNothingSelected(Landroid/widget/AdapterView;)V + .locals 2 + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Landroid/widget/AdapterView<", + "*>;)V" + } + .end annotation + + .line 69 + .local p1, "parent":Landroid/widget/AdapterView;, "Landroid/widget/AdapterView<*>;" + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$2;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + const/4 v1, -0x1 + + invoke-static {v0, v1}, Lcom/android/cts/example/appviewer/AppListActivity;->access$102(Lcom/android/cts/example/appviewer/AppListActivity;I)I + + .line 70 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$2;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v0}, Lcom/android/cts/example/appviewer/AppListActivity;->access$200(Lcom/android/cts/example/appviewer/AppListActivity;)Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + move-result-object v0 + + invoke-virtual {v0}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->notifyDataSetChanged()V + + .line 71 + return-void +.end method diff --git a/smali/com/android/cts/example/appviewer/AppListActivity$3.smali b/smali/com/android/cts/example/appviewer/AppListActivity$3.smali new file mode 100644 index 0000000..c453cb7 --- /dev/null +++ b/smali/com/android/cts/example/appviewer/AppListActivity$3.smali @@ -0,0 +1,106 @@ +.class Lcom/android/cts/example/appviewer/AppListActivity$3; +.super Ljava/lang/Object; +.source "AppListActivity.java" + +# interfaces +.implements Ljava/util/Comparator; + + +# annotations +.annotation system Ldalvik/annotation/EnclosingMethod; + value = Lcom/android/cts/example/appviewer/AppListActivity;->getInstalledApps()Ljava/util/List; +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x0 + name = null +.end annotation + +.annotation system Ldalvik/annotation/Signature; + value = { + "Ljava/lang/Object;", + "Ljava/util/Comparator<", + "Landroid/content/pm/ResolveInfo;", + ">;" + } +.end annotation + + +# instance fields +.field final synthetic this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + +# direct methods +.method constructor (Lcom/android/cts/example/appviewer/AppListActivity;)V + .locals 0 + .param p1, "this$0" # Lcom/android/cts/example/appviewer/AppListActivity; + + .line 89 + iput-object p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$3;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + + +# virtual methods +.method public compare(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I + .locals 3 + .param p1, "app1" # Landroid/content/pm/ResolveInfo; + .param p2, "app2" # Landroid/content/pm/ResolveInfo; + + .line 92 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$3;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v0}, Lcom/android/cts/example/appviewer/AppListActivity;->access$300(Lcom/android/cts/example/appviewer/AppListActivity;)Landroid/content/pm/PackageManager; + + move-result-object v0 + + invoke-virtual {p1, v0}, Landroid/content/pm/ResolveInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; + + move-result-object v0 + + invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 93 + .local v0, "label1":Ljava/lang/String; + iget-object v1, p0, Lcom/android/cts/example/appviewer/AppListActivity$3;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v1}, Lcom/android/cts/example/appviewer/AppListActivity;->access$300(Lcom/android/cts/example/appviewer/AppListActivity;)Landroid/content/pm/PackageManager; + + move-result-object v1 + + invoke-virtual {p2, v1}, Landroid/content/pm/ResolveInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; + + move-result-object v1 + + invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; + + move-result-object v1 + + .line 94 + .local v1, "label2":Ljava/lang/String; + invoke-virtual {v0, v1}, Ljava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I + + move-result v2 + + return v2 +.end method + +.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I + .locals 0 + + .line 89 + check-cast p1, Landroid/content/pm/ResolveInfo; + + check-cast p2, Landroid/content/pm/ResolveInfo; + + invoke-virtual {p0, p1, p2}, Lcom/android/cts/example/appviewer/AppListActivity$3;->compare(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I + + move-result p1 + + return p1 +.end method diff --git a/smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder.smali b/smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder.smali new file mode 100644 index 0000000..8a743b9 --- /dev/null +++ b/smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder.smali @@ -0,0 +1,48 @@ +.class Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; +.super Ljava/lang/Object; +.source "AppListActivity.java" + + +# annotations +.annotation system Ldalvik/annotation/EnclosingClass; + value = Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x2 + name = "ViewHolder" +.end annotation + + +# instance fields +.field public iconImageView:Landroid/widget/ImageView; + +.field public labelTextView:Landroid/widget/TextView; + +.field textView:Landroid/widget/TextView; + +.field final synthetic this$1:Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + +# direct methods +.method private constructor (Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;)V + .locals 0 + + .line 177 + iput-object p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->this$1:Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + +.method synthetic constructor (Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;Lcom/android/cts/example/appviewer/AppListActivity$1;)V + .locals 0 + .param p1, "x0" # Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + .param p2, "x1" # Lcom/android/cts/example/appviewer/AppListActivity$1; + + .line 177 + invoke-direct {p0, p1}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->(Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;)V + + return-void +.end method diff --git a/smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter.smali b/smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter.smali new file mode 100644 index 0000000..c3fb351 --- /dev/null +++ b/smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter.smali @@ -0,0 +1,339 @@ +.class Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; +.super Landroid/widget/ArrayAdapter; +.source "AppListActivity.java" + + +# annotations +.annotation system Ldalvik/annotation/EnclosingClass; + value = Lcom/android/cts/example/appviewer/AppListActivity; +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x2 + name = "AppListAdapter" +.end annotation + +.annotation system Ldalvik/annotation/MemberClasses; + value = { + Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; + } +.end annotation + +.annotation system Ldalvik/annotation/Signature; + value = { + "Landroid/widget/ArrayAdapter<", + "Landroid/content/pm/ResolveInfo;", + ">;" + } +.end annotation + + +# instance fields +.field private iconSize:I + +.field private inflater:Landroid/view/LayoutInflater; + +.field final synthetic this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + +# direct methods +.method constructor (Lcom/android/cts/example/appviewer/AppListActivity;Landroid/content/Context;Ljava/util/List;)V + .locals 0 + .param p2, "context" # Landroid/content/Context; + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Landroid/content/Context;", + "Ljava/util/List<", + "Landroid/content/pm/ResolveInfo;", + ">;)V" + } + .end annotation + + .line 113 + .local p3, "apps":Ljava/util/List;, "Ljava/util/List;" + iput-object p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + .line 114 + const/4 p1, 0x0 + + invoke-direct {p0, p2, p1, p3}, Landroid/widget/ArrayAdapter;->(Landroid/content/Context;ILjava/util/List;)V + + .line 115 + invoke-static {p2}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater; + + move-result-object p1 + + iput-object p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->inflater:Landroid/view/LayoutInflater; + + .line 116 + const/16 p1, 0x20 + + invoke-direct {p0, p1}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->dpToPx(I)I + + move-result p1 + + iput p1, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->iconSize:I + + .line 117 + return-void +.end method + +.method private dpToPx(I)I + .locals 2 + .param p1, "dp" # I + + .line 184 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-virtual {v0}, Lcom/android/cts/example/appviewer/AppListActivity;->getResources()Landroid/content/res/Resources; + + move-result-object v0 + + invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; + + move-result-object v0 + + iget v0, v0, Landroid/util/DisplayMetrics;->density:F + + .line 185 + .local v0, "density":F + int-to-float v1, p1 + + mul-float/2addr v1, v0 + + invoke-static {v1}, Ljava/lang/Math;->round(F)I + + move-result v1 + + return v1 +.end method + + +# virtual methods +.method public getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; + .locals 12 + .param p1, "position" # I + .param p2, "convertView" # Landroid/view/View; + .param p3, "parent" # Landroid/view/ViewGroup; + + .line 122 + move-object v0, p2 + + .line 124 + .local v0, "itemView":Landroid/view/View; + const/high16 v1, -0x1000000 + + .line 125 + .local v1, "backgroundColor":I + const/16 v2, -0x100 + + .line 127 + .local v2, "textColor":I + const/4 v3, 0x0 + + if-nez v0, :cond_0 + + .line 128 + new-instance v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; + + const/4 v5, 0x0 + + invoke-direct {v4, p0, v5}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->(Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;Lcom/android/cts/example/appviewer/AppListActivity$1;)V + + .line 130 + .local v4, "holder":Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; + new-instance v5, Landroid/widget/LinearLayout$LayoutParams; + + const/4 v6, -0x1 + + const/4 v7, -0x2 + + invoke-direct {v5, v6, v7}, Landroid/widget/LinearLayout$LayoutParams;->(II)V + + .line 134 + .local v5, "layoutParams":Landroid/widget/LinearLayout$LayoutParams; + new-instance v6, Landroid/widget/LinearLayout; + + invoke-virtual {p0}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->getContext()Landroid/content/Context; + + move-result-object v8 + + invoke-direct {v6, v8}, Landroid/widget/LinearLayout;->(Landroid/content/Context;)V + + .line 135 + .local v6, "linearLayout":Landroid/widget/LinearLayout; + invoke-virtual {v6, v5}, Landroid/widget/LinearLayout;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V + + .line 136 + invoke-virtual {v6, v3}, Landroid/widget/LinearLayout;->setOrientation(I)V + + .line 137 + const/16 v8, 0x8 + + invoke-virtual {v6, v8, v8, v8, v8}, Landroid/widget/LinearLayout;->setPadding(IIII)V + + .line 139 + new-instance v8, Landroid/widget/ImageView; + + invoke-virtual {p0}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->getContext()Landroid/content/Context; + + move-result-object v9 + + invoke-direct {v8, v9}, Landroid/widget/ImageView;->(Landroid/content/Context;)V + + .line 140 + .local v8, "iconImageView":Landroid/widget/ImageView; + new-instance v9, Landroid/widget/LinearLayout$LayoutParams; + + iget v10, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->iconSize:I + + invoke-direct {v9, v10, v10}, Landroid/widget/LinearLayout$LayoutParams;->(II)V + + .line 142 + .local v9, "iconLayoutParams":Landroid/widget/LinearLayout$LayoutParams; + invoke-virtual {v8, v9}, Landroid/widget/ImageView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V + + .line 143 + sget-object v10, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType; + + invoke-virtual {v8, v10}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V + + .line 144 + invoke-virtual {v6, v8}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V + + .line 145 + iput-object v8, v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->iconImageView:Landroid/widget/ImageView; + + .line 147 + new-instance v10, Landroid/widget/TextView; + + invoke-virtual {p0}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->getContext()Landroid/content/Context; + + move-result-object v11 + + invoke-direct {v10, v11}, Landroid/widget/TextView;->(Landroid/content/Context;)V + + .line 148 + .local v10, "labelTextView":Landroid/widget/TextView; + new-instance v11, Landroid/widget/LinearLayout$LayoutParams; + + invoke-direct {v11, v7, v7}, Landroid/widget/LinearLayout$LayoutParams;->(II)V + + move-object v7, v11 + + .line 151 + .local v7, "labelLayoutParams":Landroid/widget/LinearLayout$LayoutParams; + invoke-virtual {v10, v7}, Landroid/widget/TextView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V + + .line 152 + const/high16 v11, 0x41800000 # 16.0f + + invoke-virtual {v10, v11}, Landroid/widget/TextView;->setTextSize(F)V + + .line 153 + invoke-virtual {v6, v10}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V + + .line 154 + iput-object v10, v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->labelTextView:Landroid/widget/TextView; + + .line 156 + move-object v0, v6 + + .line 157 + invoke-virtual {v0, v4}, Landroid/view/View;->setTag(Ljava/lang/Object;)V + + .line 158 + .end local v5 # "layoutParams":Landroid/widget/LinearLayout$LayoutParams; + .end local v6 # "linearLayout":Landroid/widget/LinearLayout; + .end local v7 # "labelLayoutParams":Landroid/widget/LinearLayout$LayoutParams; + .end local v8 # "iconImageView":Landroid/widget/ImageView; + .end local v9 # "iconLayoutParams":Landroid/widget/LinearLayout$LayoutParams; + .end local v10 # "labelTextView":Landroid/widget/TextView; + goto :goto_0 + + .line 159 + .end local v4 # "holder":Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; + :cond_0 + invoke-virtual {v0}, Landroid/view/View;->getTag()Ljava/lang/Object; + + move-result-object v4 + + check-cast v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; + + .line 162 + .restart local v4 # "holder":Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder; + :goto_0 + invoke-virtual {p0, p1}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->getItem(I)Ljava/lang/Object; + + move-result-object v5 + + check-cast v5, Landroid/content/pm/ResolveInfo; + + .line 163 + .local v5, "app":Landroid/content/pm/ResolveInfo; + if-eqz v5, :cond_2 + + .line 164 + iget-object v6, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v6}, Lcom/android/cts/example/appviewer/AppListActivity;->access$300(Lcom/android/cts/example/appviewer/AppListActivity;)Landroid/content/pm/PackageManager; + + move-result-object v6 + + invoke-virtual {v5, v6}, Landroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable; + + move-result-object v6 + + .line 165 + .local v6, "appIcon":Landroid/graphics/drawable/Drawable; + iget v7, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->iconSize:I + + invoke-virtual {v6, v3, v3, v7, v7}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V + + .line 166 + iget-object v3, v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->iconImageView:Landroid/widget/ImageView; + + invoke-virtual {v3, v6}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V + + .line 167 + iget-object v3, v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->labelTextView:Landroid/widget/TextView; + + iget-object v7, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v7}, Lcom/android/cts/example/appviewer/AppListActivity;->access$300(Lcom/android/cts/example/appviewer/AppListActivity;)Landroid/content/pm/PackageManager; + + move-result-object v7 + + invoke-virtual {v5, v7}, Landroid/content/pm/ResolveInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; + + move-result-object v7 + + invoke-virtual {v3, v7}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V + + .line 168 + iget-object v3, v4, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder;->labelTextView:Landroid/widget/TextView; + + iget-object v7, p0, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->this$0:Lcom/android/cts/example/appviewer/AppListActivity; + + invoke-static {v7}, Lcom/android/cts/example/appviewer/AppListActivity;->access$100(Lcom/android/cts/example/appviewer/AppListActivity;)I + + move-result v7 + + if-ne p1, v7, :cond_1 + + const v7, -0xffff01 + + goto :goto_1 + + :cond_1 + const/16 v7, -0x100 + + :goto_1 + invoke-virtual {v3, v7}, Landroid/widget/TextView;->setTextColor(I)V + + .line 171 + .end local v6 # "appIcon":Landroid/graphics/drawable/Drawable; + :cond_2 + return-object v0 +.end method diff --git a/smali/com/android/cts/example/appviewer/AppListActivity.smali b/smali/com/android/cts/example/appviewer/AppListActivity.smali new file mode 100644 index 0000000..8e7e62a --- /dev/null +++ b/smali/com/android/cts/example/appviewer/AppListActivity.smali @@ -0,0 +1,283 @@ +.class public Lcom/android/cts/example/appviewer/AppListActivity; +.super Landroid/app/Activity; +.source "AppListActivity.java" + + +# annotations +.annotation system Ldalvik/annotation/MemberClasses; + value = { + Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + } +.end annotation + + +# instance fields +.field private adapter:Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + +.field private listView:Landroid/widget/ListView; + +.field private packageManager:Landroid/content/pm/PackageManager; + +.field private selectedItemPosition:I + + +# direct methods +.method public constructor ()V + .locals 1 + + .line 29 + invoke-direct {p0}, Landroid/app/Activity;->()V + + .line 34 + const/4 v0, -0x1 + + iput v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->selectedItemPosition:I + + return-void +.end method + +.method static synthetic access$000(Lcom/android/cts/example/appviewer/AppListActivity;Ljava/lang/String;)V + .locals 0 + .param p0, "x0" # Lcom/android/cts/example/appviewer/AppListActivity; + .param p1, "x1" # Ljava/lang/String; + + .line 29 + invoke-direct {p0, p1}, Lcom/android/cts/example/appviewer/AppListActivity;->launchApp(Ljava/lang/String;)V + + return-void +.end method + +.method static synthetic access$100(Lcom/android/cts/example/appviewer/AppListActivity;)I + .locals 1 + .param p0, "x0" # Lcom/android/cts/example/appviewer/AppListActivity; + + .line 29 + iget v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->selectedItemPosition:I + + return v0 +.end method + +.method static synthetic access$102(Lcom/android/cts/example/appviewer/AppListActivity;I)I + .locals 0 + .param p0, "x0" # Lcom/android/cts/example/appviewer/AppListActivity; + .param p1, "x1" # I + + .line 29 + iput p1, p0, Lcom/android/cts/example/appviewer/AppListActivity;->selectedItemPosition:I + + return p1 +.end method + +.method static synthetic access$200(Lcom/android/cts/example/appviewer/AppListActivity;)Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + .locals 1 + .param p0, "x0" # Lcom/android/cts/example/appviewer/AppListActivity; + + .line 29 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->adapter:Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + return-object v0 +.end method + +.method static synthetic access$300(Lcom/android/cts/example/appviewer/AppListActivity;)Landroid/content/pm/PackageManager; + .locals 1 + .param p0, "x0" # Lcom/android/cts/example/appviewer/AppListActivity; + + .line 29 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->packageManager:Landroid/content/pm/PackageManager; + + return-object v0 +.end method + +.method private getInstalledApps()Ljava/util/List; + .locals 6 + .annotation system Ldalvik/annotation/Signature; + value = { + "()", + "Ljava/util/List<", + "Landroid/content/pm/ResolveInfo;", + ">;" + } + .end annotation + + .line 76 + new-instance v0, Landroid/content/Intent; + + const-string v1, "android.intent.action.MAIN" + + const/4 v2, 0x0 + + invoke-direct {v0, v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;Landroid/net/Uri;)V + + .line 77 + .local v0, "intent":Landroid/content/Intent; + const-string v1, "android.intent.category.LAUNCHER" + + invoke-virtual {v0, v1}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent; + + .line 79 + iget-object v1, p0, Lcom/android/cts/example/appviewer/AppListActivity;->packageManager:Landroid/content/pm/PackageManager; + + const/4 v2, 0x0 + + invoke-virtual {v1, v0, v2}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List; + + move-result-object v1 + + .line 80 + .local v1, "allApps":Ljava/util/List;, "Ljava/util/List;" + new-instance v2, Ljava/util/ArrayList; + + invoke-direct {v2}, Ljava/util/ArrayList;->()V + + .line 82 + .local v2, "nonSystemApps":Ljava/util/List;, "Ljava/util/List;" + invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v3 + + :goto_0 + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z + + move-result v4 + + if-eqz v4, :cond_1 + + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v4 + + check-cast v4, Landroid/content/pm/ResolveInfo; + + .line 83 + .local v4, "app":Landroid/content/pm/ResolveInfo; + iget-object v5, v4, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; + + iget-object v5, v5, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo; + + iget v5, v5, Landroid/content/pm/ApplicationInfo;->flags:I + + and-int/lit8 v5, v5, 0x1 + + if-nez v5, :cond_0 + + .line 84 + invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z + + .line 86 + .end local v4 # "app":Landroid/content/pm/ResolveInfo; + :cond_0 + goto :goto_0 + + .line 89 + :cond_1 + new-instance v3, Lcom/android/cts/example/appviewer/AppListActivity$3; + + invoke-direct {v3, p0}, Lcom/android/cts/example/appviewer/AppListActivity$3;->(Lcom/android/cts/example/appviewer/AppListActivity;)V + + invoke-static {v2, v3}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V + + .line 98 + return-object v2 +.end method + +.method private launchApp(Ljava/lang/String;)V + .locals 1 + .param p1, "packageName" # Ljava/lang/String; + + .line 102 + iget-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->packageManager:Landroid/content/pm/PackageManager; + + invoke-virtual {v0, p1}, Landroid/content/pm/PackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent; + + move-result-object v0 + + .line 103 + .local v0, "launchIntent":Landroid/content/Intent; + if-eqz v0, :cond_0 + + .line 104 + invoke-virtual {p0, v0}, Lcom/android/cts/example/appviewer/AppListActivity;->startActivity(Landroid/content/Intent;)V + + .line 106 + :cond_0 + return-void +.end method + + +# virtual methods +.method protected onCreate(Landroid/os/Bundle;)V + .locals 3 + .param p1, "savedInstanceState" # Landroid/os/Bundle; + + .line 38 + invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V + + .line 40 + invoke-virtual {p0}, Lcom/android/cts/example/appviewer/AppListActivity;->getWindow()Landroid/view/Window; + + move-result-object v0 + + invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View; + + move-result-object v0 + + const/high16 v1, -0x1000000 + + invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundColor(I)V + + .line 43 + new-instance v0, Landroid/widget/ListView; + + invoke-direct {v0, p0}, Landroid/widget/ListView;->(Landroid/content/Context;)V + + iput-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->listView:Landroid/widget/ListView; + + .line 44 + invoke-virtual {p0, v0}, Lcom/android/cts/example/appviewer/AppListActivity;->setContentView(Landroid/view/View;)V + + .line 46 + invoke-virtual {p0}, Lcom/android/cts/example/appviewer/AppListActivity;->getPackageManager()Landroid/content/pm/PackageManager; + + move-result-object v0 + + iput-object v0, p0, Lcom/android/cts/example/appviewer/AppListActivity;->packageManager:Landroid/content/pm/PackageManager; + + .line 47 + invoke-direct {p0}, Lcom/android/cts/example/appviewer/AppListActivity;->getInstalledApps()Ljava/util/List; + + move-result-object v0 + + .line 49 + .local v0, "apps":Ljava/util/List;, "Ljava/util/List;" + new-instance v1, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + invoke-direct {v1, p0, p0, v0}, Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter;->(Lcom/android/cts/example/appviewer/AppListActivity;Landroid/content/Context;Ljava/util/List;)V + + iput-object v1, p0, Lcom/android/cts/example/appviewer/AppListActivity;->adapter:Lcom/android/cts/example/appviewer/AppListActivity$AppListAdapter; + + .line 50 + iget-object v2, p0, Lcom/android/cts/example/appviewer/AppListActivity;->listView:Landroid/widget/ListView; + + invoke-virtual {v2, v1}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V + + .line 52 + iget-object v1, p0, Lcom/android/cts/example/appviewer/AppListActivity;->listView:Landroid/widget/ListView; + + new-instance v2, Lcom/android/cts/example/appviewer/AppListActivity$1; + + invoke-direct {v2, p0, v0}, Lcom/android/cts/example/appviewer/AppListActivity$1;->(Lcom/android/cts/example/appviewer/AppListActivity;Ljava/util/List;)V + + invoke-virtual {v1, v2}, Landroid/widget/ListView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V + + .line 60 + iget-object v1, p0, Lcom/android/cts/example/appviewer/AppListActivity;->listView:Landroid/widget/ListView; + + new-instance v2, Lcom/android/cts/example/appviewer/AppListActivity$2; + + invoke-direct {v2, p0}, Lcom/android/cts/example/appviewer/AppListActivity$2;->(Lcom/android/cts/example/appviewer/AppListActivity;)V + + invoke-virtual {v1, v2}, Landroid/widget/ListView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V + + .line 73 + return-void +.end method diff --git a/smali/com/wy/f1home/activity/HomeActivity.smali b/smali/com/wy/f1home/activity/HomeActivity.smali index 82c6f38..69b7762 100644 --- a/smali/com/wy/f1home/activity/HomeActivity.smali +++ b/smali/com/wy/f1home/activity/HomeActivity.smali @@ -915,9 +915,9 @@ .line 768 new-instance p1, Landroid/content/ComponentName; - const-string p2, "com.android.cts.apps4fliplauncher" + const-string p2, "com.android.cts.wy.f1home" - const-string v0, "com.android.cts.apps4fliplauncher.NerdLauncherActivity" + const-string v0, "com.android.cts.example.appviewer.AppListActivity" invoke-direct {p1, p2, v0}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V diff --git a/smali/com/wy/f1home/activity/KeyguardActivity.smali b/smali/com/wy/f1home/activity/KeyguardActivity.smali index d7ecf7c..aa0f00f 100644 --- a/smali/com/wy/f1home/activity/KeyguardActivity.smali +++ b/smali/com/wy/f1home/activity/KeyguardActivity.smali @@ -1949,6 +1949,11 @@ const/16 v0, 0x5 if-eq p1, v0, :cond_5 + + + const/16 v0, 0x4 + + if-eq p1, v0, :cond_6 const/16 v0, 0x1 @@ -2218,6 +2223,28 @@ invoke-virtual {p0, p1}, Lcom/wy/f1home/activity/KeyguardActivity;->startActivity_ext(Landroid/content/ComponentName;)Z return v1 + + + :cond_6 + const-string p1, "false" + + .line 762 + invoke-virtual {p0, p1}, Lcom/wy/f1home/activity/KeyguardActivity;->set_in_launcher(Ljava/lang/String;)V + + .line 763 + new-instance p1, Landroid/content/ComponentName; + + const-string p2, "com.android.cts.wy.f1home" + + const-string v0, "com.wy.f1home.KeyShortcuts.KeyShortcutsActivity" + + invoke-direct {p1, p2, v0}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V + + .line 764 + invoke-virtual {p0, p1}, Lcom/wy/f1home/activity/KeyguardActivity;->startActivity_ext(Landroid/content/ComponentName;)Z + + return v1 + :cond_5 const-string p1, "false"