Advertisement
nigatigga

Untitled

Aug 28th, 2014
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.45 KB | None | 0 0
  1. package com.ibc.android.demo.appslist.app;
  2.  
  3. import android.app.Activity;
  4. import android.content.Context;
  5. import android.content.SharedPreferences;
  6. import android.content.pm.PackageInfo;
  7. import android.content.pm.PackageManager;
  8. import android.graphics.drawable.Drawable;
  9. import android.util.Log;
  10. import android.view.LayoutInflater;
  11. import android.view.View;
  12. import android.view.View.OnClickListener;
  13. import android.view.ViewGroup;
  14. import android.widget.BaseAdapter;
  15. import android.widget.CheckBox;
  16. import android.widget.TextView;
  17.  
  18. import com.spicycurryman.getdisciplined10.app.R;
  19.  
  20. import java.util.ArrayList;
  21. import java.util.List;
  22.  
  23. //
  24.  
  25. public class ApkAdapter extends BaseAdapter {
  26.  
  27.     //Pastebin link:  http://pastebin.com/LGRicg4U , http://pastebin.com/c4WfmhMK , http://pastebin.com/gFuuM4dY, http://pastebin.com/4Q7EP9G4
  28.     // http://pastebin.com/Te2g072w,  http://pastebin.com/NLT5iUiA ,
  29.  
  30.     SharedPreferences sharedPrefs;
  31.     List<PackageInfo> packageList;
  32.     ArrayList <String> appchecklist;
  33.     static ArrayList <String> newappchecklist;
  34.    // Context mContext;
  35.     String prefix;
  36.  
  37.     Activity context;
  38.     PackageManager packageManager;
  39.     boolean[] itemChecked;
  40.  
  41.  
  42.     String PACKAGE_NAME;
  43.     static TinyDB appcheckdb;
  44.  
  45.     public ApkAdapter(Activity context, List<PackageInfo> packageList,
  46.                       PackageManager packageManager) {
  47.         super();
  48.         this.context = context;
  49.         //this.mContext = mContext;
  50.  
  51.         this.packageList = packageList;
  52.         this.packageManager = packageManager;
  53.         itemChecked = new boolean[packageList.size()];
  54.         appchecklist =  new ArrayList<String>();
  55.         newappchecklist =  new ArrayList<String>();
  56.  
  57.         appcheckdb = new TinyDB(context);
  58.  
  59.  
  60.     }
  61.  
  62.     public ApkAdapter(Context heartBeat) {
  63.  
  64.     }
  65.  
  66.  
  67.     private class ViewHolder {
  68.         TextView apkName;
  69.         CheckBox ck1;
  70.         TextView packageName;
  71.     }
  72.  
  73.     public int getCount() {
  74.         return packageList.size();
  75.     }
  76.  
  77.     public Object getItem(int position) {
  78.         return packageList.get(position);
  79.     }
  80.  
  81.     public long getItemId(int position) {
  82.         return 0;
  83.     }
  84.  
  85.     @Override
  86.     public View getView(final int position, View convertView, ViewGroup parent) {
  87.         final ViewHolder holder;
  88.  
  89.         LayoutInflater inflater = context.getLayoutInflater();
  90.  
  91.         if (convertView == null) {
  92.             convertView = inflater.inflate(R.layout.installed_apps, null);
  93.             holder = new ViewHolder();
  94.  
  95.             holder.apkName = (TextView) convertView
  96.                     .findViewById(R.id.appname);
  97.             holder.ck1= (CheckBox)convertView
  98.                     .findViewById(R.id.checkBox1);
  99.             holder.packageName = (TextView) convertView.findViewById(R.id.app_package);
  100.  
  101.  
  102.  
  103.             convertView.setTag(holder);
  104.             //holder.ck1.setTag(packageList.get(position));
  105.  
  106.         } else {
  107.  
  108.             holder = (ViewHolder) convertView.getTag();
  109.         }
  110.  
  111.  
  112.  
  113.         // ViewHolder holder = (ViewHolder) convertView.getTag();
  114.         final PackageInfo packageInfo = (PackageInfo) getItem(position);
  115.  
  116.  
  117.  
  118.         Drawable appIcon = packageManager
  119.                 .getApplicationIcon(packageInfo.applicationInfo);
  120.  
  121.  
  122.  
  123.         // Make sure to define it again!
  124.         PACKAGE_NAME = packageInfo.packageName;
  125.         prefix= "PKG_STATUS";
  126.  
  127.  
  128.         final String appName = packageManager.getApplicationLabel(
  129.                 packageInfo.applicationInfo).toString();
  130.         appIcon.setBounds(0, 0, 80, 80);
  131.         holder.apkName.setCompoundDrawables(appIcon, null, null, null);
  132.         holder.apkName.setCompoundDrawablePadding(15);
  133.         holder.apkName.setText(appName);
  134.         //holder.packageName.setText(PACKAGE_NAME);
  135.  
  136.  
  137.         holder.ck1.setChecked(false);
  138.  
  139.  
  140.         if (itemChecked[position])
  141.             holder.ck1.setChecked(true);
  142.         else
  143.             holder.ck1.setChecked(false);
  144.  
  145.  
  146.  
  147.  
  148.     // This is how I stored the SharedPreferences.
  149.  
  150.  
  151.  
  152.         for(int i= 0; i<packageList.size(); i++){
  153.  
  154.  
  155.  
  156.             PACKAGE_NAME = packageInfo.packageName;
  157.             //Log.d("lol", PACKAGE_NAME);
  158.  
  159.  
  160.             // I used multiple key and value pairs.
  161.             sharedPrefs = context.getSharedPreferences(prefix+PACKAGE_NAME, Context.MODE_PRIVATE);
  162.  
  163.             newappchecklist = appcheckdb.getList("appcheck");
  164.  
  165.             holder.ck1.setChecked(sharedPrefs.getBoolean(prefix+PACKAGE_NAME,false));
  166.  
  167.  
  168.         }
  169.  
  170.         if(holder.ck1.isChecked()){
  171.             appchecklist.add(packageInfo.packageName);
  172.             appcheckdb.putList("appcheck", appchecklist);
  173.             for (Object data : appchecklist) {
  174.                 Log.e("HUH!?: ",(String) data);
  175.             }
  176.  
  177.  
  178.         }
  179.  
  180.  
  181.         holder.ck1.setOnClickListener(new OnClickListener() {
  182.  
  183.             @Override
  184.             public void onClick(View v) {
  185.  
  186.  
  187.  
  188.                 SharedPreferences.Editor editor = context.getSharedPreferences(packageInfo.packageName, Context.MODE_PRIVATE).edit();
  189.  
  190.                 if (holder.ck1.isChecked()) {
  191.                     itemChecked[position] = true;
  192.                     holder.ck1.setChecked(true);
  193.                     editor.putBoolean(prefix+packageInfo.packageName, true);
  194.  
  195.  
  196.                     editor.apply();
  197.  
  198.                 } else {
  199.                     itemChecked[position] = false;
  200.                     holder.ck1.setChecked(false);
  201. /*                    editor.putBoolean(packageInfo.packageName, false);
  202.  
  203.  
  204.                     editor.apply();*/
  205.  
  206.                 }
  207.  
  208.             }
  209.  
  210.  
  211.         });
  212.  
  213.  
  214.         return convertView;
  215.  
  216.     }
  217.  
  218.  
  219.     public void check( View convertView, int position){
  220.         final ViewHolder holder;
  221.         holder = new ViewHolder();
  222.         holder.ck1= (CheckBox)convertView
  223.                 .findViewById(R.id.checkBox1);
  224.         convertView.setTag(holder);
  225.         final PackageInfo packageInfo = (PackageInfo) getItem(position);
  226.  
  227.  
  228.         PACKAGE_NAME = packageInfo.packageName;
  229.  
  230.  
  231.  
  232.         if(holder.ck1.isChecked()){
  233.             appchecklist.add(packageInfo.packageName);
  234.             appcheckdb.putList("appcheck", appchecklist);
  235.             for (Object data : appchecklist) {
  236.                 Log.e("HUH!?: ",(String) data);
  237.             }
  238.  
  239.  
  240.         }
  241.     }
  242.  
  243.  
  244.  
  245. /*
  246.     public static ArrayList getArrayList()
  247.     {
  248.         newappchecklist = appcheckdb.getList("appcheck");
  249.  
  250.         return newappchecklist;
  251.     }
  252. */
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement