Pilldroid/app/src/main/java/net/foucry/pilldroid/MedicamentDetailActivity.java

157 lines
5.7 KiB
Java
Raw Normal View History

package net.foucry.pilldroid;
import android.content.Intent;
import android.os.Bundle;
2020-05-16 19:49:14 +02:00
import com.google.android.material.snackbar.Snackbar;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
2020-05-03 15:14:56 +02:00
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import static net.foucry.pilldroid.R.id.detail_toolbar;
2020-05-03 15:14:56 +02:00
/**
* An activity representing a single Medicament detail screen. This
* activity is only used narrow width devices. On tablet-size devices,
* item details are presented side-by-side with a list of items
* in a {@link MedicamentListActivity}.
*/
public class MedicamentDetailActivity extends AppCompatActivity {
2020-05-03 15:14:56 +02:00
private static final String TAG = MedicamentDetailActivity.class.getName();
Medicament medicament;
@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;
2020-05-03 15:14:56 +02:00
medicament = (Medicament) extras.getSerializable("medicament");
assert medicament != null;
Log.d(TAG, "medicament == " + medicament.toString());
setContentView(R.layout.activity_medicament_detail);
Toolbar toolbar = findViewById(detail_toolbar);
2020-05-03 15:14:56 +02:00
if (toolbar != null) {
setSupportActionBar(toolbar);
}
ImageButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "Click on save icone");
2020-05-03 15:14:56 +02:00
getMedicamentChanges();
2019-10-09 21:00:10 +02:00
setResult(1);
finish();
2020-10-01 13:38:12 +02:00
overridePendingTransition(R.anim.slide_from_left, R.anim.slide_to_right);
}
});
// Show the Up button in the action bar.
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setTitle(medicament.getNom());
}
// 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();
arguments.putSerializable("medicament",
getIntent().getSerializableExtra("medicament"));
MedicamentDetailFragment fragment = new MedicamentDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.add(R.id.medicament_detail_container, fragment)
.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
//
navigateUpTo(new Intent(this, MedicamentListActivity.class));
return true;
}
return super.onOptionsItemSelected(item);
}
private void getMedicamentChanges()
{
Log.d(TAG, "Time to save new values");
DBHelper dbHelper = new DBHelper(this);
Medicament newMedicament = dbHelper.getDrugByCIP13(medicament.getCip13());
View stockView;
View priseView;
View warningView;
View alertView;
2020-07-03 21:44:20 +02:00
stockView = findViewById(R.id.stock_cell);
EditText stockTextView = stockView.findViewById(R.id.valeur);
String stockValue = stockTextView.getText().toString();
2020-07-03 21:44:20 +02:00
priseView = findViewById(R.id.prise_cell);
TextView priseTextView = priseView.findViewById(R.id.valeur);
String priseValue = priseTextView.getText().toString();
2020-07-03 21:44:20 +02:00
alertView = findViewById(R.id.alert_cell);
TextView alertTextView = alertView.findViewById(R.id.valeur);
String alertValue = alertTextView.getText().toString();
2020-07-03 21:44:20 +02:00
warningView = findViewById(R.id.warning_cell);
TextView warningTextView = warningView.findViewById(R.id.valeur);
String warningValue = warningTextView.getText().toString();
Log.d(TAG, "StockValue == "+ stockValue);
Log.d(TAG, "PriseValue == "+ priseValue);
Log.d(TAG, "AlertValue == "+ alertValue);
Log.d(TAG, "WarningValue == "+ warningValue);
Log.d(TAG, "medicamentID == "+ medicament.getId());
Log.d(TAG, "medicament == "+ medicament.toString());
newMedicament.setStock(Double.parseDouble(stockValue));
newMedicament.setPrise(Double.parseDouble(priseValue));
newMedicament.setWarnThreshold(Integer.parseInt(warningValue));
newMedicament.setAlertThreshold(Integer.parseInt(alertValue));
newMedicament.setDateLastUpdate();
newMedicament.setDateEndOfStock();
dbHelper.updateDrug(newMedicament);
}
}