diff --git a/app/src/main/java/in/sminnovations/arrest_tb/PatientDetail.java b/app/src/main/java/in/sminnovations/arrest_tb/PatientDetail.java
index b0f5559..7d677f6 100644
--- a/app/src/main/java/in/sminnovations/arrest_tb/PatientDetail.java
+++ b/app/src/main/java/in/sminnovations/arrest_tb/PatientDetail.java
@@ -127,7 +127,7 @@ public class PatientDetail extends NavigationTop implements AdapterView.OnItemSe
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
month = month + 1;
- String date = month + "-" + day + "-" + year;
+ String date = day + "-" + month + "-" + year;
mDisplayDate.setText(date);
patientdob=date;
/* int year1 = Calendar.getInstance().get(Calendar.YEAR);
diff --git a/app/src/main/java/in/sminnovations/arrest_tb/Report.java b/app/src/main/java/in/sminnovations/arrest_tb/Report.java
index a0d1221..ad3872e 100644
--- a/app/src/main/java/in/sminnovations/arrest_tb/Report.java
+++ b/app/src/main/java/in/sminnovations/arrest_tb/Report.java
@@ -122,7 +122,7 @@ public class Report extends NavigationTop {
Intent intent=new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT,"Report");
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N) {
- Uri path= FileProvider.getUriForFile(Report.this,"in.sminnovations.arresttb_testing.fileprovider",filePath);
+ Uri path= FileProvider.getUriForFile(Report.this,"in.sminnovations.arrest_tb.fileprovider",filePath);
intent.putExtra(Intent.EXTRA_STREAM,path);
}
else{
diff --git a/app/src/main/java/in/sminnovations/arrest_tb/TestDetails.java b/app/src/main/java/in/sminnovations/arrest_tb/TestDetails.java
index 887b3d2..746cec8 100644
--- a/app/src/main/java/in/sminnovations/arrest_tb/TestDetails.java
+++ b/app/src/main/java/in/sminnovations/arrest_tb/TestDetails.java
@@ -1,15 +1,33 @@
package in.sminnovations.arrest_tb;
+import android.Manifest;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.pdf.PdfDocument;
+import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
+import android.os.Environment;
import android.util.Log;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+import androidx.core.content.FileProvider;
import com.bumptech.glide.Glide;
import com.google.firebase.database.DataSnapshot;
@@ -19,6 +37,8 @@ import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -32,7 +52,9 @@ public class TestDetails extends NavigationTop {
String date,time,number;
private String TestID = "";
+ ImageButton shared ,dowbloadd;
+ File filePath=null;
@Override
@@ -42,7 +64,10 @@ public class TestDetails extends NavigationTop {
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.activity_spin__test, null, false);
draw.addView(contentView, 0);
+ shared=findViewById(R.id.share);
+
+ dowbloadd=findViewById(R.id.downlaod);
patient_id=findViewById(R.id.patient_idr);
patient_dob=findViewById(R.id.patien_dobr);
patientnikshayid=findViewById(R.id.patient_nikshayidr);
@@ -75,6 +100,63 @@ public class TestDetails extends NavigationTop {
getTestDetails(TestID);
+
+ shared.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(ContextCompat.checkSelfPermission(TestDetails.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED)
+ {
+
+ ActivityCompat.requestPermissions(TestDetails.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},23);
+ }
+ else
+ {
+ createPdf();
+
+ Intent intent=new Intent(Intent.ACTION_SEND);
+ intent.putExtra(Intent.EXTRA_TEXT,"Report");
+ if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N) {
+ Uri path= FileProvider.getUriForFile(TestDetails.this,"in.sminnovations.arrest_tb.fileprovider",filePath);
+ intent.putExtra(Intent.EXTRA_STREAM,path);
+ }
+ else{
+
+ intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(filePath));
+ }
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ intent.setType("application/pdf");
+ startActivity(intent);
+
+
+
+
+ }
+
+
+ }
+ });
+
+ dowbloadd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if(ContextCompat.checkSelfPermission(TestDetails.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED)
+ {
+
+ ActivityCompat.requestPermissions(TestDetails.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},23);
+ }
+ else
+ {
+ createPdf();
+ Toast.makeText(TestDetails.this, "File Downloaded", Toast.LENGTH_LONG).show();
+
+
+
+ }
+ }
+
+ });
+
+
}
private void getTestDetails(String TestID)
{
@@ -115,5 +197,197 @@ public class TestDetails extends NavigationTop {
}
});
}
+ private void createPdf(){
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PdfDocument document = new PdfDocument();
+
+ PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(1000, 2000, 1).create();
+
+ PdfDocument.Page page = document.startPage(pageInfo);
+ Canvas canvas = page.getCanvas();
+ Paint paint = new Paint();
+ paint.setTextSize(80);
+ canvas.drawText("Arrest TB",40,80,paint);
+ paint.setTextSize(30);
+ canvas.drawText("ShanMukha Innovations Pvt Ltd",30,120,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText(dated.getText().toString(),canvas.getWidth()-40,40,paint);
+ canvas.drawText(timed.getText().toString(),canvas.getWidth()-40,80,paint);
+ paint.setTextAlign(Paint.Align.LEFT);
+ paint.setColor(Color.rgb(150,150,150));
+ canvas.drawRect(30,250,canvas.getWidth()-30,300,paint);
+ paint.setColor(Color.WHITE);
+ canvas.drawText("Result",50,285,paint);
+ // canvas.drawText("name 2",450,435,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText(resultd.getText().toString(),canvas.getWidth()-40,285,paint);
+ paint.setTextAlign(Paint.Align.LEFT);
+
+
+ paint.setColor(Color.rgb(150,150,150));
+ // canvas.drawRect(30,150,canvas.getWidth()-30,160,paint);
+
+
+ canvas.drawRect(30,400,canvas.getWidth()-30,450,paint);
+ paint.setColor(Color.WHITE);
+ canvas.drawText("Patient ID",50,435,paint);
+ canvas.drawText("Patient Gender",450,435,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText("Date of Birth",canvas.getWidth()-40,435,paint);
+ paint.setTextAlign(Paint.Align.LEFT);
+ paint.setColor(Color.BLACK);
+
+ canvas.drawText(patient_id.getText().toString(),50,480,paint);
+ canvas.drawText(patientgender.getText().toString(),450,480,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText(patient_dob.getText().toString()+".",canvas.getWidth()-40,480,paint);
+
+ paint.setTextAlign(Paint.Align.RIGHT);
+
+ paint.setColor(Color.rgb(150,150,150));
+ // canvas.drawRect(30,150,canvas.getWidth()-30,160,paint);
+
+ // canvas.drawRect(30,550,canvas.getWidth()-30,560,paint);
+ canvas.drawRect(30,570,canvas.getWidth()-30,620,paint);
+
+
+ paint.setColor(Color.WHITE);
+ canvas.drawText("Age",100,605,paint);
+ canvas.drawText("Nikshay ID ",540,605,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText("NIRT Lab Number",canvas.getWidth()-40,605,paint);
+ paint.setTextAlign(Paint.Align.LEFT);
+ paint.setColor(Color.BLACK);
+
+ canvas.drawText(agepatient.getText().toString(),50,650,paint);
+ canvas.drawText(patientnikshayid.getText().toString(),440,650,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText(nirtlab.getText().toString(),canvas.getWidth()-40,650,paint);
+
+ paint.setTextAlign(Paint.Align.RIGHT);
+ paint.setColor(Color.rgb(150,150,150));
+
+ canvas.drawRect(30,740,canvas.getWidth()-30,790,paint);
+
+ paint.setColor(Color.WHITE);
+ canvas.drawText("SPIN Tube ID",220,775,paint);
+ canvas.drawText("Type of Sample",540,775,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText("Tube Validity",canvas.getWidth()-40,775,paint);
+ paint.setTextAlign(Paint.Align.LEFT);
+ paint.setColor(Color.BLACK);
+
+ canvas.drawText(spintubeid.getText().toString(),50,820,paint);
+ canvas.drawText(patientsample.getText().toString(),440,820,paint);
+ paint.setTextAlign(Paint.Align.RIGHT);
+ canvas.drawText(validatyd.getText().toString(),canvas.getWidth()-40,820,paint);
+
+ paint.setTextAlign(Paint.Align.RIGHT);
+ paint.setColor(Color.rgb(150,150,150));
+
+ // finish the page
+ document.finishPage(page);
+
+ String directory_path = Environment.getExternalStorageDirectory().getPath() + "/ArrestTb/";
+ File file = new File(directory_path);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ String targetPdf = directory_path+"Report_"+patient_id.getText().toString()+".pdf";
+ filePath = new File(targetPdf);
+
+ try {
+ document.writeTo(new FileOutputStream(filePath));
+ } catch (IOException e) {
+ Log.e("main", "error "+e.toString());
+ }
+
+ document.close();
+
+ }
+
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater inflater=getMenuInflater();
+ inflater.inflate(R.menu.download,menu);
+ MenuItem item = menu.findItem(R.id.share);
+ MenuItem item1=menu.findItem(R.id.download1);
+ item1.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ if(ContextCompat.checkSelfPermission(TestDetails.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED)
+ {
+
+ ActivityCompat.requestPermissions(TestDetails.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},23);
+ }
+ else
+ {
+ //startCropImageActivity();
+ createPdf();
+ Toast.makeText(TestDetails.this, "File Downloaded", Toast.LENGTH_LONG).show();
+
+
+
+ }
+
+ return true;
+ }
+ });
+ item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ if(ContextCompat.checkSelfPermission(TestDetails.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED)
+ {
+
+ ActivityCompat.requestPermissions(TestDetails.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},23);
+ }
+ else
+ {
+ createPdf();
+
+ Intent intent=new Intent(Intent.ACTION_SEND);
+ intent.putExtra(Intent.EXTRA_TEXT,"Report");
+ if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N) {
+ Uri path= FileProvider.getUriForFile(TestDetails.this,"in.sminnovations.arrest_tb.fileprovider",filePath);
+ intent.putExtra(Intent.EXTRA_STREAM,path);
+ }
+ else{
+
+ intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(filePath));
+ }
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ intent.setType("application/pdf");
+ startActivity(intent);
+
+ //startCropImageActivity();
+ // createPdf(editText.getText().toString());
+
+
+ }
+
+ return true;
+ }
+ });
+
+
+ return super.onCreateOptionsMenu(menu);
+ }
+
}
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index bc41553..230c6a8 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -50,7 +50,7 @@
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/shanmukha_logo_small"
- android:text="Arrest TB 1.0.0"
+ android:text="SpinTube App 1.0.0"
android:textColor="#131313"
android:textSize="@dimen/heading_size"
android:textStyle="bold">
diff --git a/app/src/main/res/layout/activity_spin__test.xml b/app/src/main/res/layout/activity_spin__test.xml
index 5dec212..ce2c152 100644
--- a/app/src/main/res/layout/activity_spin__test.xml
+++ b/app/src/main/res/layout/activity_spin__test.xml
@@ -6,6 +6,37 @@
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
+
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3935f6d..c13c853 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
- Arrest TB
+ SpinTube App
Open navigation drawer
Close navigation drawer
*