2016-05-19 07:37:28 +02:00
|
|
|
|
package net.foucry.pilldroid;
|
|
|
|
|
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
import android.os.Bundle;
|
2020-05-03 15:14:56 +02:00
|
|
|
|
import android.util.Log;
|
2016-05-19 07:37:28 +02:00
|
|
|
|
import android.view.MenuItem;
|
2020-05-03 20:33:58 +02:00
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.widget.EditText;
|
2020-06-12 11:11:33 +02:00
|
|
|
|
import android.widget.ImageButton;
|
2020-05-03 20:33:58 +02:00
|
|
|
|
import android.widget.TextView;
|
2016-05-19 07:37:28 +02:00
|
|
|
|
|
2021-04-18 18:39:55 +02:00
|
|
|
|
import androidx.appcompat.app.ActionBar;
|
|
|
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
|
|
|
import androidx.appcompat.widget.Toolbar;
|
|
|
|
|
|
2020-12-07 11:21:39 +01:00
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
2020-05-03 20:33:58 +02:00
|
|
|
|
import static net.foucry.pilldroid.R.id.detail_toolbar;
|
2020-05-03 15:14:56 +02:00
|
|
|
|
|
2016-05-19 07:37:28 +02:00
|
|
|
|
/**
|
2021-04-12 21:11:50 +02:00
|
|
|
|
* An activity representing a single Drug detail screen. This
|
2016-05-19 07:37:28 +02:00
|
|
|
|
* activity is only used narrow width devices. On tablet-size devices,
|
|
|
|
|
* item details are presented side-by-side with a list of items
|
2021-04-12 21:11:50 +02:00
|
|
|
|
* in a {@link DrugListActivity}.
|
2016-05-19 07:37:28 +02:00
|
|
|
|
*/
|
2021-04-12 21:11:50 +02:00
|
|
|
|
public class DrugDetailActivity extends AppCompatActivity {
|
2016-05-19 07:37:28 +02:00
|
|
|
|
|
2021-04-12 21:11:50 +02:00
|
|
|
|
private static final String TAG = DrugDetailActivity.class.getName();
|
2020-05-03 15:14:56 +02:00
|
|
|
|
|
2021-04-12 21:11:50 +02:00
|
|
|
|
Drug drug;
|
2021-12-28 15:09:52 +01:00
|
|
|
|
|
|
|
|
|
|
2016-05-19 07:37:28 +02:00
|
|
|
|
@Override
|
|
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
|
super.onCreate(savedInstanceState);
|
2020-05-03 15:14:56 +02:00
|
|
|
|
|
|
|
|
|
Bundle extras = getIntent().getExtras();
|
|
|
|
|
|
|
|
|
|
/* fetching the string passed with intent using ‘extras’*/
|
|
|
|
|
|
2020-06-12 18:04:36 +02:00
|
|
|
|
assert extras != null;
|
2021-04-12 21:11:50 +02:00
|
|
|
|
drug = (Drug) extras.getSerializable("drug");
|
2020-05-03 15:14:56 +02:00
|
|
|
|
|
2021-04-12 21:11:50 +02:00
|
|
|
|
assert drug != null;
|
|
|
|
|
Log.d(TAG, "drug == " + drug.toString());
|
2020-05-03 20:33:58 +02:00
|
|
|
|
|
2021-10-05 12:23:04 +02:00
|
|
|
|
setContentView(R.layout.activity_drug_detail);
|
2020-05-03 20:33:58 +02:00
|
|
|
|
Toolbar toolbar = findViewById(detail_toolbar);
|
2016-05-22 18:30:58 +02:00
|
|
|
|
|
2020-05-03 15:14:56 +02:00
|
|
|
|
|
2016-05-22 18:30:58 +02:00
|
|
|
|
if (toolbar != null) {
|
|
|
|
|
setSupportActionBar(toolbar);
|
|
|
|
|
}
|
2016-05-19 07:37:28 +02:00
|
|
|
|
|
2020-06-12 11:11:33 +02:00
|
|
|
|
ImageButton fab = findViewById(R.id.fab);
|
2016-05-19 07:37:28 +02:00
|
|
|
|
fab.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View view) {
|
2021-01-09 11:18:09 +01:00
|
|
|
|
Log.d(TAG, "Click on save icon");
|
2020-05-03 15:14:56 +02:00
|
|
|
|
|
2021-04-18 18:39:55 +02:00
|
|
|
|
getMDrugChanges();
|
2019-10-09 21:00:10 +02:00
|
|
|
|
setResult(1);
|
2020-02-19 10:49:16 +01:00
|
|
|
|
finish();
|
2020-10-01 13:38:12 +02:00
|
|
|
|
overridePendingTransition(R.anim.slide_from_left, R.anim.slide_to_right);
|
2016-05-19 07:37:28 +02:00
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Show the Up button in the action bar.
|
|
|
|
|
ActionBar actionBar = getSupportActionBar();
|
|
|
|
|
if (actionBar != null) {
|
2021-09-17 14:42:16 +02:00
|
|
|
|
actionBar.setDisplayHomeAsUpEnabled(false);
|
2021-04-12 21:11:50 +02:00
|
|
|
|
actionBar.setTitle(drug.getName());
|
2016-05-19 07:37:28 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// savedInstanceState is non-null when there is fragment state
|
|
|
|
|
// saved from previous configurations of this activity
|
|
|
|
|
// (e.g. when rotating the screen from portrait to landscape).
|
|
|
|
|
// In this case, the fragment will automatically be re-added
|
|
|
|
|
// to its container so we don't need to manually add it.
|
|
|
|
|
// For more information, see the Fragments API guide at:
|
|
|
|
|
//
|
|
|
|
|
// http://developer.android.com/guide/components/fragments.html
|
|
|
|
|
//
|
|
|
|
|
if (savedInstanceState == null) {
|
|
|
|
|
// Create the detail fragment and add it to the activity
|
|
|
|
|
// using a fragment transaction.
|
|
|
|
|
Bundle arguments = new Bundle();
|
2021-04-12 21:11:50 +02:00
|
|
|
|
arguments.putSerializable("drug",
|
|
|
|
|
getIntent().getSerializableExtra("drug"));
|
|
|
|
|
DrugDetailFragment fragment = new DrugDetailFragment();
|
2016-05-19 07:37:28 +02:00
|
|
|
|
fragment.setArguments(arguments);
|
|
|
|
|
getSupportFragmentManager().beginTransaction()
|
2021-04-18 18:39:55 +02:00
|
|
|
|
.add(R.id.drug_detail_container, fragment)
|
2016-05-19 07:37:28 +02:00
|
|
|
|
.commit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
|
|
int id = item.getItemId();
|
|
|
|
|
if (id == android.R.id.home) {
|
|
|
|
|
// This ID represents the Home or Up button. In the case of this
|
|
|
|
|
// activity, the Up button is shown. For
|
|
|
|
|
// more details, see the Navigation pattern on Android Design:
|
|
|
|
|
//
|
|
|
|
|
// http://developer.android.com/design/patterns/navigation.html#up-vs-back
|
|
|
|
|
//
|
2021-04-12 21:11:50 +02:00
|
|
|
|
navigateUpTo(new Intent(this, DrugListActivity.class));
|
2016-05-19 07:37:28 +02:00
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return super.onOptionsItemSelected(item);
|
|
|
|
|
}
|
2020-05-03 20:33:58 +02:00
|
|
|
|
|
2021-12-28 15:09:52 +01:00
|
|
|
|
private void getMDrugChanges() {
|
2020-05-03 20:33:58 +02:00
|
|
|
|
Log.d(TAG, "Time to save new values");
|
|
|
|
|
|
|
|
|
|
DBHelper dbHelper = new DBHelper(this);
|
|
|
|
|
|
2021-04-12 21:11:50 +02:00
|
|
|
|
Drug newDrug = dbHelper.getDrugByCIP13(drug.getCip13());
|
2020-09-30 17:59:18 +02:00
|
|
|
|
|
2020-05-03 20:33:58 +02:00
|
|
|
|
View stockView;
|
2021-04-12 21:11:50 +02:00
|
|
|
|
View takeView;
|
2020-05-03 20:33:58 +02:00
|
|
|
|
View warningView;
|
|
|
|
|
View alertView;
|
|
|
|
|
|
2020-07-03 21:44:20 +02:00
|
|
|
|
stockView = findViewById(R.id.stock_cell);
|
2021-04-12 21:11:50 +02:00
|
|
|
|
EditText stockTextView = stockView.findViewById(R.id.value);
|
2020-05-03 20:33:58 +02:00
|
|
|
|
String stockValue = stockTextView.getText().toString();
|
|
|
|
|
|
2021-04-12 21:11:50 +02:00
|
|
|
|
takeView = findViewById(R.id.take_cell);
|
|
|
|
|
TextView takeTextView = takeView.findViewById(R.id.value);
|
|
|
|
|
String takeValue = takeTextView.getText().toString();
|
2020-05-03 20:33:58 +02:00
|
|
|
|
|
2020-07-03 21:44:20 +02:00
|
|
|
|
alertView = findViewById(R.id.alert_cell);
|
2021-04-12 21:11:50 +02:00
|
|
|
|
TextView alertTextView = alertView.findViewById(R.id.value);
|
2020-05-03 20:33:58 +02:00
|
|
|
|
String alertValue = alertTextView.getText().toString();
|
|
|
|
|
|
2020-07-03 21:44:20 +02:00
|
|
|
|
warningView = findViewById(R.id.warning_cell);
|
2021-04-12 21:11:50 +02:00
|
|
|
|
TextView warningTextView = warningView.findViewById(R.id.value);
|
2020-05-03 20:33:58 +02:00
|
|
|
|
String warningValue = warningTextView.getText().toString();
|
|
|
|
|
|
2021-04-12 21:11:50 +02:00
|
|
|
|
newDrug.setStock(Double.parseDouble(stockValue));
|
|
|
|
|
newDrug.setTake(Double.parseDouble(takeValue));
|
|
|
|
|
newDrug.setWarnThreshold(Integer.parseInt(warningValue));
|
|
|
|
|
newDrug.setAlertThreshold(Integer.parseInt(alertValue));
|
|
|
|
|
newDrug.setDateEndOfStock();
|
|
|
|
|
|
2021-12-28 15:09:52 +01:00
|
|
|
|
if (drug.equals(newDrug)) {
|
|
|
|
|
Log.d(TAG, "drug and newDrug are Equals");
|
|
|
|
|
} else {
|
|
|
|
|
Log.d(TAG, "drug and newDrug are NOT Equals");
|
|
|
|
|
newDrug.setDateLastUpdate(new Date().getTime());
|
|
|
|
|
dbHelper.updateDrug(newDrug);
|
|
|
|
|
}
|
2020-05-03 20:33:58 +02:00
|
|
|
|
}
|
2016-05-19 07:37:28 +02:00
|
|
|
|
}
|