HomeScreen.java (3047B)
1 package ca.absentmindedproductions.shlist; 2 3 import android.Manifest; 4 import android.content.Context; 5 import android.content.pm.PackageManager; 6 import android.support.v4.app.ActivityCompat; 7 import android.support.v4.content.ContextCompat; 8 import android.support.v7.app.AppCompatActivity; 9 import android.os.Bundle; 10 import android.support.v7.widget.Toolbar; 11 import android.telephony.TelephonyManager; 12 import android.util.Log; 13 import android.view.View; 14 15 public class HomeScreen extends AppCompatActivity { 16 private final int PORT = 5437; 17 private final String SERVER_ADDRESS = "104.236.186.39"; 18 Bundle sis; 19 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_home_screen); 24 sis = savedInstanceState; 25 26 Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 27 setSupportActionBar(myToolbar); 28 29 if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) 30 { 31 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 1); 32 } else { 33 startFragments(savedInstanceState, true); 34 } 35 } 36 37 public void startFragments(Bundle savedInstanceState, boolean networkMode) { 38 if (savedInstanceState != null) { 39 return; 40 } 41 42 if (findViewById(R.id.current_fragment) != null) { 43 CurrentFragment cFrag = new CurrentFragment(); 44 cFrag.setArguments(getIntent().getExtras()); 45 getSupportFragmentManager().beginTransaction().add(R.id.current_fragment, cFrag).commit(); 46 findViewById(R.id.current_fragment).setVisibility(View.VISIBLE); 47 } 48 49 if (findViewById(R.id.available_fragment) != null && networkMode) { 50 AvailableFragment aFrag = new AvailableFragment(); 51 aFrag.setArguments(getIntent().getExtras()); 52 getSupportFragmentManager().beginTransaction().add(R.id.available_fragment, aFrag).commit(); 53 findViewById(R.id.available_fragment).setVisibility(View.VISIBLE); 54 55 TelephonyManager tMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 56 String mPhoneNumber = tMgr.getLine1Number(); 57 long phoneNum = Long.parseLong(mPhoneNumber.substring(2)); 58 new SendMessage().execute(SERVER_ADDRESS, Integer.toString(PORT), Long.toString(phoneNum)); 59 } 60 } 61 62 @Override 63 public void onRequestPermissionsResult(int requestCode, 64 String permissions[], int[] grantResults) { 65 switch (requestCode) { 66 case 1: { 67 if (grantResults.length > 0 68 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 69 startFragments(sis, true); 70 } else { 71 startFragments(sis, false); 72 } 73 return; 74 } 75 } 76 } 77 }