NS profile fragment shows all profiles
This commit is contained in:
parent
6393ee5e10
commit
349b27e31a
5 changed files with 64 additions and 7 deletions
|
@ -2,28 +2,36 @@ package info.nightscout.androidaps.plugins.ProfileNS;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.squareup.otto.Subscribe;
|
import com.squareup.otto.Subscribe;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import info.nightscout.androidaps.Constants;
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
import info.nightscout.androidaps.data.Profile;
|
import info.nightscout.androidaps.data.Profile;
|
||||||
|
import info.nightscout.androidaps.data.ProfileStore;
|
||||||
import info.nightscout.androidaps.plugins.Common.SubscriberFragment;
|
import info.nightscout.androidaps.plugins.Common.SubscriberFragment;
|
||||||
|
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
|
||||||
import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI;
|
import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI;
|
||||||
import info.nightscout.utils.DecimalFormatter;
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
public class NSProfileFragment extends SubscriberFragment {
|
public class NSProfileFragment extends SubscriberFragment implements AdapterView.OnItemSelectedListener {
|
||||||
private static NSProfilePlugin nsProfilePlugin = new NSProfilePlugin();
|
private static NSProfilePlugin nsProfilePlugin = new NSProfilePlugin();
|
||||||
|
|
||||||
public static NSProfilePlugin getPlugin() {
|
public static NSProfilePlugin getPlugin() {
|
||||||
return nsProfilePlugin;
|
return nsProfilePlugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Spinner profileSpinner;
|
||||||
private TextView noProfile;
|
private TextView noProfile;
|
||||||
private TextView units;
|
private TextView units;
|
||||||
private TextView dia;
|
private TextView dia;
|
||||||
|
@ -36,8 +44,9 @@ public class NSProfileFragment extends SubscriberFragment {
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
View layout = inflater.inflate(R.layout.nsprofileviewer_fragment, container, false);
|
View layout = inflater.inflate(R.layout.nsprofile_fragment, container, false);
|
||||||
|
|
||||||
|
profileSpinner = (Spinner) layout.findViewById(R.id.nsprofile_spinner);
|
||||||
noProfile = (TextView) layout.findViewById(R.id.profileview_noprofile);
|
noProfile = (TextView) layout.findViewById(R.id.profileview_noprofile);
|
||||||
units = (TextView) layout.findViewById(R.id.profileview_units);
|
units = (TextView) layout.findViewById(R.id.profileview_units);
|
||||||
dia = (TextView) layout.findViewById(R.id.profileview_dia);
|
dia = (TextView) layout.findViewById(R.id.profileview_dia);
|
||||||
|
@ -47,6 +56,8 @@ public class NSProfileFragment extends SubscriberFragment {
|
||||||
basal = (TextView) layout.findViewById(R.id.profileview_basal);
|
basal = (TextView) layout.findViewById(R.id.profileview_basal);
|
||||||
target = (TextView) layout.findViewById(R.id.profileview_target);
|
target = (TextView) layout.findViewById(R.id.profileview_target);
|
||||||
|
|
||||||
|
profileSpinner.setOnItemSelectedListener(this);
|
||||||
|
|
||||||
updateGUI();
|
updateGUI();
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
@ -72,14 +83,42 @@ public class NSProfileFragment extends SubscriberFragment {
|
||||||
noProfile.setVisibility(View.GONE);
|
noProfile.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
Profile profile = MainApp.getConfigBuilder().getProfile();
|
ProfileStore profileStore = getPlugin().getProfile();
|
||||||
|
ArrayList<CharSequence> profileList = profileStore.getProfileList();
|
||||||
|
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<>(getContext(),
|
||||||
|
R.layout.spinner_centered, profileList);
|
||||||
|
profileSpinner.setAdapter(adapter);
|
||||||
|
// set selected to actual profile
|
||||||
|
for (int p = 0; p < profileList.size(); p++) {
|
||||||
|
if (profileList.get(p).equals(MainApp.getConfigBuilder().getProfileName()))
|
||||||
|
profileSpinner.setSelection(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
String name = parent.getItemAtPosition(position).toString();
|
||||||
|
|
||||||
|
Profile profile = getPlugin().getProfile().getSpecificProfile(name);
|
||||||
units.setText(profile.getUnits());
|
units.setText(profile.getUnits());
|
||||||
dia.setText(DecimalFormatter.to2Decimal(profile.getDia()) + " h");
|
dia.setText(DecimalFormatter.to2Decimal(profile.getDia()) + " h");
|
||||||
activeProfile.setText(MainApp.getConfigBuilder().getProfileName());
|
activeProfile.setText(name);
|
||||||
ic.setText(profile.getIcList());
|
ic.setText(profile.getIcList());
|
||||||
isf.setText(profile.getIsfList());
|
isf.setText(profile.getIsfList());
|
||||||
basal.setText(profile.getBasalList());
|
basal.setText(profile.getBasalList());
|
||||||
target.setText(profile.getTargetList());
|
target.setText(profile.getTargetList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
noProfile.setVisibility(View.VISIBLE);
|
||||||
|
units.setText("");
|
||||||
|
dia.setText("");
|
||||||
|
activeProfile.setText("");
|
||||||
|
ic.setText("");
|
||||||
|
isf.setText("");
|
||||||
|
basal.setText("");
|
||||||
|
target.setText("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class ProfileViewDialog extends DialogFragment {
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
View layout = inflater.inflate(R.layout.nsprofileviewer_fragment, container, false);
|
View layout = inflater.inflate(R.layout.profileviewer_fragment, container, false);
|
||||||
|
|
||||||
noProfile = (TextView) layout.findViewById(R.id.profileview_noprofile);
|
noProfile = (TextView) layout.findViewById(R.id.profileview_noprofile);
|
||||||
units = (TextView) layout.findViewById(R.id.profileview_units);
|
units = (TextView) layout.findViewById(R.id.profileview_units);
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class ProfileViewerDialog extends DialogFragment {
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
View layout = inflater.inflate(R.layout.nsprofileviewer_fragment, container, false);
|
View layout = inflater.inflate(R.layout.profileviewer_fragment, container, false);
|
||||||
|
|
||||||
noProfile = (TextView) layout.findViewById(R.id.profileview_noprofile);
|
noProfile = (TextView) layout.findViewById(R.id.profileview_noprofile);
|
||||||
units = (TextView) layout.findViewById(R.id.profileview_units);
|
units = (TextView) layout.findViewById(R.id.profileview_units);
|
||||||
|
|
18
app/src/main/res/layout/nsprofile_fragment.xml
Normal file
18
app/src/main/res/layout/nsprofile_fragment.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:orientation="vertical" android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:id="@+id/nsprofile_spinner"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:layout_marginBottom="5dp" />
|
||||||
|
|
||||||
|
<include
|
||||||
|
layout="@layout/profileviewer_fragment"
|
||||||
|
layout_width="match_parent"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content" />
|
||||||
|
</LinearLayout>
|
Loading…
Reference in a new issue