Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.11 KB | None | 0 0
  1. package com.Aaps.androidlauncher;
  2.  
  3. import java.util.List;
  4.  
  5. import android.app.Activity;
  6. import android.content.BroadcastReceiver;
  7. import android.content.Context;
  8. import android.content.Intent;
  9. import android.content.IntentFilter;
  10. import android.content.pm.PackageManager;
  11. import android.content.pm.ResolveInfo;
  12. import android.graphics.drawable.Drawable;
  13. import android.os.Bundle;
  14. import android.widget.GridView;
  15.  
  16. public class MainActivity extends Activity
  17. {
  18. DrawerAdapter drawerAdapterObject;
  19. GridView drawerGrid;
  20. IntentFilter filter;
  21. class Pac
  22. {
  23. Drawable icon;
  24. String name;
  25. String label;
  26. }
  27. Pac[] pacs;
  28. PackageManager pm;
  29.  
  30. @Override
  31. protected void onCreate(Bundle savedInstanceState)
  32. {
  33. super.onCreate(savedInstanceState);
  34. setContentView(R.layout.activity_main);
  35. pm = getPackageManager();
  36. set_pacs();
  37. drawerGrid = (GridView) findViewById(R.id.content);
  38. drawerAdapterObject = new DrawerAdapter(this,pacs);
  39. drawerGrid.setAdapter(drawerAdapterObject);
  40. drawerGrid.setOnItemClickListener(new DrawerClickListener(this,pacs,pm));
  41.  
  42. filter = new IntentFilter();
  43. filter.addAction(Intent.ACTION_PACKAGE_ADDED);
  44. filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
  45. filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
  46. filter.addDataScheme("package");
  47. registerReceiver(new PacReciever(),filter);
  48.  
  49. }
  50.  
  51. public void set_pacs()
  52. {
  53. final Intent mainIntent = new Intent(Intent.ACTION_MAIN,null);
  54. mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
  55. List<ResolveInfo> pacList = pm.queryIntentActivities(mainIntent, 0);
  56. pacs = new Pac[pacList.size()];
  57. for(int i = 0; i < pacList.size();i++)
  58. {
  59. pacs[i] = new Pac();
  60. pacs[i].icon=pacList.get(i).loadIcon(pm);
  61. pacs[i].name = pacList.get(i).activityInfo.packageName;
  62. pacs[i].label = pacList.get(i).loadLabel(pm).toString();
  63. }
  64. new SortApps().exchange_sort(pacs);
  65. drawerAdapterObject = new DrawerAdapter(this,pacs);
  66. drawerGrid.setAdapter(drawerAdapterObject);
  67. drawerGrid.setOnItemClickListener(new DrawerClickListener(this,pacs,pm));
  68. }
  69.  
  70. public class PacReciever extends BroadcastReceiver
  71. {
  72.  
  73. @Override
  74. public void onReceive(Context arg0, Intent arg1) {
  75. // TODO Auto-generated method stub
  76. set_pacs();
  77. }
  78.  
  79. }
  80. }
  81.  
  82. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  83. xm lns:tools="http://schemas.android.com/tools"
  84. android:layout_width="match_parent"
  85. android:layout_height="match_parent"
  86. tools:context="com.Aaps.androidlauncher.MainActivity" >
  87.  
  88. <SlidingDrawer
  89. android:id="@+id/Drawer"
  90. android:layout_width="match_parent"
  91. android:layout_height="match_parent"
  92. android:content="@+id/content"
  93. android:handle="@+id/handle" >
  94.  
  95. <GridView
  96. android:id="@+id/content"
  97. android:layout_width="match_parent"
  98. android:layout_height="match_parent"
  99. android:background="@color/Grey_Transparent"
  100. android:columnWidth="40dp"
  101. android:gravity="center"
  102. android:horizontalSpacing="30dp"
  103. android:numColumns="auto_fit"
  104. android:paddingBottom="3dp"
  105. android:paddingLeft="3dp"
  106. android:paddingRight="3dp"
  107. android:paddingTop="3dp"
  108. android:stretchMode="columnWidth"
  109. android:verticalSpacing="30dp" />
  110.  
  111. <ImageView
  112. android:id="@+id/handle"
  113. android:layout_width="80dp"
  114. android:layout_height="30dp"
  115. android:background="@drawable/handle" />
  116.  
  117. </SlidingDrawer>
  118.  
  119. </RelativeLayout>
  120.  
  121. <?xml version="1.0" encoding="utf-8"?>
  122. <resources>
  123. `enter code here` <color name="Grey_Transparent">#80000000</color>
  124. </resources>
  125.  
  126. package com.Aaps.androidlauncher;
  127.  
  128.  
  129. import android.content.Context;
  130. import android.view.LayoutInflater;
  131. import android.view.View;
  132. import android.view.ViewGroup;
  133. import android.widget.BaseAdapter;
  134. import android.widget.ImageView;
  135. import android.widget.TextView;
  136.  
  137. public class DrawerAdapter extends BaseAdapter{
  138. Context mContext;
  139. MainActivity.Pac[] pacsForAdapter;
  140. public DrawerAdapter(Context c, MainActivity.Pac pacs[])
  141. {
  142. mContext = c;
  143. pacsForAdapter = pacs;
  144. }
  145.  
  146. @Override
  147. public int getCount() {
  148. // TODO Auto-generated method stub
  149. return pacsForAdapter.length;
  150. }
  151.  
  152. @Override
  153. public Object getItem(int arg0) {
  154. // TODO Auto-generated method stub
  155. return null;
  156. }
  157.  
  158. @Override
  159. public long getItemId(int arg0) {
  160. // TODO Auto-generated method stub
  161. return 0;
  162. }
  163.  
  164. static class ViewHolder
  165. {
  166. TextView text;
  167. ImageView icon;
  168. }
  169. @Override
  170. public View getView(int pos, View convertView, ViewGroup arg2) {
  171. // TODO Auto-generated method stub
  172. ViewHolder viewHolder;
  173. LayoutInflater li = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  174.  
  175. if(convertView == null)
  176. {
  177. convertView = li.inflate(R.layout.drawer_item, null);
  178. viewHolder = new ViewHolder();
  179. viewHolder.text = (TextView)convertView.findViewById(R.id.icon_text);
  180. viewHolder.icon = (ImageView)convertView.findViewById(R.id.icon_image);
  181. convertView.setTag(viewHolder);
  182. }
  183. else
  184. viewHolder = (ViewHolder)convertView.getTag();
  185.  
  186. viewHolder.text.setText(pacsForAdapter[pos].label);
  187. viewHolder.icon.setImageDrawable(pacsForAdapter[pos].icon);
  188. return convertView;
  189. }
  190.  
  191. }
  192.  
  193. package com.Aaps.androidlauncher;
  194.  
  195. import android.content.Context;
  196. import android.content.Intent;
  197. import android.content.pm.PackageManager;
  198. import android.view.View;
  199. import android.widget.AdapterView;
  200. import android.widget.AdapterView.OnItemClickListener;
  201.  
  202. public class DrawerClickListener implements OnItemClickListener{
  203. Context mContext;
  204. MainActivity.Pac[] pacsForAdapter;
  205. PackageManager pmForListener;
  206. public DrawerClickListener(Context c,MainActivity.Pac[] pacs , PackageManager pm)
  207. {
  208. mContext = c;
  209. pacsForAdapter = pacs;
  210. pmForListener = pm;
  211. }
  212.  
  213. @Override
  214. public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
  215. Intent launchIntent = pmForListener.getLaunchIntentForPackage(pacsForAdapter[pos].name);
  216. mContext.startActivity(launchIntent);
  217. }
  218.  
  219. }
  220.  
  221. 11-01 00:01:47.734: D/dalvikvm(1920): GC_FOR_ALLOC freed 45K, 4% free 2817K/2920K, paused 21ms, total 22ms
  222. 11-01 00:01:47.734: I/dalvikvm-heap(1920): Grow heap (frag case) to 3.409MB for 635808-byte allocation
  223. 11-01 00:01:47.794: D/dalvikvm(1920): GC_FOR_ALLOC freed <1K, 3% free 3438K/3544K, paused 53ms, total 53ms
  224. 11-01 00:01:48.254: D/dalvikvm(1920): GC_FOR_ALLOC freed 26K, 3% free 3892K/3992K, paused 24ms, total 24ms
  225. 11-01 00:01:48.334: D/AndroidRuntime(1920): Shutting down VM
  226. 11-01 00:01:48.334: W/dalvikvm(1920): threadid=1: thread exiting with uncaught exception (group=0xb2d0cb20)
  227. 11-01 00:01:48.344: E/AndroidRuntime(1920): FATAL EXCEPTION: main
  228. 11-01 00:01:48.344: E/AndroidRuntime(1920): Process: com.Aaps.androidlauncher, PID: 1920
  229. 11-01 00:01:48.344: E/AndroidRuntime(1920): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Aaps.androidlauncher/com.Aaps.androidlauncher.MainActivity}: java.lang.NullPointerException
  230. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
  231. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
  232. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.ActivityThread.access$800(ActivityThread.java:135)
  233. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
  234. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.os.Handler.dispatchMessage(Handler.java:102)
  235. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.os.Looper.loop(Looper.java:136)
  236. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.ActivityThread.main(ActivityThread.java:5017)
  237. 11-01 00:01:48.344: E/AndroidRuntime(1920): at java.lang.reflect.Method.invokeNative(Native Method)
  238. 11-01 00:01:48.344: E/AndroidRuntime(1920): at java.lang.reflect.Method.invoke(Method.java:515)
  239. 11-01 00:01:48.344: E/AndroidRuntime(1920): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
  240. 11-01 00:01:48.344: E/AndroidRuntime(1920): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
  241. 11-01 00:01:48.344: E/AndroidRuntime(1920): at dalvik.system.NativeStart.main(Native Method)
  242. 11-01 00:01:48.344: E/AndroidRuntime(1920): Caused by: java.lang.NullPointerException
  243. 11-01 00:01:48.344: E/AndroidRuntime(1920): at com.Aaps.androidlauncher.MainActivity.set_pacs(MainActivity.java:66)
  244. 11-01 00:01:48.344: E/AndroidRuntime(1920): at com.Aaps.androidlauncher.MainActivity.onCreate(MainActivity.java:36)
  245. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.Activity.performCreate(Activity.java:5231)
  246. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
  247. 11-01 00:01:48.344: E/AndroidRuntime(1920): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
  248. 11-01 00:01:48.344: E/AndroidRuntime(1920): ... 11 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement