From 995d8bafbefd46511b93542641062704ff18e23e Mon Sep 17 00:00:00 2001
From: Biden2020prez <106286969+biden2020prez@users.noreply.github.com>
Date: Sun, 28 May 2023 22:36:43 -0400
Subject: [PATCH] Move to v2 - details below
- Removed coolhome from showing in launcher
- Added Dpad Shortcuts On main screen
- Added built in app launcher
- launch key shortcuts using back key
---
AndroidManifest.xml | 2 +-
res/values/strings.xml | 21 +-
res/xml/customize_apps.xml | 2 +-
.../example/appviewer/AppListActivity$1.smali | 85 +++++
.../example/appviewer/AppListActivity$2.smali | 102 ++++++
.../example/appviewer/AppListActivity$3.smali | 106 ++++++
...stActivity$AppListAdapter$ViewHolder.smali | 48 +++
.../AppListActivity$AppListAdapter.smali | 339 ++++++++++++++++++
.../example/appviewer/AppListActivity.smali | 283 +++++++++++++++
.../com/wy/f1home/activity/HomeActivity.smali | 4 +-
.../wy/f1home/activity/KeyguardActivity.smali | 27 ++
11 files changed, 996 insertions(+), 23 deletions(-)
create mode 100644 smali/com/android/cts/example/appviewer/AppListActivity$1.smali
create mode 100644 smali/com/android/cts/example/appviewer/AppListActivity$2.smali
create mode 100644 smali/com/android/cts/example/appviewer/AppListActivity$3.smali
create mode 100644 smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter$ViewHolder.smali
create mode 100644 smali/com/android/cts/example/appviewer/AppListActivity$AppListAdapter.smali
create mode 100644 smali/com/android/cts/example/appviewer/AppListActivity.smali
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"