Skip to content
Snippets Groups Projects
Select Git revision
  • 5c7557c68801be486ecf3c8c5d546c16143edefc
  • master default
2 results

ContactSelection.java

Blame
  • ContactSelection.java 6.92 KiB
    package com.speedyapps.keepyousafe;
    
    import android.app.Activity;
    import android.content.ContentResolver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.provider.ContactsContract;
    import android.util.Log;
    import android.util.SparseBooleanArray;
    import android.view.ActionMode;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.AbsListView;
    import android.widget.ArrayAdapter;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.lang.reflect.Array;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Map;
    
    public class ContactSelection extends Activity {
        private static final int RESULT_PICK_CONTACT = 85500;
        public static String file1 = "MyPREFERENCES";
        public static String file2 = "PREFERENCES";
        public static String file3 = "COUNT";
    
    
        private TextView textView1;
        SharedPreferences sharedpreferences, sp, shared, get, no, get1;
        SharedPreferences.Editor ed, editor, num;
        private TextView textView2;
        ArrayList<String> a;
        ListView l;
        ArrayAdapter arr;
        public static int times = 0;
        int count, indexName, indexNumber;
        String n;
        String n1;
        String name;
        String number;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_contact_selection);
            //textView1 = (TextView) findViewById(R.id.textView1);
            //textView2 = (TextView) findViewById(R.id.textView2);
            l = (ListView) findViewById(R.id.list);
            sharedpreferences = getSharedPreferences(file1, Context.MODE_PRIVATE);
            sp = getSharedPreferences(file2, Context.MODE_PRIVATE);
            shared = getSharedPreferences(file3, Context.MODE_PRIVATE);
            editor = sharedpreferences.edit();
            ed = sp.edit();
            num = shared.edit();
    
    
        }
    
    
        public void pickContact(View v) {
            Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
            startActivityForResult(contactPickerIntent, RESULT_PICK_CONTACT);
        }
    
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // check whether the result is ok
            if (resultCode == RESULT_OK) {
                // Check for the request code, we might be usign multiple startActivityForReslut
                switch (requestCode) {
                    case RESULT_PICK_CONTACT:
                        contactPicked(data);
                        break;
                }
            } else {
                Log.e("MainActivity", "Failed to pick contact");
            }
    
        }
    
    
        private void contactPicked(Intent data) {
            Cursor cursor = null;
            times = shared.getInt("count", 0);
            Log.d("times", String.valueOf(times));
    
    
            // getData() method will have the Content Uri of the selected contact
            Uri uri = data.getData();
            ContentResolver cr = getContentResolver();
            Cursor cur = cr.query(uri, null, null, null, null);
            String[] projection = new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                    ContactsContract.CommonDataKinds.Phone.NUMBER};
            Cursor names = getContentResolver().query(uri, projection, null, null, null);
            indexName = names.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
            indexNumber = names.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
    
            names.moveToLast();
            do {
                name = names.getString(indexName);
    
                number = names.getString(indexNumber);
    
                editor.putString(name, number);
                editor.apply();
                editor.commit();
                if (editor.commit()) {
    
                    Log.d("subtimes1", Integer.toString(times));
                    times++;
                    Log.d("subtimes2", Integer.toString(times));
                    num.putInt("count", times);
                    num.apply();
                    num.commit();
                    Log.d("name", name);
    
    
                    ed.putString("value" + times, name);
                    ed.apply();
                    ed.commit();
    
    
                    Toast.makeText(this, "Successfully Added", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(this, "not entered", Toast.LENGTH_SHORT).show();
                }
    
            }
            while (names.moveToNext());
    
        }
    
        public void retrive(View v)
        {
            try {
                count = shared.getInt("count", 0);
                a = new ArrayList<>();
                arr = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, a);
                l.setAdapter(arr);
                Log.d("subcount", String.valueOf(count));
    
                for (int i = 1; i <= count; i++) {
                    n1 = sp.getString("value" + i, "");
                    n = sharedpreferences.getString(n1, "");
                    Log.d("subn1", n1);
                    Log.d("subn", n);
    
                    try
                    {
                        if(!(n1.isEmpty()&&n.isEmpty()))
                        {
                            a.add(n1 + "(" + n + ")");
                            arr.notifyDataSetChanged();
                            Log.d("sub", String.valueOf(a));
                        }
                    }
                    catch (Exception e){}
    
                }
            } catch (Exception e) {}
    
        }
    
    
        public void delete(View v)
        {
            try {
                int pos = l.getCheckedItemPosition();
                if (pos > -1) {
                    try {
                        String b, b1 = null, b2;
                        b = a.get(pos).toString();
    
                        String s11 = b.split("\\(")[0];
                        Log.d("del", s11);
    
    
                        Iterator iter = sp.getAll().entrySet().iterator();
    
                        {
                            while (iter.hasNext()) {
                                Map.Entry pair = (Map.Entry) iter.next();
                                if (s11.equals(pair.getValue())) {
                                    b1 = pair.getKey().toString();
                                    Log.d("b1", b1);
                                }
                            }
                            // Check the value here
    
                            a.remove(pos);
    
                            arr.notifyDataSetChanged();
    
                            sp.edit().remove(b1).commit();
                            sharedpreferences.edit().remove(s11).commit();
    
    
                            Toast.makeText(this, "Deleted Successfully", Toast.LENGTH_SHORT).show();
                        }
                    } catch (Exception e) {
                    }
    
    
                } else {
                    Toast.makeText(this, "Not Deleted", Toast.LENGTH_SHORT).show();
                }
                arr.notifyDataSetChanged();
            }
            catch (Exception e){
    
            }
        }
    
    }