Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Enter_Win.class
- ======================================
- package com.example.mazal.akatonshildprojct;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.Intent;
- import android.nfc.Tag;
- import android.provider.Settings;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- public class Enter_Win extends AppCompatActivity {
- Context context;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_enter__win);
- setPointer();
- chackLogin();
- }
- private void setPointer() {
- this.context = this;
- }
- private void chackLogin() {
- @SuppressLint("HardwareIds")
- String s=Settings.Secure.getString(context.getContentResolver(),
- Settings.Secure.ANDROID_ID);
- if(User_SharedPref.checkLogin(s,true,context )){
- if(User_SharedPref.getSePeferencesUserStatus(context)==Status.user)
- startActivity(new Intent(context, userScreen.class));
- }else if(User_SharedPref.getSePeferencesUserStatus(context)==Status.helper){
- startActivity(new Intent(context, hlperScreen.class));
- }
- }
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.btnEnter:
- /* User_SharedPref.setLogin(Settings.Secure.getString(context.getContentResolver(),
- Settings.Secure.ANDROID_ID),true,context );
- Log.e("user login:","set to true");*/
- startActivity(new Intent(context, userScreen.class));
- break;
- case R.id.btnReg:
- /* User_SharedPref.setLogin(Settings.Secure.getString(context.getContentResolver(),
- Settings.Secure.ANDROID_ID),false,context );
- Log.e("user login:","set to false");*/
- startActivity(new Intent(context, Register.class));
- break;
- }
- }
- }
- User_SharedPref.class
- =====================================================================
- package com.example.mazal.akatonshildprojct;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.location.Location;
- import android.util.Log;
- import java.sql.Time;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- /**
- * Created by mazal on 20/12/2017.
- */
- public class User_SharedPref {
- public static Status getSePeferencesUserStatus(Context context){
- SharedPreferences prefs=context.getSharedPreferences("userLoginPrefs",Context.MODE_PRIVATE);
- if(prefs!=null && !prefs.getString("userStatus","def").equals("block")){
- if(prefs.getString("userStatus","def").equals("user")){
- return Status.user;
- }else if(prefs.getString("userStatus","def").equals("helper")){
- return Status.helper;
- }
- }
- return null;
- }
- public static boolean checkLogin( String userDeviceID ,boolean userIsLogin, Context context)
- {
- //declaration of shared preferences
- SharedPreferences prefs=context.getSharedPreferences("userLoginPrefs",Context.MODE_PRIVATE);
- //get user pass
- if(prefs==null){
- Log.e("check Login","retern false");
- return false;
- }
- /* String spUser=prefs.getString(userName,null);
- String spPass=prefs.getString(userPass,null);*/
- String spUserDeviceID=prefs.getString("userDeviceID","def");
- boolean spUserLogin=prefs.getBoolean("userIsLogin",false);
- //check if password matches
- if (userDeviceID.equals(spUserDeviceID)&& userIsLogin==spUserLogin )
- {
- Log.e("check Login","retern true");
- return true;
- }
- Log.e("check Login","retern false");
- return false;
- }
- public static void setLogin(String userDeviceID, Status status ,boolean userIsLogin,Context context){
- SharedPreferences prefs=context.getSharedPreferences("userLoginPrefs",Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = prefs.edit();
- editor.putString("userDeviceID",userDeviceID);
- editor.putString("userStatus", status.name());
- editor.putBoolean("userIsLogin",userIsLogin);
- editor.commit();
- Log.e("set Login:","end");
- }
- public static void SetUserPrefInfo(User user, Context context){
- SharedPreferences prefs=context.getSharedPreferences("userPrefs",Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = prefs.edit();
- editor.putString("userName",user.get_userName());
- editor.putString("userPass",user.getUserPass());
- editor.putString("userFirstName",user.getUserFirstName());
- editor.putString("userLastName",user.getUserLastName());
- editor.putString("userPhonNum",user.getUserPhonNum());
- editor.putString("userGander",user.getUserGander());
- editor.putString("userDeviseId",user.getUserDeviseId());
- editor.putString("userPic",user.getUserPic());
- editor.putString("userStatus",user.getUserStatus().name());
- editor.putInt("userWarning",user.getUserWarning());
- editor.putInt("userPoint",user.getUserPoint());
- SimpleDateFormat dateFormat=new SimpleDateFormat("dd/mm/yyyy");
- editor.putString("userAge",dateFormat.format(user.getUserAge()));
- if(user.getUserGpsLocation()!=null) {
- editor.putString("userGpsLatitude", ((Double) user.getUserGpsLocation().getLatitude()).toString());
- editor.putString("userGpsAltitude", ((Double) user.getUserGpsLocation().getAltitude()).toString());
- }else
- editor.putString("userGpsLatitude", null);
- editor.putString("userGpsAltitude", null);
- editor.commit();
- Log.e("set UserPrefInfo: ","end");
- }
- public static User getUserPrefInfo(Context context){
- SharedPreferences prefs=context.getSharedPreferences("userPrefs",Context.MODE_PRIVATE);
- Date userAge=new Date();
- try {
- userAge=new SimpleDateFormat("dd/mm/yyyy").parse(prefs.getString("userAge","00/00/0000"));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- User user= new User(prefs.getString("userDeviseId",null),prefs.getString("userName",null),prefs.getString("userPass",null),
- prefs.getString("userPhonNum",null),Status.valueOf(prefs.getString("userStatus",null)),
- userAge, prefs.getString("userGander",null), prefs.getString("userLastName",null),
- prefs.getString("userFirstName",null),prefs.getString("userPic","userPic"),prefs.getInt("userWarning",0)
- ,prefs.getInt("userPoint",0));
- if((prefs.getString("userFirstName",null))!=null
- && (prefs.getString("userFirstName",null))!= null)
- {
- Location location = new Location("");
- Double altitude = Double.valueOf(prefs.getString("userGpsAltitude", "0.0"));
- Double latitude = Double.valueOf(prefs.getString("userGpsLatitude", "0.0"));
- location.setAltitude(altitude);
- location.setLatitude(latitude);
- user.setUserGpsLocation(location);
- }
- return user;
- }
- }
- Register.class
- ===============================================================
- package com.example.mazal.akatonshildprojct;
- import android.content.Intent;
- import android.provider.Settings.Secure;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CompoundButton;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.RadioButton;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.cloudant.client.api.ClientBuilder;
- import com.cloudant.client.api.CloudantClient;
- import com.cloudant.client.api.Database;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- public class Register extends AppCompatActivity {
- Context context;
- final String API_KEY="theaverseedessillessided";
- final String API_SECRET="e3a4e995ba3a0015d4ff01c8aa87202bf184c8b0";
- final String API_GATEWAY="06daea71-b918-4743-86ed-0c1e101b0786-bluemix";
- final String API_DB="hero_db";
- EditText edtFirstName,edtLastName,edtPass,edtOkPass,edtDate,edtUserName;
- RadioButton rdbMale,rdbFemale,rdbUser,rdbHelper;
- Button ibtnProfile;
- User user;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_register);
- pointer();
- }
- private void pointer() {
- this.context=this;
- edtFirstName=findViewById(R.id.register_name);
- edtLastName=findViewById(R.id.register_last_name);
- edtPass=findViewById(R.id.register_user_password);
- edtOkPass=findViewById(R.id.register_OKUser_name);
- edtDate=findViewById(R.id.register_birthday);
- edtUserName=findViewById(R.id.register_user_name);
- rdbMale=findViewById(R.id.register_male);
- rdbFemale=findViewById(R.id.register_female);
- rdbHelper=findViewById(R.id.register_i_am_user);
- rdbUser=findViewById(R.id.register_i_am_volunteer);
- ibtnProfile=findViewById(R.id.register_picture);
- setRadioButton();
- }
- private void setRadioButton() {
- rdbMale.setChecked(true);
- rdbUser.setChecked(true);
- rdbFemale.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
- compoundButton.setChecked(b);
- rdbMale.setChecked(!b);
- }
- });
- rdbMale.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
- compoundButton.setChecked(b);
- rdbFemale.setChecked(!b);
- }
- });
- rdbUser.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
- compoundButton.setChecked(b);
- rdbHelper.setChecked(!b);
- }
- });
- rdbHelper.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
- compoundButton.setChecked(b);
- rdbUser.setChecked(!b);
- }
- });
- }
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.btn_Registration: {
- Log.e("Ragister", " switch 1");
- setUser();
- }
- break;
- }
- }
- @SuppressLint("StaticFieldLeak")
- private void setUser() {
- Log.e("Ragister"," btn fonction" );
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... voids) {
- Log.e("Ragister"," AsyncTask" );
- boolean isOK=true;
- //lets connect to our DB.
- CloudantClient client = ClientBuilder
- .account(API_GATEWAY)
- .username(API_KEY)
- .password(API_SECRET)
- .build();
- Database db = client.database(API_DB, false);
- Log.e("Ragister"," conect to db" );
- /* db.save(new User("0000","testUser","1234","0000"
- , com.example.mazal.akatonshildprojct.Status.user,new Date(),"Male","sdfsfdds"
- ,"zxczc","user_pic",0,0));
- Log.e("Ragister"," test user seved" );*/
- if(!db.contains(edtUserName.getText().toString()) & !edtUserName.getText().toString().equals("")) {
- Log.e("Ragister","can't find on db "+edtUserName.getText().toString()+",and no empty" );
- if (edtPass.getText().toString().equals(edtOkPass.getText().toString())) {
- Log.e("Ragister",edtPass.getText().toString()+" equals to "+(edtOkPass.getText().toString()) );
- String android_id = Secure.getString(context.getContentResolver(),
- Secure.ANDROID_ID);
- Date userAge=new Date();
- try {
- userAge=new SimpleDateFormat("dd/mm/yyyy").parse(edtDate.getText().toString());
- } catch (ParseException e) {
- e.printStackTrace();
- }
- user = new User(android_id,edtUserName.getText().toString(),edtPass.getText().toString(),"",
- getNewStatus(),userAge,getGender(), edtLastName.getText().toString(),edtFirstName.getText().toString(),
- ibtnProfile.getText().toString(),0,0);
- Log.e("Ragister",user.toString());
- db.save(user);
- User_SharedPref.SetUserPrefInfo(user,context);
- }else{
- Log.e("Ragister","Pass: "+edtPass.getText().toString()+" not equals to OkPass: "+edtOkPass.getText().toString());
- }
- }else{
- Log.e("Ragister","user name exists or empty");
- }
- return null;
- }
- @Override
- protected void onPostExecute(Void aVoid) {
- Toast.makeText(context, "Data was saved...", Toast.LENGTH_SHORT).show();
- if(getNewStatus().name().equals("user")){
- startActivity(new Intent(context, userScreen.class));
- }else{
- startActivity(new Intent(context, hlperScreen.class));
- }
- }
- }.execute();
- }
- private Status getNewStatus(){
- if(rdbUser.isChecked()){
- return Status.user;
- }else
- {
- return Status.helper;
- }
- }
- private String getGender(){
- if(rdbMale.isChecked()){
- return "Male";
- }else
- {
- return "Female";
- }
- }
- }
- User.class
- ================================================================================================
- package com.example.mazal.akatonshildprojct;
- import android.content.Context;
- import android.location.Location;
- import android.os.AsyncTask;
- import android.provider.Settings;
- import java.util.Date;
- /**
- * Created by mazal on 11/12/2017.
- */
- enum Status{user,helper,block;}
- public class User {
- private String _id; //unick user name
- private String userPass;
- private String userPhonNum;
- private String userDeviseId;
- private Status userStatus;
- private Date userAge;
- private String userGander;
- private String userLastName;
- private String userName;
- private Location userGpsLocation;
- private String userPic;
- private int userWarning;
- private int userPoint;
- public User(String userDeviseId, String userName, String userPass, String userPhonNum, Status userStatus,
- Date userAge, String userGander, String userLastName, String name, String userPic, int userWarning,int userPoint) {
- this._id = userName;
- this.userPass = userPass;
- this.userPhonNum = userPhonNum;
- this.userDeviseId = userDeviseId;
- this.userStatus = userStatus;
- this.userAge = userAge;
- this.userGander = userGander;
- this.userLastName = userLastName;
- this.userName = name;
- if(userPic!=null)
- {this.userPic = userPic;}
- else
- { this.userPic="user_pic";}
- this.userWarning = userWarning;
- this.userPoint = userPoint;
- }
- public String get_userName() {
- return _id;
- }
- public String getUserPass() {
- return userPass;
- }
- public void setUserPass(String userPass) {
- this.userPass = userPass;
- }
- public String getUserPhonNum() {
- return userPhonNum;
- }
- public void setUserPhonNum(String userPhonNum) {
- this.userPhonNum = userPhonNum;
- }
- public String getUserDeviseId() {
- return userDeviseId;
- }
- public void setUserDeviseId(Context context) {
- this.userDeviseId = Settings.Secure.getString(context.getContentResolver(),
- Settings.Secure.ANDROID_ID);
- }
- public Status getUserStatus() {
- return userStatus;
- }
- public void setUserStatus(Status userStatus) {
- this.userStatus = userStatus;
- }
- public Date getUserAge() {
- return userAge;
- }
- public void setUserAge(Date userAge) {
- this.userAge = userAge;
- }
- public String getUserGander() {
- return userGander;
- }
- public void setUserGander(String userGander) {
- this.userGander = userGander;
- }
- public String getUserLastName() {
- return userLastName;
- }
- public void setUserLastName(String userLastName) {
- this.userLastName = userLastName;
- }
- public String getUserFirstName() {
- return userName;
- }
- public void setUserFirstName(String userFirstName) {
- this.userName = userFirstName;
- }
- public Location getUserGpsLocation() {
- return userGpsLocation;
- }
- public void setUserGpsLocation(Location userGpsLocation) {
- this.userGpsLocation = userGpsLocation;
- }
- public String getUserPic() {
- return userPic;
- }
- public void setUserPic(String userPic) {
- this.userPic = userPic;
- }
- public void setUserDeviseId(String userDeviseId) {
- this.userDeviseId = userDeviseId;
- }
- public int getUserWarning() {
- return userWarning;
- }
- public void setUserWarning(int userWarning) {
- this.userWarning = userWarning;
- if(this.userWarning>=3){
- setUserStatus(Status.block);
- }
- }
- public int getUserPoint() {
- return userPoint;
- }
- public void setUserPoint(int userPoint) {
- this.userPoint = userPoint;
- }
- @Override
- public String toString() {
- return "User{" +
- "_id='" + _id + '\'' +
- ", userPass='" + userPass + '\'' +
- ", userPhonNum='" + userPhonNum + '\'' +
- ", userDeviseId='" + userDeviseId + '\'' +
- ", userStatus=" + userStatus +
- ", userAge=" + userAge +
- ", userGander='" + userGander + '\'' +
- ", userLastName='" + userLastName + '\'' +
- ", userName='" + userName + '\'' +
- ", userGpsLocation=" + userGpsLocation +
- ", userPic='" + userPic + '\'' +
- ", userPoint='" + userPoint + '\'' +
- ", userWarning=" + userWarning +
- '}';
- }
- }
- hlperScreen.class
- =========================================================================
- package com.example.mazal.akatonshildprojct;
- import java.io.IOException;
- import java.util.List;
- import android.app.AlertDialog;
- import android.app.Dialog;
- import android.app.ListActivity;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Toast;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.support.v7.app.AppCompatActivity;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.cloudant.client.api.ClientBuilder;
- import com.cloudant.client.api.CloudantClient;
- import com.cloudant.client.api.Database;
- public class hlperScreen extends AppCompatActivity{
- final Context context=this;
- final String API_KEY="theaverseedessillessided";
- final String API_SECRET="e3a4e995ba3a0015d4ff01c8aa87202bf184c8b0";
- final String API_GATEWAY="06daea71-b918-4743-86ed-0c1e101b0786-bluemix";
- final String API_DB="hero_db";
- List<String> ID;
- String S="";
- TextView txtMsg;
- List<User> listUser;
- User u;
- @SuppressLint("StaticFieldLeak")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_hlper_screen);
- txtMsg=findViewById(R.id.txtMsg);
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... voids) {
- CloudantClient client = ClientBuilder
- .account(API_GATEWAY)
- .username(API_KEY)
- .password(API_SECRET)
- .build();
- Database db = client.database(API_DB, false);
- try {
- listUser =db.getAllDocsRequestBuilder().includeDocs(true).build().getResponse().getDocsAs(User.class);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- @Override
- protected void onPostExecute(Void aVoid) {
- txtMsg.setText("null");
- // txtMsg.setText(u.toString());
- if(listUser!=null){
- /* for(String s:ID){
- S+=s.toString()+"\n";
- }*/
- for (User user:listUser ) {
- S+=user.toString()+"\n";
- } txtMsg.setText(S);
- }
- Toast.makeText(context, "Data was saved...", Toast.LENGTH_SHORT).show();
- }
- }.execute();
- }
- }
- userScreen.class
- ===================================================================
- package com.example.mazal.akatonshildprojct;
- import android.provider.Settings.Secure;
- import android.Manifest;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.pm.PackageManager;
- import android.location.Address;
- import android.location.Criteria;
- import android.location.Geocoder;
- import android.location.Location;
- import android.location.LocationListener;
- import android.location.LocationManager;
- import android.os.AsyncTask;
- import android.os.Build;
- import android.support.annotation.NonNull;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.cloudant.client.api.ClientBuilder;
- import com.cloudant.client.api.CloudantClient;
- import com.cloudant.client.api.Database;
- import java.io.IOException;
- import java.security.Provider;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Locale;
- public class userScreen extends AppCompatActivity implements LocationListener{
- final Context context=this;
- final String API_KEY="theaverseedessillessided";
- final String API_SECRET="e3a4e995ba3a0015d4ff01c8aa87202bf184c8b0";
- final String API_GATEWAY="06daea71-b918-4743-86ed-0c1e101b0786-bluemix";
- final String API_DB="hero_db";
- Location myLocation=null;
- LocationManager gpsManager;
- boolean gpsEnabled=false;
- boolean gpsRedy=false;
- TextView txtMsg;
- User thisUser;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_user_screen);
- setPointr();
- setGPS();
- }
- @SuppressLint("StaticFieldLeak")
- public void onClick(View view) {
- if (myLocation != null) {
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... voids) {
- //lets connect to our DB.
- CloudantClient client = ClientBuilder
- .account(API_GATEWAY)
- .username(API_KEY)
- .password(API_SECRET)
- .build();
- Database db = client.database(API_DB, false);
- // A java type that can be serialezed to JSON
- //Bizzo Tomer = new Bizzo("tomerHaTachun","Tomer",32,true,true,45000,true);
- //Bizzo Itzik = new Bizzo("Itzik", 31, true,true,8500,false);
- //Bizzo Itzik_After = new Bizzo("Itzik",32,true,false,52000,true);
- //Bizzo Shaul = new Bizzo("Shaul",33,false,false,12000,false);
- db.save(thisUser);
- //db.save(Itzik);
- //db.save(Itzik_After);
- //db.save(Shaul);
- // Bizzo myBizzoTachun = db.find(Bizzo.class,"tomerHaTachun");
- // Log.e("test", "doInBackground: "+myBizzoTachun.name+" age:"+myBizzoTachun.age);
- return null;
- }
- @Override
- protected void onPostExecute(Void aVoid) {
- Toast.makeText(context, "Data was saved...", Toast.LENGTH_SHORT).show();
- txtMsg.setText("The request sent ");
- }
- }.execute();
- }
- }
- private void setPointr() {
- txtMsg=findViewById(R.id.txtMsg);
- // thisUser=new User(myLocation,Status.user, Secure.getString(context.getContentResolver(),
- // Secure.ANDROID_ID),"user");
- }
- private void setGPS() {
- //deal with GPS
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
- return;
- }
- gpsManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
- // gpsManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30, 50, this);
- //for mobile device only, since we don't have a network GPRS on our F emulator
- gpsManager.requestLocationUpdates(getBestProvider(),30,50,this);
- }
- private String getBestProvider()
- {
- gpsManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
- Criteria criteria= new Criteria();
- criteria.setAccuracy(Criteria.ACCURACY_FINE);
- criteria.setAltitudeRequired(true);
- criteria.setBearingRequired(true);
- Log.e("provider", "getBestProvider: "+gpsManager.getBestProvider(criteria,true));
- return gpsManager.getBestProvider(criteria,true);
- }
- private void requestGpsPerm() {
- List<String> permList=new ArrayList<>();
- int finePerm = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
- int corasePerm = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION);
- int audioPerm = ContextCompat.checkSelfPermission(this,Manifest.permission.RECORD_AUDIO);
- gpsEnabled=true;
- if (finePerm != PackageManager.PERMISSION_GRANTED) {
- permList.add(Manifest.permission.ACCESS_FINE_LOCATION);
- gpsEnabled=false;
- }
- if (corasePerm != PackageManager.PERMISSION_GRANTED)
- {
- permList.add(Manifest.permission.ACCESS_COARSE_LOCATION);
- gpsEnabled=false;
- }
- if (audioPerm != PackageManager.PERMISSION_GRANTED)
- {
- permList.add(Manifest.permission.RECORD_AUDIO);
- }
- if (!permList.isEmpty())
- {
- ActivityCompat.requestPermissions(this, permList.toArray(new String[permList.size()]),100);
- }
- else
- {
- gpsManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
- gpsManager.requestLocationUpdates(getBestProvider(), 30, 50, this);
- }
- }
- @Override
- public void onLocationChanged(Location location) {
- gpsRedy=true;
- this.myLocation=location;
- Log.e("GPS", "onLocationChanged: "+location.getLatitude()+","+location.getLongitude());
- // txtMsg.setText("onLocationChanged: "+location.getLatitude()+","+location.getLongitude());
- //Geocoder....
- /* Geocoder gcd;
- if (Build.VERSION.SDK_INT >=21) //android 5.00 and above
- {
- //gcd = new Geocoder(this, Locale.forLanguageTag("en"));
- gcd = new Geocoder(this,Locale.forLanguageTag("he"));
- }
- else
- {
- gcd = new Geocoder(this);
- }
- List<Address> addresses = null;
- try {
- addresses = gcd.getFromLocation(myLocation.getLatitude(),myLocation.getLongitude(),1);
- } catch (IOException e) {
- e.printStackTrace();
- }
- if (addresses==null) return;
- if (addresses.size()>0)
- {
- Log.e("GCD", "onLocationChanged: "+ addresses.get(0).toString() );
- } */
- }
- @Override
- public void onStatusChanged(String s, int i, Bundle bundle) {
- Toast.makeText(context, "GPS Status changed", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onProviderEnabled(String s) {
- Toast.makeText(context, "GPS is on", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onProviderDisabled(String s) {
- Toast.makeText(context, "GPS is off", Toast.LENGTH_SHORT).show();
- }
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- if (requestCode==100)
- {
- Log.e("perm", "onRequestPermissionsResult: "+permissions.toString() );
- Log.e("grant", "onRequestPermissionsResult: "+grantResults );
- }
- }
- }
- add to manifest
- =========================================================
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- <uses-permission android:name="android.permission.INTERNET" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement