|
@@ -22,7 +22,14 @@
|
22
|
22
|
|
23
|
23
|
package uk.co.md87.android.contexthome.modules;
|
24
|
24
|
|
|
25
|
+import android.content.ComponentName;
|
25
|
26
|
import android.content.Context;
|
|
27
|
+import android.content.Intent;
|
|
28
|
+import android.content.pm.ActivityInfo;
|
|
29
|
+import android.content.pm.PackageInfo;
|
|
30
|
+import android.content.pm.PackageManager;
|
|
31
|
+import android.content.pm.ResolveInfo;
|
|
32
|
+import android.util.Log;
|
26
|
33
|
import android.view.View;
|
27
|
34
|
import android.widget.ImageView;
|
28
|
35
|
import android.widget.LinearLayout;
|
|
@@ -41,10 +48,28 @@ public class AppsModule implements Module {
|
41
|
48
|
public View getView(final Context context, final int weight) {
|
42
|
49
|
final View view = View.inflate(context, R.layout.scroller, null);
|
43
|
50
|
final LinearLayout layout = (LinearLayout) view.findViewById(R.id.content);
|
|
51
|
+ final PackageManager pm = context.getPackageManager();
|
|
52
|
+ final Intent intent = new Intent(Intent.ACTION_MAIN);
|
|
53
|
+ final View.OnClickListener listener = new View.OnClickListener() {
|
44
|
54
|
|
45
|
|
- for (int i = 0; i < 20; i++) {
|
|
55
|
+ public void onClick(View view) {
|
|
56
|
+ final ActivityInfo info = (ActivityInfo) view.getTag();
|
|
57
|
+ final Intent intent = new Intent();
|
|
58
|
+ intent.setAction(Intent.ACTION_MAIN);
|
|
59
|
+ intent.setClassName(info.packageName, info.name);
|
|
60
|
+ context.startActivity(intent);
|
|
61
|
+ }
|
|
62
|
+ };
|
|
63
|
+
|
|
64
|
+ intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
|
65
|
+
|
|
66
|
+ for (ResolveInfo res : pm.queryIntentActivities(intent, 0)) {
|
46
|
67
|
final ImageView image = new ImageView(context);
|
47
|
|
- image.setImageResource(R.drawable.blank);
|
|
68
|
+ image.setImageDrawable(res.activityInfo.loadIcon(pm));
|
|
69
|
+ image.setFocusable(true);
|
|
70
|
+ image.setClickable(true);
|
|
71
|
+ image.setTag(res.activityInfo);
|
|
72
|
+ image.setOnClickListener(listener);
|
48
|
73
|
layout.addView(image, 48, 48);
|
49
|
74
|
}
|
50
|
75
|
|