package none.areyoualive; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; import com.gc.materialdesign.widgets.Dialog; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; public class MainActivity extends ActionBarActivity { EditText password; EditText username; public static int soldierSize; GPSTracker gpsTracker; SoldierServices ss; public static String[] names = new String[8]; public static String[] statuses = new String[8]; public static String[] messages = new String[8]; public static double[] longitudes = new double[8]; public static double[] latitudes = new double[8]; public static String userstring; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gpsTracker = new GPSTracker(this); gpsTracker.getLocation(); if (gpsTracker.canGetLocation()) { System.out.println(gpsTracker.getLongitude()); System.out.println(gpsTracker.getLatitude()); } else { Toast.makeText(getApplicationContext(), "Please check your location settings.", Toast.LENGTH_LONG).show(); finish(); } if (!haveNetworkConnection()) { Toast.makeText(getApplicationContext(), "Please check your internet connection. Cannot connect to database.", Toast.LENGTH_LONG).show(); finish(); } username = (EditText) findViewById(R.id.editText1); password = (EditText) findViewById(R.id.editText2); ss = ServiceGenerator.createService(SoldierServices.class, this); ss.getSoldiers(new Callback<SoldierResponse>() { @Override public void success(SoldierResponse soldierResponse, Response response) { soldierSize = soldierResponse.soldiers.size(); for (int i = 0; i < soldierResponse.soldiers.size(); i++) { names[i] = soldierResponse.soldiers.get(i).Name; statuses[i] = soldierResponse.soldiers.get(i).Status; messages[i] = soldierResponse.soldiers.get(i).Message; longitudes[i] = gpsTracker.getLongitude(); latitudes[i] = gpsTracker.getLatitude(); } } @Override public void failure(RetrofitError error) { System.out.println("error = " + error); } }); } private void updateInfo(int id, String name, String status, String message, long longitude, long latitude) { ss.updateInfo(id, name, status, message, longitude, latitude, new Callback<UpdateInfoResponse>() { @Override public void success(UpdateInfoResponse updateInfoResponse, Response response) { System.out.println("UpdateInfoResponse.success = " + updateInfoResponse.success); if (updateInfoResponse.success) { System.out.println("SUCCESSFULLY UPDATED"); } else { System.out.println("UPDATE FAILED"); } } @Override public void failure(RetrofitError error) { } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } //@Override public void buttonflatOnClick(View v) { username = (EditText) findViewById(R.id.editText1); password = (EditText) findViewById(R.id.editText2); userstring = username.getText().toString(); System.out.println(soldierSize); if (password.getText().toString().equals("lala") && username.getText().toString().equals(names[0]) || username.getText().toString().equals(names[3])) { startActivity(new Intent(MainActivity.this, Activity2.class)); finish(); } else if(password.getText().toString().equals("lala") && username.getText().toString().equals(names[2]) || username.getText().toString().equals(names[3])) { startActivity(new Intent(MainActivity.this, Activity2.class)); finish(); } else if(password.getText().toString().equals("lala") && username.getText().toString().equals(names[4]) || username.getText().toString().equals(names[5])) { startActivity(new Intent(MainActivity.this, Activity2.class)); finish(); } else if(password.getText().toString().equals("lala") && username.getText().toString().equals(names[6]) || username.getText().toString().equals(names[7])) { startActivity(new Intent(MainActivity.this, Activity2.class)); finish(); } else { Dialog dialog = new Dialog(this, "SOS", "You're trying to access our data. Go to hell. Regards."); dialog.show(); } } public String getUserstring() { return userstring; } private boolean haveNetworkConnection() { boolean haveConnectedWifi = false; boolean haveConnectedMobile = false; ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] netInfo = cm.getAllNetworkInfo(); for (NetworkInfo ni : netInfo) { if (ni.getTypeName().equalsIgnoreCase("WIFI")) if (ni.isConnected()) haveConnectedWifi = true; if (ni.getTypeName().equalsIgnoreCase("MOBILE")) if (ni.isConnected()) haveConnectedMobile = true; } return haveConnectedWifi || haveConnectedMobile; } }