Skip to content
Snippets Groups Projects
Commit bfc20cca authored by SubashNS's avatar SubashNS
Browse files

added trusted contacts

parent 4a431118
Branches
Tags
No related merge requests found
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<ConfirmationsSetting value="0" id="Add" /> <ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" /> <ConfirmationsSetting value="0" id="Remove" />
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_SMS"> <uses-permission android:name="android.permission.RECEIVE_SMS">
<uses-permission android:name="android.permission.READ_SMS" /></uses-permission> <uses-permission android:name="android.permission.READ_SMS" />
</uses-permission>
<application <application
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
...@@ -24,16 +26,19 @@ ...@@ -24,16 +26,19 @@
android:name=".alarmService" android:name=".alarmService"
android:enabled="true" android:enabled="true"
android:exported="true" /> android:exported="true" />
<receiver android:name="com.speedyapps.keepyousafe.SMSReader$readSMS">
<receiver android:name=".SMSReader$readSMS">
<intent-filter> <intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" /> <action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter> </intent-filter>
</receiver> </receiver>
<service <service
android:name=".SMSReader" android:name=".SMSReader"
android:enabled="true" android:enabled="true"
android:exported="true"> android:exported="true"></service>
</service>
<activity android:name=".ContactSelection"></activity>
</application> </application>
</manifest> </manifest>
\ No newline at end of file
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)
{
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();
}
}
package com.speedyapps.keepyousafe; package com.speedyapps.keepyousafe;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.support.annotation.MainThread; import android.support.annotation.MainThread;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
...@@ -9,11 +11,19 @@ import android.util.Log; ...@@ -9,11 +11,19 @@ import android.util.Log;
import android.view.View; import android.view.View;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
Intent intent;int choice; Intent intent;int choice,count;
String n,n1;
public static String file1 = "MyPREFERENCES";
public static String file2 = "PREFERENCES";
public static String file3 = "COUNT";
SharedPreferences sharedpreferences,sp,shared;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
sharedpreferences = getSharedPreferences(file1, Context.MODE_PRIVATE);
sp = getSharedPreferences(file2, Context.MODE_PRIVATE);
shared = getSharedPreferences(file3, Context.MODE_PRIVATE);
intent = new Intent(MainActivity.this,alarmService.class); intent = new Intent(MainActivity.this,alarmService.class);
choice=0; choice=0;
Intent serviceIntent = new Intent(MainActivity.this,SMSReader.class); Intent serviceIntent = new Intent(MainActivity.this,SMSReader.class);
...@@ -24,7 +34,13 @@ public class MainActivity extends AppCompatActivity { ...@@ -24,7 +34,13 @@ public class MainActivity extends AppCompatActivity {
Log.i("zz",""+choice); Log.i("zz",""+choice);
switch(choice) { switch(choice) {
case 0: startService(intent); case 0: startService(intent);
sendSMS("8606670880","Help Me!!!!"); count = shared.getInt("count", 0);
for (int i = 1; i <= count; i++)
{
n1 = sp.getString("value" + i, "");
n = sharedpreferences.getString(n1, "");
sendSMS(n,"Help Me!!!!");
}
break; break;
case 1: stopService(intent); case 1: stopService(intent);
break; break;
...@@ -32,9 +48,17 @@ public class MainActivity extends AppCompatActivity { ...@@ -32,9 +48,17 @@ public class MainActivity extends AppCompatActivity {
choice=(choice+1)%2; choice=(choice+1)%2;
} }
public void contact(View v)
{
Intent i=new Intent(this,ContactSelection.class);
startActivity(i);
}
public void sendSMS(String phoneNumber, String message) public void sendSMS(String phoneNumber, String message)
{ {
SmsManager sms = SmsManager.getDefault(); SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null); sms.sendTextMessage(phoneNumber, null, message, null, null);
} }
} }
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5dp" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="pickContact"
android:text="Pick Contact" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:choiceMode="singleChoice"
android:id="@+id/list"
android:layout_above="@+id/delete"
android:layout_below="@+id/view" />
<Button
android:text="View Contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/view"
android:layout_below="@+id/button1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="retrive" />
<Button
android:text="Delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/delete"
android:textSize="18sp"
android:onClick="delete"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
...@@ -14,18 +14,28 @@ ...@@ -14,18 +14,28 @@
tools:context="com.speedyapps.keepyousafe.MainActivity"> tools:context="com.speedyapps.keepyousafe.MainActivity">
<TextView <TextView
android:text="Keep You Safe!" android:text="Keep Me Safe!"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:id="@+id/keepYouSafeText" android:id="@+id/keepYouSafeText"
android:textSize="30sp" android:textSize="30sp"
android:textStyle="normal|bold" android:textStyle="normal|bold"
android:textAlignment="center" android:textAlignment="center"
android:textColor="#FFFFFF" android:textColor="#FFFFFF"
android:layout_above="@+id/helpButton"
android:layout_alignLeft="@+id/helpButton"
android:layout_alignStart="@+id/helpButton"
android:layout_marginBottom="18dp" />
<Button
android:text="Contacts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pick"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_alignParentLeft="true" android:onClick="contact" />
android:layout_alignParentStart="true" />
<ImageButton <ImageButton
app:srcCompat="@drawable/help" app:srcCompat="@drawable/help"
...@@ -33,10 +43,9 @@ ...@@ -33,10 +43,9 @@
android:scaleType="fitXY" android:scaleType="fitXY"
android:layout_width="350dp" android:layout_width="350dp"
android:layout_height="350dp" android:layout_height="350dp"
android:onClick="onClick"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true" />
android:layout_marginBottom="37dp"
android:onClick="onClick" />
</RelativeLayout> </RelativeLayout>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment