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) {
|
||||
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);
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -6,6 +6,37 @@
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
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>
|
||||
<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="close_navigation_drawer">Close navigation drawer</string>
|
||||
<string name="asteriskred"><font color='#cc0029'>*</font></string>
|
||||
|
||||
Reference in New Issue
Block a user