Blame | Last modification | View Log | RSS feed
package com.saholic.profittill.Utils;import android.content.Intent;import android.content.SharedPreferences;import android.net.ConnectivityManager;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.util.Base64;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.R;import com.saholic.profittill.main.LoginActivity;import com.saholic.profittill.main.MainActivity;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import org.json.JSONArray;import org.json.JSONObject;public class SplashInternetNotWorking extends ActionBarActivity {Button checkInternet;SharedPreferences apiData, userData;SharedPreferences.Editor apiEditor,userEditor;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_splash_internet_not_working);getSupportActionBar().hide();userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);userEditor = userData.edit();apiEditor = apiData.edit();checkInternet = (Button)findViewById(R.id.checkSplashInternet);checkInternet.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {final String apiCheck = apiData.getString("user.registration.api",null);if(apiCheck==null){if(isInternetOn()){new fetchAPISettings().execute();}else{Toast.makeText(getApplicationContext()," Not Connected ", Toast.LENGTH_LONG).show();}}else{apiEditor.clear().commit();String apiCheck1 = apiData.getString("user.registration.api"," ");Log.e("Delete","Deleting file" + apiCheck1 + "Done");if(isInternetOn()){new fetchAPISettings().execute();}else{Toast.makeText(getApplicationContext(), " Not Connected ", Toast.LENGTH_LONG).show();}}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.menu_splash_internet_not_working, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();//noinspection SimplifiableIfStatementif (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}public final boolean isInternetOn() {ConnectivityManager connec =(ConnectivityManager)getSystemService(this.getBaseContext().CONNECTIVITY_SERVICE);if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED ||connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING ||connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING ||connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED ) {Toast.makeText(this, " Connected ", Toast.LENGTH_LONG).show();return true;} else if (connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED ||connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED ) {Toast.makeText(this, " Not Connected ", Toast.LENGTH_LONG).show();return false;}return false;}class fetchAPISettings extends AsyncTask<String, Integer, String> {@Overrideprotected void onPreExecute() {super.onPreExecute();Log.e("Pre execute", "Pre execute for Getting App settings");}@Overrideprotected String doInBackground(String... arg0) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(ProfitTillConstants.MOBILE_API);final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);httppost.setHeader("Authorization", basicAuth);HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){System.out.println("ResponseCode of record: "+ status + " is " + status);} else {Log.d("ResponseCode",status+"");System.out.println(" NOT Transfered");}JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));System.out.println(jObjGmail.toString());JSONArray objects =jObjGmail.getJSONArray("settings");System.out.println(objects.length());for (int i = 0; i < objects.length(); i++) {JSONObject jsonObject = objects.getJSONObject(i);JSONObject j = jsonObject.getJSONObject("Mobileappsetting");apiEditor.putString(j.getString("setting"),j.getString("value"));System.out.println(j.getString("setting") + j.getString("value"));}} catch (Exception e) {Log.e("Fail 1", e.toString());}return ProfitTillConstants.SUCCESS;}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);apiEditor.commit();final String idCheck = userData.getString("id",null);if(idCheck!=null){startActivity(new Intent(SplashInternetNotWorking.this,MainActivity.class));}else {startActivity(new Intent(SplashInternetNotWorking.this, LoginActivity.class));}//Log.e("Post execute", "Post execute for Getting App settings");}}}