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

157 lines
5.4 KiB
Java
Raw Normal View History

package net.foucry.pilldroid;
import android.content.Intent;
import android.os.Bundle;
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 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;
import static net.foucry.pilldroid.R.id.detail_toolbar;
2020-05-03 15:14:56 +02:00
/**
2021-04-12 21:11:50 +02:00
* An activity representing a single Drug 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
2021-04-12 21:11:50 +02:00
* in a {@link DrugListActivity}.
*/
2021-04-12 21:11:50 +02:00
public class DrugDetailActivity extends AppCompatActivity {
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;
@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());
setContentView(R.layout.activity_drug_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 icon");
2020-05-03 15:14:56 +02:00
getMDrugChanges();
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) {
2021-09-17 14:42:16 +02:00
actionBar.setDisplayHomeAsUpEnabled(false);
2021-04-12 21:11:50 +02:00
actionBar.setTitle(drug.getName());
}
// 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();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.add(R.id.drug_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
//
2021-04-12 21:11:50 +02:00
navigateUpTo(new Intent(this, DrugListActivity.class));
return true;
}
return super.onOptionsItemSelected(item);
}
private void getMDrugChanges() {
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());
View stockView;
2021-04-12 21:11:50 +02:00
View takeView;
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);
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-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);
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);
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();
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);
}
}
}