Skip to content

Commit 3069056

Browse files
author
hussienalrubaye
committed
tracker
1 parent 351f1e0 commit 3069056

File tree

4 files changed

+122
-24
lines changed

4 files changed

+122
-24
lines changed

FindMyPhone Assets/snaped_code.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -76,32 +76,33 @@ public static String FormatPhoneNumber(String Oldnmber){
7676

7777
//**************************************************************
7878

79-
list my tracking
80-
mDatabase.child("FindMyPhoneUsers").child(SettingSaved.PhoneNumber).child("Finders").addValueEventListener(new ValueEventListener() {
79+
//list my tracking
80+
databaseReference.child("Users").child(GlobalInfo.PhoneNumber).
81+
child("Finders").addValueEventListener(new ValueEventListener() {
8182
@Override
8283
public void onDataChange(DataSnapshot dataSnapshot) {
8384

8485
Map<String, Object> td = (HashMap<String, Object>) dataSnapshot.getValue();
8586

86-
list.clear();
87+
listnewsData.clear();
8788
if (td == null) //no one allow you to find him
8889
{
89-
list.add(new ListItem("NoTicket", "no_desc", R.drawable.dmap));
90-
listv.setAdapter(new UserListAdapter(list));
91-
90+
listnewsData.add(new AdapterItems("NoTicket", "no_desc"));
91+
myadapter.notifyDataSetChanged();
9292
return;
9393
}
9494
// List<Object> values = td.values();
9595

9696

9797
// get all contact to list
98-
ArrayList<ListItem> list_contact = new ArrayList<ListItem>();
98+
ArrayList<AdapterItems> list_contact = new ArrayList<AdapterItems>();
9999
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
100100
while (cursor.moveToNext()) {
101101
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
102102

103103
String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
104-
list_contact.add(new ListItem(name, ManagmentOperations.FormatPhoneNumber(phoneNumber), R.drawable.cover));
104+
list_contact.add(new AdapterItems( name,GlobalInfo.FormatPhoneNumber(phoneNumber)
105+
));
105106

106107

107108
}
@@ -111,27 +112,19 @@ public void onDataChange(DataSnapshot dataSnapshot) {
111112
// case who find me
112113
String tinfo;
113114
for ( String Numbers : td.keySet()) {
114-
for (ListItem cs : list_contact) {
115+
for (AdapterItems cs : list_contact) {
115116

116117
//IsFound = SettingSaved.WhoIFindIN.get(cs.Detals); // for case who i could find list
117118
if (cs.PhoneNumber.length() > 0)
118119
if (Numbers.contains(cs.PhoneNumber)) {
119-
list.add(new ListItem(cs.UserName, cs.PhoneNumber, R.drawable.dmap));
120+
listnewsData.add(new AdapterItems(cs.UserName, cs.PhoneNumber));
120121
break;
121122
}
122123

123124
}
124125

125126
}
126-
// add new one
127-
// list.add(new ListItem("Loading", "no_desc", R.drawable.dmap));
128-
129-
//ask for add users to track you
130-
// if (list.size()==0 && IsDisplayMessage==false) {
131-
// IsDisplayMessage=true;
132-
// ShowNoUsers();
133-
134-
// }
127+
myadapter.notifyDataSetChanged();
135128
}
136129

137130
@Override
@@ -142,3 +135,4 @@ public void onCancelled(DatabaseError error) {
142135
});
143136

144137

138+

MyTracker/app/src/main/java/com/alrubaye/mytracker/GlobalInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ void SaveData(){
7272

7373
void LoadData(){
7474
MyTrackers.clear();
75-
String PhoneNumber= ShredRef.getString("PhoneNumber","empty");
76-
String MyTrackersList= ShredRef.getString("MyTrackersList","empty");
75+
PhoneNumber= ShredRef.getString("PhoneNumber","empty");
76+
String MyTrackersList= ShredRef.getString("MyTrackers","empty");
7777
if (!MyTrackersList.equals("empty")){
7878
String[] users=MyTrackersList.split("%");
7979
for (int i=0;i<users.length;i=i+2){

MyTracker/app/src/main/java/com/alrubaye/mytracker/MainActivity.java

Lines changed: 105 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,61 @@
55
import android.content.Context;
66
import android.content.Intent;
77
import android.content.pm.PackageManager;
8+
import android.database.Cursor;
89
import android.location.LocationManager;
910
import android.os.Build;
11+
import android.provider.ContactsContract;
1012
import android.support.v4.app.ActivityCompat;
1113
import android.support.v7.app.AppCompatActivity;
1214
import android.os.Bundle;
15+
import android.view.LayoutInflater;
16+
import android.view.Menu;
17+
import android.view.MenuInflater;
18+
import android.view.MenuItem;
19+
import android.view.View;
20+
import android.view.ViewGroup;
21+
import android.widget.BaseAdapter;
22+
import android.widget.ListView;
23+
import android.widget.TextView;
1324
import android.widget.Toast;
1425

15-
public class MainActivity extends AppCompatActivity {
26+
import com.google.firebase.database.DataSnapshot;
27+
import com.google.firebase.database.DatabaseError;
28+
import com.google.firebase.database.DatabaseReference;
29+
import com.google.firebase.database.FirebaseDatabase;
30+
import com.google.firebase.database.ValueEventListener;
31+
32+
import java.util.ArrayList;
33+
import java.util.HashMap;
34+
import java.util.Map;
1635

36+
public class MainActivity extends AppCompatActivity {
37+
ArrayList<AdapterItems> listnewsData = new ArrayList<AdapterItems>();
38+
MyCustomAdapter myadapter;
39+
DatabaseReference databaseReference;
1740
@Override
1841
protected void onCreate(Bundle savedInstanceState) {
1942
super.onCreate(savedInstanceState);
2043
setContentView(R.layout.activity_main);
2144

2245
GlobalInfo globalInfo= new GlobalInfo(this);
2346
globalInfo.LoadData();
47+
databaseReference= FirebaseDatabase.getInstance().getReference();
2448
CheckUserPermsions();
49+
50+
myadapter=new MyCustomAdapter(listnewsData);
51+
ListView lsNews=(ListView)findViewById(R.id.listView);
52+
lsNews.setAdapter(myadapter);//intisal with data
53+
Refesh();
54+
}
55+
56+
void Refesh(){
57+
listnewsData.clear();
58+
59+
60+
61+
62+
myadapter.notifyDataSetChanged();
2563
}
2664

2765
void CheckUserPermsions(){
@@ -77,4 +115,70 @@ void StartServices(){
77115

78116

79117
}
118+
119+
@Override
120+
public boolean onCreateOptionsMenu(Menu menu) {
121+
MenuInflater inflater = getMenuInflater();
122+
inflater.inflate(R.menu.main_menu, menu);
123+
124+
return true;
125+
}
126+
127+
@Override
128+
public boolean onOptionsItemSelected(MenuItem item) {
129+
// Handle item selection
130+
switch (item.getItemId()) {
131+
case R.id.addtracker:
132+
Intent intent=new Intent(this, MyTrackers.class);
133+
startActivity(intent);
134+
return true;
135+
case R.id.help:
136+
137+
return true;
138+
139+
default:
140+
return super.onOptionsItemSelected(item);
141+
}
142+
}
143+
144+
private class MyCustomAdapter extends BaseAdapter {
145+
public ArrayList<AdapterItems> listnewsDataAdpater ;
146+
147+
public MyCustomAdapter(ArrayList<AdapterItems> listnewsDataAdpater) {
148+
this.listnewsDataAdpater=listnewsDataAdpater;
149+
}
150+
151+
152+
@Override
153+
public int getCount() {
154+
return listnewsDataAdpater.size();
155+
}
156+
157+
@Override
158+
public String getItem(int position) {
159+
return null;
160+
}
161+
162+
@Override
163+
public long getItemId(int position) {
164+
return position;
165+
}
166+
167+
@Override
168+
public View getView(int position, View convertView, ViewGroup parent)
169+
{
170+
LayoutInflater mInflater = getLayoutInflater();
171+
View myView = mInflater.inflate(R.layout.single_row_conact, null);
172+
173+
final AdapterItems s = listnewsDataAdpater.get(position);
174+
175+
TextView tv_user_name=( TextView)myView.findViewById(R.id.tv_user_name);
176+
tv_user_name.setText(s.UserName);
177+
TextView tv_phone=( TextView)myView.findViewById(R.id.tv_phone);
178+
tv_phone.setText(s.PhoneNumber);
179+
180+
return myView;
181+
}
182+
183+
}
80184
}

MyTracker/app/src/main/res/menu/main_menu.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
android:title="help"
88
android:icon="@drawable/ic_local_hospital_white_24dp"
99
app:showAsAction="always" />
10-
<item android:id="@+id/setting"
11-
android:title="Setting"
10+
<item android:id="@+id/addtracker"
11+
android:title="addtracker"
1212
android:icon="@drawable/ic_perm_identity_white_24dp"
1313
app:showAsAction="always" />
1414
</menu>

0 commit comments

Comments
 (0)