Added sharing and downloading button for previous results.
Date of birth format change from month-date-year to date-month-year
This commit is contained in:
@@ -127,7 +127,7 @@ public class PatientDetail extends NavigationTop implements AdapterView.OnItemSe
|
|||||||
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
|
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
|
||||||
month = month + 1;
|
month = month + 1;
|
||||||
|
|
||||||
String date = month + "-" + day + "-" + year;
|
String date = day + "-" + month + "-" + year;
|
||||||
mDisplayDate.setText(date);
|
mDisplayDate.setText(date);
|
||||||
patientdob=date;
|
patientdob=date;
|
||||||
/* int year1 = Calendar.getInstance().get(Calendar.YEAR);
|
/* int year1 = Calendar.getInstance().get(Calendar.YEAR);
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ public class Report extends NavigationTop {
|
|||||||
Intent intent=new Intent(Intent.ACTION_SEND);
|
Intent intent=new Intent(Intent.ACTION_SEND);
|
||||||
intent.putExtra(Intent.EXTRA_TEXT,"Report");
|
intent.putExtra(Intent.EXTRA_TEXT,"Report");
|
||||||
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N) {
|
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);
|
intent.putExtra(Intent.EXTRA_STREAM,path);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|||||||
@@ -1,15 +1,33 @@
|
|||||||
package in.sminnovations.arrest_tb;
|
package in.sminnovations.arrest_tb;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
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.Bundle;
|
||||||
|
import android.os.Environment;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
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.bumptech.glide.Glide;
|
||||||
import com.google.firebase.database.DataSnapshot;
|
import com.google.firebase.database.DataSnapshot;
|
||||||
@@ -19,6 +37,8 @@ import com.google.firebase.database.FirebaseDatabase;
|
|||||||
import com.google.firebase.database.ValueEventListener;
|
import com.google.firebase.database.ValueEventListener;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
@@ -32,7 +52,9 @@ public class TestDetails extends NavigationTop {
|
|||||||
String date,time,number;
|
String date,time,number;
|
||||||
|
|
||||||
private String TestID = "";
|
private String TestID = "";
|
||||||
|
ImageButton shared ,dowbloadd;
|
||||||
|
|
||||||
|
File filePath=null;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -42,7 +64,10 @@ public class TestDetails extends NavigationTop {
|
|||||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
View contentView = inflater.inflate(R.layout.activity_spin__test, null, false);
|
View contentView = inflater.inflate(R.layout.activity_spin__test, null, false);
|
||||||
draw.addView(contentView, 0);
|
draw.addView(contentView, 0);
|
||||||
|
shared=findViewById(R.id.share);
|
||||||
|
|
||||||
|
|
||||||
|
dowbloadd=findViewById(R.id.downlaod);
|
||||||
patient_id=findViewById(R.id.patient_idr);
|
patient_id=findViewById(R.id.patient_idr);
|
||||||
patient_dob=findViewById(R.id.patien_dobr);
|
patient_dob=findViewById(R.id.patien_dobr);
|
||||||
patientnikshayid=findViewById(R.id.patient_nikshayidr);
|
patientnikshayid=findViewById(R.id.patient_nikshayidr);
|
||||||
@@ -75,6 +100,63 @@ public class TestDetails extends NavigationTop {
|
|||||||
|
|
||||||
|
|
||||||
getTestDetails(TestID);
|
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)
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:src="@drawable/shanmukha_logo_small"
|
android:src="@drawable/shanmukha_logo_small"
|
||||||
android:text="Arrest TB 1.0.0"
|
android:text="SpinTube App 1.0.0"
|
||||||
android:textColor="#131313"
|
android:textColor="#131313"
|
||||||
android:textSize="@dimen/heading_size"
|
android:textSize="@dimen/heading_size"
|
||||||
android:textStyle="bold">
|
android:textStyle="bold">
|
||||||
|
|||||||
@@ -6,6 +6,37 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
<RelativeLayout
|
||||||
|
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
|
||||||
|
android:background="@android:color/holo_blue_light"
|
||||||
|
android:layout_height="@android:dimen/app_icon_size"
|
||||||
|
android:orientation="vertical">
|
||||||
|
<ImageButton
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="@android:dimen/app_icon_size"
|
||||||
|
android:id="@+id/share"
|
||||||
|
android:tint="@android:color/white"
|
||||||
|
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:backgroundTint="@android:color/transparent"
|
||||||
|
android:src="@android:drawable/ic_menu_share"
|
||||||
|
android:layout_alignParentRight="true" />
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/downlaod"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_marginHorizontal="50dp"
|
||||||
|
android:backgroundTint="@android:color/transparent"
|
||||||
|
android:src="@android:drawable/stat_sys_download"
|
||||||
|
android:tint="@android:color/white" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Arrest TB </string>
|
<string name="app_name">SpinTube App</string>
|
||||||
<string name="open_navigation_drawer">Open navigation drawer</string>
|
<string name="open_navigation_drawer">Open navigation drawer</string>
|
||||||
<string name="close_navigation_drawer">Close navigation drawer</string>
|
<string name="close_navigation_drawer">Close navigation drawer</string>
|
||||||
<string name="asteriskred"><font color='#cc0029'>*</font></string>
|
<string name="asteriskred"><font color='#cc0029'>*</font></string>
|
||||||
|
|||||||
Reference in New Issue
Block a user