diff --git a/app/src/main/java/com/speedyapps/keepyousafe/MainActivity.java b/app/src/main/java/com/speedyapps/keepyousafe/MainActivity.java index fb638ac1eb4bea7c0e5854667827015e6f13edb5..7e96038d83382bc0ecf68ef038d9af717969645b 100644 --- a/app/src/main/java/com/speedyapps/keepyousafe/MainActivity.java +++ b/app/src/main/java/com/speedyapps/keepyousafe/MainActivity.java @@ -1,10 +1,15 @@ package com.speedyapps.keepyousafe; +import android.Manifest; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageManager; +import android.os.Build; import android.support.annotation.MainThread; +import android.support.annotation.RequiresApi; +import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; @@ -12,16 +17,23 @@ import android.telephony.SmsManager; import android.util.Log; import android.view.View; import android.widget.ImageButton; +import android.widget.Toast; + +import java.util.ArrayList; +import java.util.List; public class MainActivity extends AppCompatActivity { Intent intent; int choice; SharedPreferences firsttime; - + private static final int REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS = 291; + int backCount=0; + @RequiresApi(api = Build.VERSION_CODES.M) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + requestPermissionsApp(); firsttime = this.getSharedPreferences("firsttimecheck",MODE_PRIVATE); SharedPreferences.Editor editor = firsttime.edit(); String checkString = firsttime.getString("status","false"); @@ -54,6 +66,7 @@ public class MainActivity extends AppCompatActivity { } public void onClick(){ + backCount=0; Log.i("zz",""+choice); switch(choice) { case 0: @@ -68,10 +81,69 @@ public class MainActivity extends AppCompatActivity { public void contact(View v) { - + backCount=0; Intent i=new Intent(this,ContactSelection.class); startActivity(i); } + @Override + public void onBackPressed() { + Toast.makeText(this, "Press Back Button One More Time To Exit Application!!", Toast.LENGTH_SHORT).show(); + if(backCount==1){ + finish(); + } + backCount=(backCount+1)%2; + } + + + @RequiresApi(api = Build.VERSION_CODES.M) + void requestPermissionsApp(){ + List<String> permissionsNeeded = new ArrayList<String>(); + final List<String> permissionsList = new ArrayList<String>(); + permissionsList.clear(); + permissionsNeeded.clear(); + if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_CONTACTS)!= PackageManager.PERMISSION_GRANTED) { + permissionsList.add(Manifest.permission.READ_CONTACTS); + permissionsNeeded.add("Read Contacts"); + } + if (ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.SEND_SMS)!=PackageManager.PERMISSION_GRANTED) { + permissionsList.add(Manifest.permission.SEND_SMS); + permissionsList.add(Manifest.permission.RECEIVE_SMS); + permissionsList.add(Manifest.permission.READ_SMS); + permissionsNeeded.add("Send SMS"); + permissionsNeeded.add("Receive SMS"); + permissionsNeeded.add("Read SMS"); + } + if (permissionsList.size() > 0) { + if (permissionsNeeded.size() > 0) { + String message = "You need to grant access to " + permissionsNeeded.get(0); + for (int i = 1; i < permissionsNeeded.size(); i++) + message = message + ", " + permissionsNeeded.get(i); + showMessageOKCancel(message, + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + requestPermissions(permissionsList.toArray(new String[permissionsList.size()]),REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS); + } + }); + return; + } + requestPermissions(permissionsList.toArray(new String[permissionsList.size()]), REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS); + return; + } + + // requestPermissionsApp(); + } + + + + private void showMessageOKCancel(String message, DialogInterface.OnClickListener okListener) { + new AlertDialog.Builder(MainActivity.this) + .setMessage(message) + .setPositiveButton("OK", okListener) + .setNegativeButton("Cancel", null) + .create() + .show(); + } } diff --git a/app/src/main/java/com/speedyapps/keepyousafe/confirmationScreen.java b/app/src/main/java/com/speedyapps/keepyousafe/confirmationScreen.java index bf52d332783c1c883ef8ecb4c2cecc350a068ff5..03a4a297067a763d66c95868e99c82709425936a 100644 --- a/app/src/main/java/com/speedyapps/keepyousafe/confirmationScreen.java +++ b/app/src/main/java/com/speedyapps/keepyousafe/confirmationScreen.java @@ -64,10 +64,6 @@ public class confirmationScreen extends AppCompatActivity { Intent main = new Intent(confirmationScreen.this,MainActivity.class); startActivity(main); } - else if(textView.getText().toString().equals("0")) { - distressCall(); - handler2.postDelayed(this,100); - } else handler2.postDelayed(this,100);