shlist

share and manage lists between multiple people
Log | Files | Refs

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 }