Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.29 KB | None | 0 0
  1. package com.sitepoint.example02;
  2. import android.Manifest;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.net.ConnectivityManager;
  7. import android.net.NetworkInfo;
  8. import android.net.Uri;
  9. import android.os.Build;
  10. import android.os.CountDownTimer;
  11. import android.os.Environment;
  12. import android.provider.MediaStore;
  13. import android.support.v4.app.ActivityCompat;
  14. import android.support.v4.content.ContextCompat;
  15. import android.util.Log;
  16. import android.widget.ImageView;
  17. import android.widget.ProgressBar;
  18. import android.widget.TextView;
  19. import android.os.Bundle;
  20. import android.view.View;
  21. import android.widget.Button;
  22.  
  23. import java.io.File;
  24.  
  25.  
  26. import android.location.Location;
  27. import android.support.v7.app.AppCompatActivity;
  28. import android.widget.Toast;
  29.  
  30. import com.google.android.gms.common.ConnectionResult;
  31. import com.google.android.gms.common.api.GoogleApiClient;
  32. import com.google.android.gms.location.FusedLocationProviderApi;
  33. import com.google.android.gms.location.LocationListener;
  34. import com.google.android.gms.location.LocationRequest;
  35. import com.google.android.gms.location.LocationServices;
  36. import com.google.firebase.auth.FirebaseAuth;
  37.  
  38. import static com.sitepoint.example02.R.id.initiate;
  39. import static com.sitepoint.example02.R.id.textView16;
  40.  
  41. public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener {
  42.  
  43.  
  44.  
  45.  
  46. private FirebaseAuth auth;
  47.  
  48. private static final String TAG = "MainActivity";
  49. private GoogleApiClient mGoogleApiClient;
  50. private LocationRequest mLocationRequest;
  51.  
  52.  
  53. private boolean permissionIsGranted = false;
  54. private FusedLocationProviderApi LocationProvider = LocationServices.FusedLocationApi;
  55. private static final int MY_PERMISSIONS_REQUEST_FINE_LOCATION = 101;
  56. private static final int MY_PERMISSIONS_REQUEST_COARSE_LOCATION = 102;
  57. private Uri file;
  58. TextView vv;
  59. String latt;
  60. String longit;
  61. Button b;
  62. int threshld1 = 0;
  63. int threshld = 0;
  64. int skipped = 0;
  65. int locationdata=0;
  66. String close;
  67. int i = 0;
  68.  
  69. Button myresdone;
  70. private ImageView whitee;
  71. private ImageView logo;
  72. private Button register;
  73. private Button skipbut;
  74. private Button takePictureButton;
  75. private ImageView imageView;
  76. Boolean a;
  77. TextView signout;
  78. TextView txt16;
  79. String useridd="";
  80. //private FirebaseAuth user;
  81. private ProgressBar pbb;
  82. @Override
  83. protected void onCreate(Bundle savedInstanceState) {
  84. super.onCreate(savedInstanceState);
  85. setContentView(R.layout.activity_main);
  86. //user=FirebaseAuth.getInstance();
  87.  
  88. auth=FirebaseAuth.getInstance();
  89. pbb=(ProgressBar)findViewById(R.id.progressBar2) ;
  90. signout=(TextView)findViewById(R.id.signout);
  91. signout.setEnabled(false);
  92. signout.setVisibility(View.INVISIBLE);
  93. close = getIntent().getStringExtra("c");
  94. if (close == "c")
  95. finish();
  96. whitee = (ImageView) findViewById(R.id.wholepage);
  97. logo = (ImageView) findViewById(R.id.logo);
  98. takePictureButton = (Button) findViewById(R.id.button_image);
  99. register = (Button) findViewById(R.id.button3);
  100. txt16=(TextView)findViewById(textView16);
  101. myresdone = (Button) findViewById(R.id.button6);
  102. skipbut = (Button) findViewById(R.id.button5);
  103. skipbut.setEnabled(false);
  104. skipbut.setVisibility(View.INVISIBLE);
  105. vv = (TextView) findViewById(R.id.textView);
  106. takePictureButton.setEnabled(false);
  107. register.setEnabled(false);
  108. register.setVisibility(View.INVISIBLE);
  109. takePictureButton.setVisibility(View.INVISIBLE);
  110. vv.setEnabled(false);
  111. myresdone.setVisibility(View.INVISIBLE);
  112. myresdone.setEnabled(false);
  113.  
  114. //getting user account id
  115. useridd = auth.getCurrentUser().getUid();
  116. vv.setVisibility(View.INVISIBLE);
  117.  
  118. new CountDownTimer(1000, 1000) {
  119.  
  120. public void onTick(long millisUntilFinished) {
  121.  
  122.  
  123. }
  124.  
  125. public void onFinish() {
  126.  
  127.  
  128. /* if (system==null) {
  129. auth.signOut();
  130. register.setVisibility(View.INVISIBLE);
  131. register.setEnabled(false);
  132. initiate.setVisibility(View.VISIBLE);
  133. if (i == 1 && threshld1 != 1 && threshld != 1)
  134. initiate.setEnabled(true);
  135. } else {
  136. useridd = auth.getCurrentUser().getUid();
  137. txt16.setText(useridd);*/
  138.  
  139.  
  140. a = fileExistance(useridd + ".txt");
  141.  
  142. if (!a) {
  143.  
  144. register.setVisibility(View.VISIBLE);
  145. if(i == 1 && threshld1 != 1 && threshld != 1)
  146. register.setEnabled(true);
  147.  
  148.  
  149. } else {
  150. skipbut.setVisibility(View.VISIBLE);
  151. takePictureButton.setVisibility(View.VISIBLE);
  152. myresdone.setVisibility(View.VISIBLE);
  153. pbb.setVisibility(View.VISIBLE);
  154. if (i == 1 && threshld1 != 1 && threshld != 1 && locationdata == 1) {
  155. takePictureButton.setEnabled(true);
  156. skipbut.setEnabled(true);
  157. signout.setEnabled(true);
  158. signout.setVisibility(View.VISIBLE);
  159. myresdone.setEnabled(true);
  160. pbb.setVisibility(View.INVISIBLE);
  161.  
  162. }
  163. vv.setEnabled(true);
  164. vv.setVisibility(View.VISIBLE);
  165. whitee.setVisibility(View.INVISIBLE);
  166. whitee.setEnabled(false);
  167. logo.setVisibility(View.INVISIBLE);
  168. logo.setEnabled(false);
  169. }
  170. }
  171.  
  172.  
  173. }.start();
  174.  
  175.  
  176.  
  177. imageView = (ImageView) findViewById(R.id.imageview);
  178.  
  179.  
  180. mGoogleApiClient = new GoogleApiClient.Builder(this)
  181. .addConnectionCallbacks(this)
  182. .addOnConnectionFailedListener(this)
  183. .addApi(LocationServices.API)
  184. .build();
  185. mLocationRequest = new LocationRequest();
  186. mLocationRequest.setInterval(5000);
  187. mLocationRequest.setFastestInterval(3000);
  188. mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
  189.  
  190. myresdone.setOnClickListener(new View.OnClickListener() {
  191. @Override
  192. public void onClick(View v) {
  193. Intent i=new Intent(MainActivity.this, myresdone.class);
  194. i.putExtra("useridd",useridd);
  195. startActivity(i);
  196. }
  197. });
  198.  
  199. signout.setOnClickListener(new View.OnClickListener() {
  200. @Override
  201. public void onClick(View v) {
  202.  
  203. auth.signOut();
  204. startActivity(new Intent(MainActivity.this, LoginActivity.class));
  205. finish();
  206. }
  207. });
  208. register.setOnClickListener(new View.OnClickListener() {
  209. public void onClick(View arg0) {
  210.  
  211. Intent rg = new Intent(MainActivity.this, Main5Activity.class);
  212. rg.putExtra("useridd", useridd);
  213. startActivity(rg);
  214.  
  215. }
  216. });
  217.  
  218. skipbut.setOnClickListener(new View.OnClickListener() {
  219. @Override
  220. public void onClick(View v) {
  221. Intent i = new Intent(MainActivity.this, Main2Activity.class);
  222. i.putExtra("latt", latt);
  223. i.putExtra("longit", longit);
  224. skipped = -2;
  225. i.putExtra("useridd", useridd);
  226. i.putExtra("skipped", skipped);
  227. startActivity(i);
  228. finish();
  229. }
  230. });
  231. b = (Button) findViewById(R.id.btnClick);
  232. b.setEnabled(false);
  233. b.setVisibility(b.INVISIBLE);
  234. b.setOnClickListener(new View.OnClickListener() {
  235. public void onClick(View arg0) {
  236.  
  237. Intent i = new Intent(MainActivity.this, Main2Activity.class);
  238. i.putExtra("latt", latt);
  239. i.putExtra("longit", longit);
  240. i.putExtra("useridd", useridd);
  241. startActivity(i);
  242. finish();
  243.  
  244. }
  245. });
  246. LocationManager_check locationManagerCheck = new LocationManager_check(
  247. this);
  248. Location location = null;
  249. Boolean internet=isOnline();
  250. if (locationManagerCheck.isLocationServiceAvailable()==false && internet==false ) {
  251. //locationManagerCheck.createLocationServiceError(MainActivity.this);
  252. Toast.makeText(MainActivity.this, "Internet and location access unavailable!", Toast.LENGTH_LONG).show();
  253.  
  254. }
  255. else if(locationManagerCheck.isLocationServiceAvailable()==false && internet==true ) {
  256. //locationManagerCheck.createLocationServiceError(MainActivity.this);
  257. Toast.makeText(MainActivity.this, "location access unavailable!", Toast.LENGTH_LONG).show();
  258.  
  259. }
  260. else if(locationManagerCheck.isLocationServiceAvailable()==true && internet==false ) {
  261. //locationManagerCheck.createLocationServiceError(MainActivity.this);
  262. Toast.makeText(MainActivity.this, "Internet connection unavailable!", Toast.LENGTH_LONG).show();
  263.  
  264. }
  265. else if (locationManagerCheck.isLocationServiceAvailable() == true && isOnline()==true) {
  266. i = 1;
  267.  
  268.  
  269. }
  270.  
  271.  
  272.  
  273. }
  274.  
  275.  
  276. //some required functions
  277. public boolean fileExistance(String fname) {
  278. File file = getBaseContext().getFileStreamPath(fname);
  279. return file.exists();
  280. }
  281.  
  282.  
  283. @Override
  284. public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
  285.  
  286. if (requestCode == 0) {
  287. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
  288. && grantResults[1] == PackageManager.PERMISSION_GRANTED && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
  289.  
  290. } else {
  291. register.setEnabled(false);
  292. takePictureButton.setEnabled(false);
  293. skipbut.setEnabled(false);
  294. threshld1 = 1;
  295. }
  296. } else if (requestCode == MY_PERMISSIONS_REQUEST_FINE_LOCATION) {
  297. if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
  298. permissionIsGranted = true;
  299. } else {
  300. permissionIsGranted = false;
  301. Toast.makeText(getApplicationContext(), "This app requires all three permissions to be granted", Toast.LENGTH_SHORT).show();
  302. register.setEnabled(false);
  303. takePictureButton.setEnabled(false);
  304. skipbut.setEnabled(false);
  305. threshld1 = 1;
  306. }
  307. }
  308.  
  309. }
  310.  
  311.  
  312. public void takePicture(View view) {
  313. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  314. file = Uri.fromFile(getOutputMediaFile());
  315.  
  316. intent.putExtra(MediaStore.EXTRA_OUTPUT, file);
  317.  
  318. startActivityForResult(intent, 100);
  319. }
  320.  
  321. private static File getOutputMediaFile() {
  322. File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
  323. Environment.DIRECTORY_PICTURES), "CameraDemo");
  324.  
  325. if (!mediaStorageDir.exists()) {
  326. if (!mediaStorageDir.mkdirs()) {
  327. Log.d("CameraDemo", "failed to create directory");
  328. return null;
  329. }
  330. }
  331. return new File(mediaStorageDir.getPath() + File.separator + "hsr.jpg");
  332.  
  333.  
  334. }
  335.  
  336. @Override
  337. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  338. if (requestCode == 100) {
  339. if (resultCode == RESULT_OK) {
  340. imageView.setImageURI(file);
  341. vv.setVisibility(View.INVISIBLE);
  342. if (i == 1) {
  343. b.setEnabled(true);
  344. b.setVisibility(b.VISIBLE);
  345. takePictureButton.setEnabled(false);
  346. takePictureButton.setVisibility(takePictureButton.INVISIBLE);
  347. skipbut.setEnabled(false);
  348. myresdone.setEnabled(false);
  349. myresdone.setVisibility(View.INVISIBLE);
  350. skipbut.setVisibility(View.INVISIBLE);
  351.  
  352. }
  353. }
  354. }
  355. }
  356. //Location code
  357. /////////////////////////////////////////////////////////////////////////////////////////
  358.  
  359.  
  360. @Override
  361. protected void onStart() {
  362. super.onStart();
  363. mGoogleApiClient.connect();
  364. }
  365.  
  366. protected void onResume() {
  367. super.onResume();
  368. if (permissionIsGranted) {
  369. if (mGoogleApiClient.isConnected()) {
  370. RequestLocationUpdates();
  371. }
  372. }
  373. }
  374.  
  375. protected void onPause() {
  376. super.onPause();
  377. if (permissionIsGranted)
  378. LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
  379. }
  380.  
  381. @Override
  382. protected void onStop() {
  383. super.onStop();
  384. if (permissionIsGranted)
  385. mGoogleApiClient.disconnect();
  386.  
  387. }
  388.  
  389. @Override
  390. public void onConnected(Bundle bundle) {
  391. RequestLocationUpdates();
  392. }
  393.  
  394. private void RequestLocationUpdates() {
  395. 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) {
  396. // TODO: Consider calling
  397. // ActivityCompat#requestPermissions
  398. // here to request the missing permissions, and then overriding
  399. // public void onRequestPermissionsResult(int requestCode, String[] permissions,
  400. // int[] grantResults)
  401. // to handle the case where the user grants the permission. See the documentation
  402. // for ActivityCompat#requestPermissions for more details.
  403. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ) {
  404. requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
  405. Manifest.permission.CAMERA,
  406. Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_FINE_LOCATION);
  407. } else {
  408. permissionIsGranted = true;
  409. }
  410. return;
  411. }
  412.  
  413. LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
  414. }
  415.  
  416. @Override
  417. public void onConnectionSuspended(int i) {
  418. Log.i(TAG, "Connection Suspended");
  419. mGoogleApiClient.connect();
  420. }
  421.  
  422. @Override
  423. public void onLocationChanged(Location location) {
  424.  
  425. latt = String.valueOf(location.getLatitude());
  426. longit = String.valueOf(location.getLongitude());
  427. locationdata=1;
  428. if (i == 1 && threshld1 != 1 && threshld != 1 &&locationdata==1) {
  429. takePictureButton.setEnabled(true);
  430. skipbut.setEnabled(true);
  431. myresdone.setEnabled(true);
  432. signout.setEnabled(true);
  433. signout.setVisibility(View.VISIBLE);
  434. pbb.setVisibility(View.INVISIBLE);
  435. }
  436.  
  437. }
  438.  
  439.  
  440. @Override
  441. public void onConnectionFailed(ConnectionResult connectionResult) {
  442. Log.i(TAG, "Connection failed. Error: " + connectionResult.getErrorCode());
  443. }
  444.  
  445.  
  446. public boolean isOnline() {
  447. ConnectivityManager conMgr = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
  448. NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
  449.  
  450. if(netInfo == null || !netInfo.isConnected() || !netInfo.isAvailable()){
  451.  
  452. return false;
  453. }
  454. return true;
  455. }
  456. }
  457.  
  458. package com.sitepoint.example02;
  459.  
  460.  
  461. import android.text.TextUtils;
  462. import android.widget.Toast;
  463. import android.content.Intent;
  464. import android.os.Bundle;
  465. import android.support.annotation.NonNull;
  466. import android.support.v7.app.AppCompatActivity;
  467.  
  468. import android.view.View;
  469. import android.widget.Button;
  470. import android.widget.EditText;
  471. import android.widget.ProgressBar;
  472. import android.widget.Toast;
  473.  
  474.  
  475. import com.google.android.gms.tasks.OnCompleteListener;
  476. import com.google.android.gms.tasks.Task;
  477. import com.google.firebase.auth.AuthResult;
  478. import com.google.firebase.auth.FirebaseAuth;
  479.  
  480. public class LoginActivity extends AppCompatActivity {
  481. private EditText inputEmail, inputPassword;
  482. private FirebaseAuth auth;
  483. private ProgressBar progressBar;
  484. private Button btnSignup, btnLogin, btnReset;
  485. @Override
  486. protected void onCreate(Bundle savedInstanceState) {
  487. super.onCreate(savedInstanceState);
  488. //Get Firebase auth instance
  489. auth = FirebaseAuth.getInstance();
  490.  
  491. if (auth.getCurrentUser() != null) {
  492. Intent i=new Intent(LoginActivity.this, MainActivity.class);
  493.  
  494. startActivity(i);
  495.  
  496. finish();
  497. }
  498. // the above code checks whether the same person had previously logged in and therefore loads previous profile*********
  499.  
  500. // set the view now
  501. setContentView(R.layout.activity_login);
  502.  
  503. // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  504. // setSupportActionBar(toolbar);
  505.  
  506. inputEmail = (EditText) findViewById(R.id.email);
  507. inputPassword = (EditText) findViewById(R.id.password);
  508. progressBar = (ProgressBar) findViewById(R.id.progressBar);
  509. btnSignup = (Button) findViewById(R.id.btn_signup);
  510. btnLogin = (Button) findViewById(R.id.btn_login);
  511. btnReset = (Button) findViewById(R.id.btn_reset_password);
  512.  
  513. //Get Firebase auth instance
  514. auth = FirebaseAuth.getInstance();
  515.  
  516. btnSignup.setOnClickListener(new View.OnClickListener() {
  517. @Override
  518. public void onClick(View v) {
  519. startActivity(new Intent(LoginActivity.this, signupactivity.class));
  520. }
  521. });
  522.  
  523. btnReset.setOnClickListener(new View.OnClickListener() {
  524. @Override
  525. public void onClick(View v) {
  526. startActivity(new Intent(LoginActivity.this, ResetPasswordActivity.class));
  527. }
  528. });
  529.  
  530. btnLogin.setOnClickListener(new View.OnClickListener() {
  531. @Override
  532. public void onClick(View v) {
  533. String email = inputEmail.getText().toString();
  534. final String password = inputPassword.getText().toString();
  535.  
  536. if (TextUtils.isEmpty(email)) {
  537. Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
  538. return;
  539. }
  540.  
  541. if (TextUtils.isEmpty(password)) {
  542. Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
  543. return;
  544. }
  545.  
  546. progressBar.setVisibility(View.VISIBLE);
  547.  
  548. //authenticate user
  549. auth.signInWithEmailAndPassword(email, password)
  550. .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
  551. @Override
  552. public void onComplete(@NonNull Task<AuthResult> task) {
  553. // If sign in fails, display a message to the user. If sign in succeeds
  554. // the auth state listener will be notified and logic to handle the
  555. // signed in user can be handled in the listener.
  556. progressBar.setVisibility(View.GONE);
  557. if (!task.isSuccessful()) {
  558. // there was an error
  559. if (password.length() < 6) {
  560. inputPassword.setError(getString(R.string.minimum_password));
  561. } else {
  562. Toast.makeText(LoginActivity.this, getString(R.string.auth_failed), Toast.LENGTH_LONG).show();
  563. }
  564. } else {
  565. Intent intent = new Intent(LoginActivity.this, MainActivity.class);
  566.  
  567. startActivity(intent);
  568. finish();
  569. }
  570. }
  571. });
  572. }
  573. });
  574. }
  575.  
  576.  
  577.  
  578. }
  579.  
  580. <?xml version="1.0" encoding="utf-8"?>
  581.  
  582. <uses-permission-sdk-23 android:name="android.permission.CAMERA" />
  583. <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  584.  
  585. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  586. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  587. <uses-permission android:name="android.permission.INTERNET" />
  588.  
  589. <application
  590. android:allowBackup="true"
  591. android:icon="@mipmap/ic_launcher"
  592. android:label="AniNet"
  593. android:supportsRtl="true"
  594. android:theme="@style/AppTheme">
  595. <meta-data
  596. android:name="com.google.android.gms.version"
  597. android:value="@integer/google_play_services_version" />
  598.  
  599. <activity
  600. android:name=".LoginActivity"
  601. android:configChanges="orientation"
  602. android:screenOrientation="portrait">
  603. <intent-filter>
  604. <action android:name="android.intent.action.MAIN" />
  605. <category android:name="android.intent.category.LAUNCHER" />
  606. </intent-filter>
  607. </activity>
  608. <activity
  609. android:name=".Main2Activity"
  610. android:configChanges="orientation"
  611. android:screenOrientation="portrait" />
  612. <activity
  613. android:name=".Main3Activity"
  614. android:configChanges="orientation"
  615. android:screenOrientation="portrait" />
  616. <activity
  617. android:name=".Main5Activity"
  618. android:configChanges="orientation"
  619. android:screenOrientation="portrait" />
  620. <activity
  621. android:name=".MainActivity"
  622. android:configChanges="orientation"
  623. android:screenOrientation="portrait" />
  624. <activity
  625. android:name=".signupactivity"
  626. android:configChanges="orientation"
  627. android:screenOrientation="portrait" />
  628. <activity android:name=".myresdone" />
  629. <activity android:name=".myresinfo" />
  630. <activity android:name=".ResetPasswordActivity"></activity>
  631. </application>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement