diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 94a25f7..6f68258 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,9 @@
+ * 4.Running a FirebaseRegisterIntentService for getting the token for the first time
+ * 5.starting the LocationUpdater Service
+ * 6.Starting the MessageRecieverService
*/
-import jeeryweb.geocast.R;
-import jeeryweb.geocast.Utility.SharedPrefHandler;
-
public class Home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener,OnMapReadyCallback {
//Attributes***************************************************************
@@ -117,7 +110,7 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_home);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
-
+ statusCheck();
/*
@@ -613,4 +606,44 @@ else if (id == R.id.home_nav_share) {
drawer.closeDrawer(GravityCompat.START);
return true;
}
+ public void statusCheck() {
+ final LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
+
+ if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
+ Toast.makeText(Home.this, "Gps not enabled",Toast.LENGTH_SHORT ).show();
+
+ if(!manager.isProviderEnabled( LocationManager.NETWORK_PROVIDER)){
+ Toast.makeText(Home.this, "Network provider not enabled",Toast.LENGTH_SHORT ).show();
+ buildAlertMessageNoGps();
+ }
+
+
+
+ }
+ getLocationMode(Home.class);
+ Toast.makeText(Home.this, "Location service is working fine",Toast.LENGTH_SHORT).show();
+ }
+
+ private void buildAlertMessageNoGps() {
+ final AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setMessage("Your GPS seems to be disabled, do you want to enable it?")
+ .setCancelable(false)
+ .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ public void onClick(final DialogInterface dialog, final int id) {
+ startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
+// Intent i = new Intent(Yourclassname.this,Home.class); startActivity(i);
+ }
+ })
+ .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ public void onClick(final DialogInterface dialog, final int id) {
+ dialog.cancel();
+ }
+ });
+ final AlertDialog alert = builder.create();
+ alert.show();
+ }
+ public int getLocationMode(Class context)
+ {
+ return Settings.Secure.getString(this.getContentResolver(), Settings.Secure.LOCATION_MODE);
+ }
}
diff --git a/app/src/main/java/jeeryweb/geocast/TabbedActivity.java b/app/src/main/java/jeeryweb/geocast/TabbedActivity.java
new file mode 100644
index 0000000..75289f9
--- /dev/null
+++ b/app/src/main/java/jeeryweb/geocast/TabbedActivity.java
@@ -0,0 +1,145 @@
+package jeeryweb.geocast;
+
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.Snackbar;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+
+import android.widget.TextView;
+
+public class TabbedActivity extends AppCompatActivity {
+
+ /**
+ * The {@link android.support.v4.view.PagerAdapter} that will provide
+ * fragments for each of the sections. We use a
+ * {@link FragmentPagerAdapter} derivative, which will keep every
+ * loaded fragment in memory. If this becomes too memory intensive, it
+ * may be best to switch to a
+ * {@link android.support.v4.app.FragmentStatePagerAdapter}.
+ */
+ private SectionsPagerAdapter mSectionsPagerAdapter;
+
+ /**
+ * The {@link ViewPager} that will host the section contents.
+ */
+ private ViewPager mViewPager;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.tabbed);
+
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+ // Create the adapter that will return a fragment for each of the three
+ // primary sections of the activity.
+ mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
+
+ // Set up the ViewPager with the sections adapter.
+ mViewPager = (ViewPager) findViewById(R.id.container);
+ mViewPager.setAdapter(mSectionsPagerAdapter);
+
+ FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
+ fab.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ }
+ });
+
+ }
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.menu_tabbed, menu);
+ return true;
+ }
+
+ @Override
+ public 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 SimplifiableIfStatement
+ if (id == R.id.action_settings) {
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ /**
+ * A placeholder fragment containing a simple view.
+ */
+ public static class PlaceholderFragment extends Fragment {
+ /**
+ * The fragment argument representing the section number for this
+ * fragment.
+ */
+ private static final String ARG_SECTION_NUMBER = "section_number";
+
+ public PlaceholderFragment() {
+ }
+
+ /**
+ * Returns a new instance of this fragment for the given section
+ * number.
+ */
+ public static PlaceholderFragment newInstance(int sectionNumber) {
+ PlaceholderFragment fragment = new PlaceholderFragment();
+ Bundle args = new Bundle();
+ args.putInt(ARG_SECTION_NUMBER, sectionNumber);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View rootView = inflater.inflate(R.layout.fragment_tabbed, container, false);
+ TextView textView = (TextView) rootView.findViewById(R.id.section_label);
+ textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER)));
+ return rootView;
+ }
+ }
+
+ /**
+ * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
+ * one of the sections/tabs/pages.
+ */
+ public class SectionsPagerAdapter extends FragmentPagerAdapter {
+
+ public SectionsPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ // getItem is called to instantiate the fragment for the given page.
+ // Return a PlaceholderFragment (defined as a static inner class below).
+ return PlaceholderFragment.newInstance(position + 1);
+ }
+
+ @Override
+ public int getCount() {
+ // Show 3 total pages.
+ return 3;
+ }
+ }
+}
diff --git a/app/src/main/res/layout/fragment_tabbed.xml b/app/src/main/res/layout/fragment_tabbed.xml
new file mode 100644
index 0000000..938c64a
--- /dev/null
+++ b/app/src/main/res/layout/fragment_tabbed.xml
@@ -0,0 +1,22 @@
+