tlmarker1968

Untitled

Nov 15th, 2019
424
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.61 KB | None | 0 0
  1. This is the code that reads the array of installed apps:
  2. (I have tested this and if works fine. I get the app list i want.)
  3.  
  4.     private void loadApps(){
  5.         manager = getPackageManager();
  6.         ApList.clear();
  7.         Intent i = new Intent(Intent.ACTION_MAIN, null);
  8.         i.addCategory(Intent.CATEGORY_LAUNCHER);
  9.         List<ResolveInfo> availableActivities = manager.queryIntentActivities(i, 0);
  10.         for(ResolveInfo ri:availableActivities){
  11.             String temp = (String) ri.loadLabel(manager);
  12.             if (temp.contains("Phoenix")) {
  13.                 if (!temp.contains("Phoenix Launcher")) {
  14.                     ApList.add(new ObjectApp(
  15.                             ri.loadLabel(manager),
  16.                             ri.activityInfo.packageName
  17.                     ));
  18.                 }
  19.             }
  20.         }
  21.         ApAdapter.notifyDataSetChanged();
  22.     }
  23.  
  24. This is my Recycler adapter It only show a single item in the recycler view:
  25.  
  26.     public class ApAdapter extends RecyclerView.Adapter<ApAdapter.ApViewHolder> {
  27.         private ArrayList<ObjectApp> mApList;
  28.         class ApViewHolder extends RecyclerView.ViewHolder {
  29.             final Button mApBtn;
  30.             ApViewHolder(View ApView) {
  31.                 super(ApView);
  32.                 mApBtn = ApView.findViewById(R.id.ApBtn);
  33.             }
  34.         }
  35.  
  36.         ApAdapter(ArrayList<ObjectApp> ApList) {
  37.             mApList = ApList;
  38.         }
  39.         @NonNull
  40.         @Override
  41.         public ApViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  42.             View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_app, parent, false);
  43.             return new ApViewHolder(view);
  44.         }
  45.         @Override
  46.         public void onBindViewHolder(@NonNull ApViewHolder holder, final int pos) {
  47.             ObjectApp currentAp = mApList.get(pos);
  48.             holder.mApBtn.setText(currentAp.getLabel());
  49.             holder.mApBtn.setBackgroundResource(R.drawable.x_green_button);
  50.             holder.mApBtn.setOnClickListener(new View.OnClickListener() {
  51.                 @Override
  52.                 public void onClick(View view) {
  53.                     Intent intent = manager.getLaunchIntentForPackage(ApList.get(pos).getName().toString());
  54.                     assert intent != null;
  55.                     intent.putExtra("grade", grade);
  56.                     intent.putExtra("department", department);
  57.                     startActivity(intent);
  58.                 }
  59.             });
  60.         }
  61.         @Override
  62.         public int getItemCount() {
  63.             return mApList.size();
  64.         }
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment