Skip to content
Snippets Groups Projects
Commit c0428758 authored by root's avatar root
Browse files

Fully Functional. UI Changes

parent 5c7557c6
Branches
No related tags found
No related merge requests found
Showing
with 517 additions and 144 deletions
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="AndroidLintAppCompatResource" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="AndroidLintLongLogTag" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false">
<option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" />
<option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" />
</inspection_tool>
<inspection_tool class="ResourceType" enabled="false" level="ERROR" enabled_by_default="false" />
</profile>
</component>
\ No newline at end of file
......@@ -24,8 +24,9 @@ dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.google.android.gms:play-services-maps:10.2.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
......@@ -17,11 +17,10 @@
android:icon="@mipmap/kms"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/MyTheme">
<activity android:name=".MainActivity"
<activity
android:name=".MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......@@ -29,18 +28,19 @@
</intent-filter>
</activity>
<receiver android:name=".SMSManager" android:exported="true" >
<receiver
android:name=".SMSManager"
android:exported="true">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<activity android:name=".ContactSelection"
<activity
android:name=".ContactSelection"
android:screenOrientation="portrait" />
<activity android:name=".confirmationScreen"
<activity
android:name=".confirmationScreen"
android:screenOrientation="portrait" />
<!--
The API key for Google Maps-based APIs is defined as a string resource.
......@@ -54,11 +54,19 @@
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<service
android:name=".alarmService"
android:enabled="true"
android:exported="true" />
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps" />
<activity android:name=".Settings" />
<activity android:name=".changePassword" />
<activity android:name=".Welcome_Activity">
</activity>
</application>
</manifest>
\ No newline at end of file
......@@ -33,8 +33,6 @@ public class ContactSelection extends Activity {
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;
......@@ -48,8 +46,6 @@ public class ContactSelection extends Activity {
String n1;
String name;
String number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -63,17 +59,11 @@ public class ContactSelection extends Activity {
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
......@@ -223,5 +213,12 @@ public class ContactSelection extends Activity {
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
Intent main=new Intent(ContactSelection.this,MainActivity.class);
startActivity(main);
finish();
}
}
......@@ -14,9 +14,13 @@ import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
......@@ -28,7 +32,7 @@ public class MainActivity extends AppCompatActivity {
Intent intent;
int choice;
MapsActivity maps ;
SharedPreferences firsttime;
SharedPreferences firsttime,settings;
private static final int REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS = 291;
int backCount=0;
@RequiresApi(api = Build.VERSION_CODES.M)
......@@ -36,25 +40,22 @@ public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermissionsApp();
maps=new MapsActivity();
firsttime = this.getSharedPreferences("firsttimecheck",MODE_PRIVATE);
SharedPreferences.Editor editor = firsttime.edit();
settings=getSharedPreferences("settings",MODE_PRIVATE);
String checkString = firsttime.getString("status","false");
if(!checkString.equals("true")){
editor.putString("status","true");
editor.apply();
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.alert_dark_frame)
.setTitle("Instructions!")
.setMessage("How To Use : - \nStep 1 : - Add Trusted Contacts from your Existing Android Contacts to whom Distress Messages are to be Sent! \nStep 2 : - In Case of an Emergency, Open The App and Long Press The HELP Button! \nPlease Also Do the Following to Ensure Proper Functioning of the Application! \n1)If you have a Dual SIM phonw, Please set any one of them as default for sending SMS from settings > SIM cards! \n2) Add this app as an exception in any Task Killer apps if you are using any! \n3) Setup a PIN Code in the Next Screen for Security ! ")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("zz","OK");
}
}).show();
editor.commit();
settings.edit().putString("PIN","2020").commit();
settings.edit().putString("alarm","on");
Intent welcome = new Intent(MainActivity.this,Welcome_Activity.class);
startActivity(welcome);
finish();
}
requestPermissionsApp();
intent = new Intent(MainActivity.this,confirmationScreen.class);
choice=0;
//Intent serviceIntent = new Intent(MainActivity.this,SMSReader.class);
......@@ -70,13 +71,7 @@ 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();
......@@ -86,7 +81,6 @@ public class MainActivity extends AppCompatActivity {
backCount=(backCount+1)%2;
}
@RequiresApi(api = Build.VERSION_CODES.M)
void requestPermissionsApp(){
List<String> permissionsNeeded = new ArrayList<String>();
......@@ -101,9 +95,12 @@ public class MainActivity extends AppCompatActivity {
permissionsList.add(Manifest.permission.SEND_SMS);
permissionsList.add(Manifest.permission.RECEIVE_SMS);
permissionsList.add(Manifest.permission.READ_SMS);
permissionsList.add(Manifest.permission.ACCESS_FINE_LOCATION);
permissionsList.add(Manifest.permission.ACCESS_COARSE_LOCATION);
permissionsNeeded.add("Send SMS");
permissionsNeeded.add("Receive SMS");
permissionsNeeded.add("Read SMS");
permissionsList.add("Get GPS");
}
if (permissionsList.size() > 0) {
if (permissionsNeeded.size() > 0) {
......@@ -126,9 +123,6 @@ public class MainActivity extends AppCompatActivity {
// requestPermissionsApp();
}
private void showMessageOKCancel(String message, DialogInterface.OnClickListener okListener) {
new AlertDialog.Builder(MainActivity.this)
.setMessage(message)
......@@ -137,18 +131,6 @@ public class MainActivity extends AppCompatActivity {
.create()
.show();
}
private void refreshLocation(Location location) {
Double longitude = location.getLongitude();
Double latitude = location.getLatitude();
Double altitude = location.getAltitude();
StringBuilder sb = new StringBuilder();
sb.append("Longitude:").append(longitude).append("\n");
sb.append("Latitude:").append(latitude).append("\n");
sb.append("Altitude:").append(altitude);
Intent intent = new Intent(MainActivity.this,MapsActivity.class);
startActivity(intent);
}
@Override
protected void onPause() {
......@@ -159,4 +141,32 @@ public class MainActivity extends AppCompatActivity {
protected void onResume() {
super.onResume();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.mainmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.settings:
//your code here
Intent tempSettings= new Intent(this,Settings.class);
startActivity(tempSettings);
finish();
return true;
case R.id.contacts:
backCount=0;
Intent i=new Intent(this,ContactSelection.class);
startActivity(i);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
......@@ -5,35 +5,33 @@ import android.content.SharedPreferences;
import android.os.Handler;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.widget.Toast;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.CircleOptions;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MapStyleOptions;
import com.google.android.gms.maps.model.MarkerOptions;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
SharedPreferences sp;
SharedPreferences sp,settings;
Double latitude,longitude;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
sp=getSharedPreferences("locationinfo",MODE_PRIVATE);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapText);
mapFragment.getMapAsync(this);
sp=getSharedPreferences("locationinfo",MODE_PRIVATE);
settings=getSharedPreferences("settings",MODE_PRIVATE);
final Handler handler = new Handler();
Runnable run = new Runnable() {
@Override
public void run() {
......@@ -47,23 +45,6 @@ public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
handler.post(run);
}
@Override
protected void onStart() {
super.onStart();
sp.edit().putString("status","running").commit();
}
@Override
protected void onStop() {
super.onStop();
sp.edit().putString("status","stopped").commit();
}
@Override
protected void onPause() {
super.onPause();
sp.edit().putString("status","paused").commit();
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
......@@ -76,9 +57,28 @@ public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
Toast.makeText(this, ""+latitude+longitude, Toast.LENGTH_SHORT).show();
if(latitude!=0.00) {
LatLng currentLocation = new LatLng(latitude,longitude);
Toast.makeText(this, ""+settings.getString("maptype","null"), Toast.LENGTH_SHORT).show();
switch (settings.getString("maptype","null")){
case "NORMAL":
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
break;
case "HYBRID":
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
break;
case "SATELITE":
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
break;
case "TERRAIN":
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
break;
default:
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
mMap.addMarker(new MarkerOptions().position(currentLocation).title("Last known Location !"));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude,longitude),18));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude,longitude),18));
}
}
......@@ -87,4 +87,6 @@ public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
Intent main = new Intent(MapsActivity.this,MainActivity.class);
startActivity(main);
}
}
package com.speedyapps.keepyousafe;
import android.app.ActivityManager;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.SwitchCompat;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Switch;
import android.widget.Toast;
import java.util.ArrayList;
public class Settings extends AppCompatActivity {
String value;
ArrayList<String> arrayList;
ArrayAdapter<String> arrayAdapter;
Switch sw;
SharedPreferences sp;
Runnable runnable;
String spinnerString;
EditText et;
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
spinner=(Spinner)findViewById(R.id.spinner);
arrayList=new ArrayList<>();
arrayList.add("NORMAL");
arrayList.add("SATELITE");
arrayList.add("TERRAIN");
arrayList.add("HYBRID");
arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,arrayList);
spinner.setAdapter(arrayAdapter);
sp=getSharedPreferences("settings",MODE_PRIVATE);
sw=(Switch)findViewById(R.id.switch1);
et = (EditText)findViewById(R.id.editText2);
sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
sp.edit().putString("alarm","on").commit();
}
else
sp.edit().putString("alarm","off").commit();
}
});
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> adapterView, View view,
int i, long l) {
spinnerString= spinner.getItemAtPosition(i).toString();
sp.edit().putString("maptype",spinnerString).commit();
}
public void onNothingSelected(
AdapterView<?> adapterView) {
}
});
}
public void changePIN(View view){
Intent intent = new Intent(Settings.this,changePassword.class);
startActivity(intent);
}
@Override
public void onBackPressed() {
if(!et.getText().toString().isEmpty()){
sp.edit().putString("timer",et.getText().toString()).commit();
}
Intent main = new Intent(Settings.this,MainActivity.class);
startActivity(main);
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
package com.speedyapps.keepyousafe;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class Welcome_Activity extends Activity {
private ViewPager viewPager;
private MyViewPagerAdapter myViewPagerAdapter;
private LinearLayout dotsLayout;
private TextView[] dots;
private int[] layouts;
private Button btnSkip, btnNext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
if (Build.VERSION.SDK_INT >= 21) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
setContentView(R.layout.activity_welcome_);
viewPager = (ViewPager) findViewById(R.id.view_pager);
dotsLayout = (LinearLayout) findViewById(R.id.layoutDots);
btnSkip = (Button) findViewById(R.id.btn_skip);
btnNext = (Button) findViewById(R.id.btn_next);
// layouts of all welcome sliders
// add few more layouts if you want
layouts = new int[]{
R.layout.welcome_side1,
R.layout.welcome_side2,
R.layout.welcome_side3,
R.layout.welcome_side4};
// adding bottom dots
addBottomDots(0);
// making notification bar transparent
changeStatusBarColor();
myViewPagerAdapter = new MyViewPagerAdapter();
viewPager.setAdapter(myViewPagerAdapter);
viewPager.addOnPageChangeListener(viewPagerPageChangeListener);
btnSkip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
launchHomeScreen();
}
});
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// checking for last page
// if last page home screen will be launched
int current = getItem(+1);
if (current < layouts.length) {
// move to next screen
viewPager.setCurrentItem(current);
} else {
launchHomeScreen();
}
}
});
}
private void addBottomDots(int currentPage) {
dots = new TextView[layouts.length];
int[] colorsActive = getResources().getIntArray(R.array.array_dot_active);
int[] colorsInactive = getResources().getIntArray(R.array.array_dot_inactive);
dotsLayout.removeAllViews();
for (int i = 0; i < dots.length; i++) {
dots[i] = new TextView(this);
dots[i].setText(Html.fromHtml("&#8226;"));
dots[i].setTextSize(35);
dots[i].setTextColor(colorsInactive[currentPage]);
dotsLayout.addView(dots[i]);
}
if (dots.length > 0)
dots[currentPage].setTextColor(colorsActive[currentPage]);
}
private int getItem(int i) {
return viewPager.getCurrentItem() + i;
}
private void launchHomeScreen() {
//set pref as not first
startActivity(new Intent(Welcome_Activity.this, MainActivity.class));
finish();
}
// viewpager change listener
ViewPager.OnPageChangeListener viewPagerPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
addBottomDots(position);
// changing the next button text 'NEXT' / 'GOT IT'
if (position == layouts.length - 1) {
// last page. make button text to GOT IT
btnNext.setText(getString(R.string.start));
btnSkip.setVisibility(View.GONE);
} else {
// still pages are left
btnNext.setText(getString(R.string.next));
btnSkip.setVisibility(View.VISIBLE);
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
};
/**
* Making notification bar transparent
*/
private void changeStatusBarColor() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
}
}
/**
* View pager adapter
*/
public class MyViewPagerAdapter extends PagerAdapter {
private LayoutInflater layoutInflater;
public MyViewPagerAdapter() {
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(layouts[position], container, false);
container.addView(view);
return view;
}
@Override
public int getCount() {
return layouts.length;
}
@Override
public boolean isViewFromObject(View view, Object obj) {
return view == obj;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View view = (View) object;
container.removeView(view);
}
}
}
......@@ -8,6 +8,7 @@ import android.os.Handler;
import android.os.IBinder;
import android.provider.MediaStore;
import android.widget.MediaController;
import android.widget.Toast;
public class alarmService extends Service {
MediaPlayer mediaPlayer;
......@@ -21,7 +22,6 @@ public class alarmService extends Service {
@Override
public void onCreate() {
super.onCreate();
mediaPlayer = MediaPlayer.create(this,R.raw.danger);
forceFullVolume();
......
package com.speedyapps.keepyousafe;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class changePassword extends AppCompatActivity {
SharedPreferences sp;
EditText oldP,newP,confirmP;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_password);
oldP=(EditText)findViewById(R.id.editText5);
newP=(EditText)findViewById(R.id.editText6);
confirmP=(EditText)findViewById(R.id.editText7);
tv=(TextView)findViewById(R.id.textView15);
sp=getSharedPreferences("settings",MODE_PRIVATE);
}
public void onPINClick(View view){
if(oldP.getText().toString().equals(sp.getString("PIN","null"))){
if(newP.getText().toString().equals(confirmP.getText().toString())){
Toast.makeText(this, "Successfully Changed PIN", Toast.LENGTH_SHORT).show();
sp.edit().putString("PIN", newP.getText().toString()).commit() ;
Intent intent = new Intent(changePassword.this,Settings.class);
startActivity(intent);
finish();
}
else
{
tv.setText("Entered new Passwords Don't Match!");
}
}
else{
tv.setText("Old Password Wrong!");
}
}
}
......@@ -42,8 +42,9 @@ public class confirmationScreen extends AppCompatActivity implements LocationLis
EditText editText;
Double latitude = null, longitude = null,newlat=null,newlong=null;
Handler timehandler;
SharedPreferences sharedpreferences, sp, shared;
SharedPreferences sharedpreferences, sp, shared,settings;
String n;
Intent alarmIntent;
String n1;
LocationProvider provider;
int count, i;
......@@ -56,70 +57,17 @@ public class confirmationScreen extends AppCompatActivity implements LocationLis
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_confirmation_screen);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (!enabled) {
Toast.makeText(this, "Please Enable GPS to use KeepMeSafe", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
provider = locationManager.getProvider(LocationManager.GPS_PROVIDER);
Toast.makeText(this, "Provider"+provider, Toast.LENGTH_SHORT).show();
handler = new Handler();
handler2 = new Handler();
timehandler = new Handler();
//alarmIntent = new Intent(confirmationScreen.this, alarmService.class);
textView = (TextView) findViewById(R.id.countDown);
editText = (EditText) findViewById(R.id.editTextPIN);
sharedpreferences = getSharedPreferences(file1, Context.MODE_PRIVATE);
sp = getSharedPreferences(file2, Context.MODE_PRIVATE);
shared = getSharedPreferences(file3, Context.MODE_PRIVATE);
i = 10;
run = new Runnable() {
@Override
public void run() {
textView.setText("" + i);
if ((i) == 0) {
Toast.makeText(confirmationScreen.this, "distress called", Toast.LENGTH_SHORT).show();
distressCall();
handler.removeCallbacks(this);
} else{
i--;
if(i<=0)
i=0;
handler.postDelayed(this, 1000);
}
}
};
handler.post(run);
run2 = new Runnable() {
@Override
public void run() {
if (editText.getText().toString().equals("2020")) {
//stopService(alarmIntent);
handler.removeCallbacks(run);
handler2.removeCallbacks(this);
timehandler.removeCallbacks(run3);
Toast.makeText(confirmationScreen.this, "Distress Calls Cancelled!", Toast.LENGTH_SHORT).show();
Intent main = new Intent(confirmationScreen.this, MainActivity.class);
startActivity(main);
finish();
} else
handler2.postDelayed(this, 1000);
}
};
handler2.post(run2);
}
public void distressCall() {
// startService(alarmIntent);
if(settings.getString("alarm","on").equals("on")) {
startService(alarmIntent);
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
Location location = getLastKnownLocation();
Toast.makeText(this, "Initial Location var : "+location.getLatitude()+location.getLongitude(), Toast.LENGTH_SHORT).show();
if(location!=null){
latitude=location.getLatitude();
longitude=location.getLongitude();
......@@ -300,7 +248,76 @@ public class confirmationScreen extends AppCompatActivity implements LocationLis
return bestLocation;
}
public void requestLocationChange(){
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
func();
}
public void func(){
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
settings=getSharedPreferences("settings",MODE_PRIVATE);
if (!enabled) {
Toast.makeText(this, "Please Enable GPS to use KeepMeSafe", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
else {
provider = locationManager.getProvider(LocationManager.GPS_PROVIDER);
Toast.makeText(this, "Provider" + provider, Toast.LENGTH_SHORT).show();
handler = new Handler();
handler2 = new Handler();
timehandler = new Handler();
alarmIntent = new Intent(confirmationScreen.this, alarmService.class);
textView = (TextView) findViewById(R.id.countDown);
editText = (EditText) findViewById(R.id.editTextPIN);
sharedpreferences = getSharedPreferences(file1, Context.MODE_PRIVATE);
sp = getSharedPreferences(file2, Context.MODE_PRIVATE);
shared = getSharedPreferences(file3, Context.MODE_PRIVATE);
i = Integer.parseInt(settings.getString("timer", "10"));
run = new Runnable() {
@Override
public void run() {
textView.setText("" + i);
if ((i) == 0) {
distressCall();
handler.removeCallbacks(this);
} else {
i--;
if (i <= 0)
i = 0;
handler.postDelayed(this, 1000);
}
}
};
handler.post(run);
run2 = new Runnable() {
@Override
public void run() {
if (editText.getText().toString().equals(settings.getString("PIN", "2123789564237572345278356834"))) {
stopService(alarmIntent);
handler.removeCallbacks(run);
handler2.removeCallbacks(this);
timehandler.removeCallbacks(run3);
Toast.makeText(confirmationScreen.this, "Distress Calls Cancelled!", Toast.LENGTH_SHORT).show();
Intent main = new Intent(confirmationScreen.this, MainActivity.class);
startActivity(main);
finish();
} else
handler2.postDelayed(this, 1000);
}
};
handler2.post(run2);
}
}
......
app/src/main/res/drawable-hdpi/contacts.png

580 B

app/src/main/res/drawable-hdpi/ic_action_alarm.png

600 B

app/src/main/res/drawable-hdpi/ic_action_countdown.png

952 B

app/src/main/res/drawable-hdpi/ic_action_map.png

561 B

app/src/main/res/drawable-hdpi/ic_action_name.png

608 B

app/src/main/res/drawable-hdpi/settings.png

836 B

app/src/main/res/drawable-mdpi/contacts.png

389 B

app/src/main/res/drawable-mdpi/ic_action_alarm.png

425 B

app/src/main/res/drawable-mdpi/ic_action_countdown.png

668 B

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment