Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.sitepoint.example02;
- import android.Manifest;
- import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.Uri;
- import android.os.Build;
- import android.os.CountDownTimer;
- import android.os.Environment;
- import android.provider.MediaStore;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.util.Log;
- import android.widget.ImageView;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import java.io.File;
- import android.location.Location;
- import android.support.v7.app.AppCompatActivity;
- import android.widget.Toast;
- import com.google.android.gms.common.ConnectionResult;
- import com.google.android.gms.common.api.GoogleApiClient;
- import com.google.android.gms.location.FusedLocationProviderApi;
- import com.google.android.gms.location.LocationListener;
- import com.google.android.gms.location.LocationRequest;
- import com.google.android.gms.location.LocationServices;
- import com.google.firebase.auth.FirebaseAuth;
- import static com.sitepoint.example02.R.id.initiate;
- import static com.sitepoint.example02.R.id.textView16;
- public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener {
- private FirebaseAuth auth;
- private static final String TAG = "MainActivity";
- private GoogleApiClient mGoogleApiClient;
- private LocationRequest mLocationRequest;
- private boolean permissionIsGranted = false;
- private FusedLocationProviderApi LocationProvider = LocationServices.FusedLocationApi;
- private static final int MY_PERMISSIONS_REQUEST_FINE_LOCATION = 101;
- private static final int MY_PERMISSIONS_REQUEST_COARSE_LOCATION = 102;
- private Uri file;
- TextView vv;
- String latt;
- String longit;
- Button b;
- int threshld1 = 0;
- int threshld = 0;
- int skipped = 0;
- int locationdata=0;
- String close;
- int i = 0;
- Button myresdone;
- private ImageView whitee;
- private ImageView logo;
- private Button register;
- private Button skipbut;
- private Button takePictureButton;
- private ImageView imageView;
- Boolean a;
- TextView signout;
- TextView txt16;
- String useridd="";
- //private FirebaseAuth user;
- private ProgressBar pbb;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //user=FirebaseAuth.getInstance();
- auth=FirebaseAuth.getInstance();
- pbb=(ProgressBar)findViewById(R.id.progressBar2) ;
- signout=(TextView)findViewById(R.id.signout);
- signout.setEnabled(false);
- signout.setVisibility(View.INVISIBLE);
- close = getIntent().getStringExtra("c");
- if (close == "c")
- finish();
- whitee = (ImageView) findViewById(R.id.wholepage);
- logo = (ImageView) findViewById(R.id.logo);
- takePictureButton = (Button) findViewById(R.id.button_image);
- register = (Button) findViewById(R.id.button3);
- txt16=(TextView)findViewById(textView16);
- myresdone = (Button) findViewById(R.id.button6);
- skipbut = (Button) findViewById(R.id.button5);
- skipbut.setEnabled(false);
- skipbut.setVisibility(View.INVISIBLE);
- vv = (TextView) findViewById(R.id.textView);
- takePictureButton.setEnabled(false);
- register.setEnabled(false);
- register.setVisibility(View.INVISIBLE);
- takePictureButton.setVisibility(View.INVISIBLE);
- vv.setEnabled(false);
- myresdone.setVisibility(View.INVISIBLE);
- myresdone.setEnabled(false);
- //getting user account id
- useridd = auth.getCurrentUser().getUid();
- vv.setVisibility(View.INVISIBLE);
- new CountDownTimer(1000, 1000) {
- public void onTick(long millisUntilFinished) {
- }
- public void onFinish() {
- /* if (system==null) {
- auth.signOut();
- register.setVisibility(View.INVISIBLE);
- register.setEnabled(false);
- initiate.setVisibility(View.VISIBLE);
- if (i == 1 && threshld1 != 1 && threshld != 1)
- initiate.setEnabled(true);
- } else {
- useridd = auth.getCurrentUser().getUid();
- txt16.setText(useridd);*/
- a = fileExistance(useridd + ".txt");
- if (!a) {
- register.setVisibility(View.VISIBLE);
- if(i == 1 && threshld1 != 1 && threshld != 1)
- register.setEnabled(true);
- } else {
- skipbut.setVisibility(View.VISIBLE);
- takePictureButton.setVisibility(View.VISIBLE);
- myresdone.setVisibility(View.VISIBLE);
- pbb.setVisibility(View.VISIBLE);
- if (i == 1 && threshld1 != 1 && threshld != 1 && locationdata == 1) {
- takePictureButton.setEnabled(true);
- skipbut.setEnabled(true);
- signout.setEnabled(true);
- signout.setVisibility(View.VISIBLE);
- myresdone.setEnabled(true);
- pbb.setVisibility(View.INVISIBLE);
- }
- vv.setEnabled(true);
- vv.setVisibility(View.VISIBLE);
- whitee.setVisibility(View.INVISIBLE);
- whitee.setEnabled(false);
- logo.setVisibility(View.INVISIBLE);
- logo.setEnabled(false);
- }
- }
- }.start();
- imageView = (ImageView) findViewById(R.id.imageview);
- mGoogleApiClient = new GoogleApiClient.Builder(this)
- .addConnectionCallbacks(this)
- .addOnConnectionFailedListener(this)
- .addApi(LocationServices.API)
- .build();
- mLocationRequest = new LocationRequest();
- mLocationRequest.setInterval(5000);
- mLocationRequest.setFastestInterval(3000);
- mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
- myresdone.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent i=new Intent(MainActivity.this, myresdone.class);
- i.putExtra("useridd",useridd);
- startActivity(i);
- }
- });
- signout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- auth.signOut();
- startActivity(new Intent(MainActivity.this, LoginActivity.class));
- finish();
- }
- });
- register.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- Intent rg = new Intent(MainActivity.this, Main5Activity.class);
- rg.putExtra("useridd", useridd);
- startActivity(rg);
- }
- });
- skipbut.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent i = new Intent(MainActivity.this, Main2Activity.class);
- i.putExtra("latt", latt);
- i.putExtra("longit", longit);
- skipped = -2;
- i.putExtra("useridd", useridd);
- i.putExtra("skipped", skipped);
- startActivity(i);
- finish();
- }
- });
- b = (Button) findViewById(R.id.btnClick);
- b.setEnabled(false);
- b.setVisibility(b.INVISIBLE);
- b.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- Intent i = new Intent(MainActivity.this, Main2Activity.class);
- i.putExtra("latt", latt);
- i.putExtra("longit", longit);
- i.putExtra("useridd", useridd);
- startActivity(i);
- finish();
- }
- });
- LocationManager_check locationManagerCheck = new LocationManager_check(
- this);
- Location location = null;
- Boolean internet=isOnline();
- if (locationManagerCheck.isLocationServiceAvailable()==false && internet==false ) {
- //locationManagerCheck.createLocationServiceError(MainActivity.this);
- Toast.makeText(MainActivity.this, "Internet and location access unavailable!", Toast.LENGTH_LONG).show();
- }
- else if(locationManagerCheck.isLocationServiceAvailable()==false && internet==true ) {
- //locationManagerCheck.createLocationServiceError(MainActivity.this);
- Toast.makeText(MainActivity.this, "location access unavailable!", Toast.LENGTH_LONG).show();
- }
- else if(locationManagerCheck.isLocationServiceAvailable()==true && internet==false ) {
- //locationManagerCheck.createLocationServiceError(MainActivity.this);
- Toast.makeText(MainActivity.this, "Internet connection unavailable!", Toast.LENGTH_LONG).show();
- }
- else if (locationManagerCheck.isLocationServiceAvailable() == true && isOnline()==true) {
- i = 1;
- }
- }
- //some required functions
- public boolean fileExistance(String fname) {
- File file = getBaseContext().getFileStreamPath(fname);
- return file.exists();
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
- if (requestCode == 0) {
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
- && grantResults[1] == PackageManager.PERMISSION_GRANTED && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
- } else {
- register.setEnabled(false);
- takePictureButton.setEnabled(false);
- skipbut.setEnabled(false);
- threshld1 = 1;
- }
- } else if (requestCode == MY_PERMISSIONS_REQUEST_FINE_LOCATION) {
- if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
- permissionIsGranted = true;
- } else {
- permissionIsGranted = false;
- Toast.makeText(getApplicationContext(), "This app requires all three permissions to be granted", Toast.LENGTH_SHORT).show();
- register.setEnabled(false);
- takePictureButton.setEnabled(false);
- skipbut.setEnabled(false);
- threshld1 = 1;
- }
- }
- }
- public void takePicture(View view) {
- Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- file = Uri.fromFile(getOutputMediaFile());
- intent.putExtra(MediaStore.EXTRA_OUTPUT, file);
- startActivityForResult(intent, 100);
- }
- private static File getOutputMediaFile() {
- File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
- Environment.DIRECTORY_PICTURES), "CameraDemo");
- if (!mediaStorageDir.exists()) {
- if (!mediaStorageDir.mkdirs()) {
- Log.d("CameraDemo", "failed to create directory");
- return null;
- }
- }
- return new File(mediaStorageDir.getPath() + File.separator + "hsr.jpg");
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == 100) {
- if (resultCode == RESULT_OK) {
- imageView.setImageURI(file);
- vv.setVisibility(View.INVISIBLE);
- if (i == 1) {
- b.setEnabled(true);
- b.setVisibility(b.VISIBLE);
- takePictureButton.setEnabled(false);
- takePictureButton.setVisibility(takePictureButton.INVISIBLE);
- skipbut.setEnabled(false);
- myresdone.setEnabled(false);
- myresdone.setVisibility(View.INVISIBLE);
- skipbut.setVisibility(View.INVISIBLE);
- }
- }
- }
- }
- //Location code
- /////////////////////////////////////////////////////////////////////////////////////////
- @Override
- protected void onStart() {
- super.onStart();
- mGoogleApiClient.connect();
- }
- protected void onResume() {
- super.onResume();
- if (permissionIsGranted) {
- if (mGoogleApiClient.isConnected()) {
- RequestLocationUpdates();
- }
- }
- }
- protected void onPause() {
- super.onPause();
- if (permissionIsGranted)
- LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
- }
- @Override
- protected void onStop() {
- super.onStop();
- if (permissionIsGranted)
- mGoogleApiClient.disconnect();
- }
- @Override
- public void onConnected(Bundle bundle) {
- RequestLocationUpdates();
- }
- private void RequestLocationUpdates() {
- if ((ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) || ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
- // TODO: Consider calling
- // ActivityCompat#requestPermissions
- // here to request the missing permissions, and then overriding
- // public void onRequestPermissionsResult(int requestCode, String[] permissions,
- // int[] grantResults)
- // to handle the case where the user grants the permission. See the documentation
- // for ActivityCompat#requestPermissions for more details.
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ) {
- requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
- Manifest.permission.CAMERA,
- Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_FINE_LOCATION);
- } else {
- permissionIsGranted = true;
- }
- return;
- }
- LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
- }
- @Override
- public void onConnectionSuspended(int i) {
- Log.i(TAG, "Connection Suspended");
- mGoogleApiClient.connect();
- }
- @Override
- public void onLocationChanged(Location location) {
- latt = String.valueOf(location.getLatitude());
- longit = String.valueOf(location.getLongitude());
- locationdata=1;
- if (i == 1 && threshld1 != 1 && threshld != 1 &&locationdata==1) {
- takePictureButton.setEnabled(true);
- skipbut.setEnabled(true);
- myresdone.setEnabled(true);
- signout.setEnabled(true);
- signout.setVisibility(View.VISIBLE);
- pbb.setVisibility(View.INVISIBLE);
- }
- }
- @Override
- public void onConnectionFailed(ConnectionResult connectionResult) {
- Log.i(TAG, "Connection failed. Error: " + connectionResult.getErrorCode());
- }
- public boolean isOnline() {
- ConnectivityManager conMgr = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
- if(netInfo == null || !netInfo.isConnected() || !netInfo.isAvailable()){
- return false;
- }
- return true;
- }
- }
- package com.sitepoint.example02;
- import android.text.TextUtils;
- import android.widget.Toast;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- public class LoginActivity extends AppCompatActivity {
- private EditText inputEmail, inputPassword;
- private FirebaseAuth auth;
- private ProgressBar progressBar;
- private Button btnSignup, btnLogin, btnReset;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //Get Firebase auth instance
- auth = FirebaseAuth.getInstance();
- if (auth.getCurrentUser() != null) {
- Intent i=new Intent(LoginActivity.this, MainActivity.class);
- startActivity(i);
- finish();
- }
- // the above code checks whether the same person had previously logged in and therefore loads previous profile*********
- // set the view now
- setContentView(R.layout.activity_login);
- // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- // setSupportActionBar(toolbar);
- inputEmail = (EditText) findViewById(R.id.email);
- inputPassword = (EditText) findViewById(R.id.password);
- progressBar = (ProgressBar) findViewById(R.id.progressBar);
- btnSignup = (Button) findViewById(R.id.btn_signup);
- btnLogin = (Button) findViewById(R.id.btn_login);
- btnReset = (Button) findViewById(R.id.btn_reset_password);
- //Get Firebase auth instance
- auth = FirebaseAuth.getInstance();
- btnSignup.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startActivity(new Intent(LoginActivity.this, signupactivity.class));
- }
- });
- btnReset.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startActivity(new Intent(LoginActivity.this, ResetPasswordActivity.class));
- }
- });
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String email = inputEmail.getText().toString();
- final String password = inputPassword.getText().toString();
- if (TextUtils.isEmpty(email)) {
- Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
- return;
- }
- if (TextUtils.isEmpty(password)) {
- Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
- return;
- }
- progressBar.setVisibility(View.VISIBLE);
- //authenticate user
- auth.signInWithEmailAndPassword(email, password)
- .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- // If sign in fails, display a message to the user. If sign in succeeds
- // the auth state listener will be notified and logic to handle the
- // signed in user can be handled in the listener.
- progressBar.setVisibility(View.GONE);
- if (!task.isSuccessful()) {
- // there was an error
- if (password.length() < 6) {
- inputPassword.setError(getString(R.string.minimum_password));
- } else {
- Toast.makeText(LoginActivity.this, getString(R.string.auth_failed), Toast.LENGTH_LONG).show();
- }
- } else {
- Intent intent = new Intent(LoginActivity.this, MainActivity.class);
- startActivity(intent);
- finish();
- }
- }
- });
- }
- });
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <uses-permission-sdk-23 android:name="android.permission.CAMERA" />
- <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- <uses-permission android:name="android.permission.INTERNET" />
- <application
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="AniNet"
- android:supportsRtl="true"
- android:theme="@style/AppTheme">
- <meta-data
- android:name="com.google.android.gms.version"
- android:value="@integer/google_play_services_version" />
- <activity
- android:name=".LoginActivity"
- android:configChanges="orientation"
- android:screenOrientation="portrait">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <activity
- android:name=".Main2Activity"
- android:configChanges="orientation"
- android:screenOrientation="portrait" />
- <activity
- android:name=".Main3Activity"
- android:configChanges="orientation"
- android:screenOrientation="portrait" />
- <activity
- android:name=".Main5Activity"
- android:configChanges="orientation"
- android:screenOrientation="portrait" />
- <activity
- android:name=".MainActivity"
- android:configChanges="orientation"
- android:screenOrientation="portrait" />
- <activity
- android:name=".signupactivity"
- android:configChanges="orientation"
- android:screenOrientation="portrait" />
- <activity android:name=".myresdone" />
- <activity android:name=".myresinfo" />
- <activity android:name=".ResetPasswordActivity"></activity>
- </application>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement