import androidx.fragment.app.FragmentTransaction;
import com.ic.blood.fragment.BloodFragment;
-import com.ic.blood.fragment.HeartRateAndOxygenFragment;
+import com.ic.blood.fragment.HeartRateFragment;
import com.ic.blood.util.IcLog;
import com.ic.blood.util.SystemUtils;
if ("false".equals(noSupportBlood)) {
commitFragment(BloodFragment.newInstance());
} else {
- commitFragment(HeartRateAndOxygenFragment.newInstance());
+ commitFragment(HeartRateFragment.newInstance());
}
} catch (Exception e) {
e.printStackTrace();
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
-import com.ic.blood.fragment.HeartRateAndOxygenFragment;
+import com.ic.blood.fragment.HeartRateFragment;
import com.ic.blood.fragment.OxygenFragment;
import com.ic.blood.fragment.SelectFragment;
}
public void showHeartRatePage() {
- showFragment(HeartRateAndOxygenFragment.newInstance());
+ showFragment(HeartRateFragment.newInstance());
}
@Override
import com.ic.blood.BloodActivity;
import com.ic.blood.BloodApp;
import com.ic.blood.R;
-import com.ic.blood.databinding.FragmentOxygenHeartRateBinding;
+import com.ic.blood.databinding.FragmentHeartRateBinding;
import com.ic.blood.model.BloodCheckModel;
import com.ic.blood.presenter.BloodPresenter;
import com.ic.blood.util.IcLog;
/**
* 这个是只有心率和血氧的UI
*/
-public class HeartRateAndOxygenFragment extends Fragment {
+public class HeartRateFragment extends Fragment {
private static final String TAG = "BloodFragment";
private Context mContext;
private BloodApp mApp;
- private FragmentOxygenHeartRateBinding bloodBinding;
+ private FragmentHeartRateBinding bloodBinding;
private PowerManager.WakeLock mWakeLock = null;
private BloodCheckModel bloodModel;
private GifImageView gifImageView;
private ImageView heartRateView;
- public static HeartRateAndOxygenFragment newInstance() {
- return new HeartRateAndOxygenFragment();
+ public static HeartRateFragment newInstance() {
+ return new HeartRateFragment();
}
@Override
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- bloodBinding = FragmentOxygenHeartRateBinding.inflate(inflater, container, false);
+ bloodBinding = FragmentHeartRateBinding.inflate(inflater, container, false);
bloodBinding.setIsShowTips(true);
bloodBinding.setTopTips(getString(R.string.tips_quiet_please));
initBloodModel();
}
private static class DelayExecuteHandler extends Handler {
- private final WeakReference<HeartRateAndOxygenFragment> mFragment;
+ private final WeakReference<HeartRateFragment> mFragment;
- public DelayExecuteHandler(HeartRateAndOxygenFragment fragment) {
+ public DelayExecuteHandler(HeartRateFragment fragment) {
mFragment = new WeakReference<>(fragment);
}
@Override
public void dispatchMessage(@NonNull Message msg) {
super.dispatchMessage(msg);
- HeartRateAndOxygenFragment heartRateFragment = mFragment.get();
+ HeartRateFragment heartRateFragment = mFragment.get();
if (heartRateFragment != null) {
heartRateFragment.releaseWakeLock();
}
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.os.IBinder;
-import android.util.SparseArray;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
-import com.ic.aidl.blood.BloodState;
import com.ic.blood.R;
import com.ic.blood.util.IcLog;
import com.ic.blood.util.SystemUtils;
private IHeartRateSensorService mService;
- private SparseArray<String> mTipsSpares;
//判断有没有配戴的,如果没有配戴的话,就不更新数据了
private boolean mHasWear = false;
public BloodPresenter(Context context) {
this.mContext = context;
- mTipsSpares = new SparseArray<>();
- mTipsSpares.put(BloodState.BLOOD_NULL_TIPS, "");
- mTipsSpares.put(BloodState.BLOOD_NOT_DEVICE, context.getString(R.string.tips_not_device));
- mTipsSpares.put(BloodState.BLOOD_PLEASE_QUIET, context.getString(R.string.tips_quiet_please));
- mTipsSpares.put(BloodState.BLOOD_START_CHECK, context.getString(R.string.tips_start_check));
- mTipsSpares.put(BloodState.BLOOD_NOT_WEAR, context.getString(R.string.tips_not_wear));
- mTipsSpares.put(BloodState.BLOOD_ING_CHECK, context.getString(R.string.tips_ing_check));
- mTipsSpares.put(BloodState.BLOOD_STOP_CHECK, context.getString(R.string.tips_stop_check));
- mTipsSpares.put(BloodState.BLOOD_NOT_DATA_CHECK, context.getString(R.string.tips_not_data_check));
mObsBloodValue = new MutableLiveData<>();
mObsTipsInfo = new MutableLiveData<>();
public void startCheckBlood() {
IcLog.d(TAG, "startCheckBlood...");
if (mService != null) {
- mObsStateTips.postValue(mContext.getString(R.string.tips_ing_check));
+ String string = getTestingString();
+ mObsStateTips.postValue(string);
//处理UI变化
try {
/**
String.valueOf(heartRate.getBloodLow()),
String.valueOf(heartRate.getHeartRate()),
String.valueOf(heartRate.getOxygen())});
- mObsStateTips.postValue(mContext.getString(R.string.tips_ing_check));
+ String string = getTestingString();
+ mObsStateTips.postValue(string);
}
@Override
};
+ private String getTestingString() {
+ String string = mContext.getString(R.string.tips_ing_check);
+ if (testType == TestType.JUST_OXYGEN) {
+ string = mContext.getString(R.string.tips_ing_check_blood_oxygen);
+ } else if (testType == TestType.JUST_HEART_RATE) {
+ string = mContext.getString(R.string.tips_ing_check_heart_rate);
+ }
+ return string;
+ }
+
public LiveData<String> getObsStateTips() {
return mObsStateTips;
android:id="@+id/ic_heart_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginLeft="20dp"
- android:layout_marginTop="30dp"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginTop="36dp"
android:visibility="@{isShowTips ? View.GONE : View.VISIBLE}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
+
android:layout_marginTop="30dp"
android:layout_marginRight="20dp"
- android:visibility="@{isShowTips ? View.GONE : View.VISIBLE}">
+ android:visibility="gone">
<TextView
android:id="@+id/ic_blood_oxygen_name"
android:layout_gravity="left"
android:layout_marginLeft="20dp"
android:layout_marginTop="30dp"
- android:visibility="@{isShowTips ? View.GONE : View.VISIBLE}">
+ android:visibility="gone">
<TextView
android:id="@+id/ic_heart_name"
android:id="@+id/ic_oxygen_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="right"
- android:layout_marginTop="30dp"
- android:layout_marginRight="20dp"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginTop="36dp"
android:visibility="@{isShowTips ? View.GONE : View.VISIBLE}">
<TextView
<string name="tips_quiet_please">Keep quiet</string>
<string name="tips_start_check">Prepare</string>
<string name="tips_ing_check">Processing</string>
+ <string name="tips_ing_check_heart_rate">Testing HeartRate</string>
+ <string name="tips_ing_check_blood_oxygen">Testing oxygen</string>
<string name="tips_stop_check">Stop</string>
<string name="tips_not_data_check">No data</string>
<string name="tips_finish_check">Complete</string>
<string name="tips_quiet_please">安静にしてください</string>
<string name="tips_start_check">測量を準備する</string>
<string name="tips_ing_check">測定中</string>
+ <string name="tips_ing_check_heart_rate">測定中 HeartRate</string>
+ <string name="tips_ing_check_blood_oxygen">測定中 oxygen</string>
<string name="tips_stop_check">測定を停止した</string>
<string name="tips_not_data_check">データは計測されていない</string>
<string name="tips_finish_check">測定完了</string>
<string name="tips_quiet_please">请保持安静</string>
<string name="tips_start_check">准备测量</string>
<string name="tips_ing_check">正在测量中</string>
+ <string name="tips_ing_check_heart_rate">正在测量心率</string>
+ <string name="tips_ing_check_blood_oxygen">正在测量血氧</string>
<string name="tips_stop_check">已停止测量</string>
<string name="tips_not_data_check">未测量到数据</string>
<string name="tips_finish_check">测量完成</string>
<string name="tips_quiet_please">請保持安靜</string>
<string name="tips_start_check">準備測量</string>
<string name="tips_ing_check">正在測量中</string>
+ <string name="tips_ing_check_heart_rate">正在測量心率</string>
+ <string name="tips_ing_check_blood_oxygen">正在測量血氧</string>
<string name="tips_stop_check">已停止測量</string>
<string name="tips_not_data_check">未測量到數據</string>
<string name="tips_finish_check">測量完成</string>
<string name="tips_quiet_please">請保持安靜</string>
<string name="tips_start_check">準備測量</string>
<string name="tips_ing_check">正在測量中</string>
+ <string name="tips_ing_check_heart_rate">正在測量心率</string>
+ <string name="tips_ing_check_blood_oxygen">正在測量血氧</string>
<string name="tips_stop_check">已停止測量</string>
<string name="tips_not_data_check">未測量到數據</string>
<string name="tips_finish_check">測量完成</string>
<string name="tips_quiet_please">请保持安静</string>
<string name="tips_start_check">准备测量</string>
<string name="tips_ing_check">正在测量中</string>
+ <string name="tips_ing_check_heart_rate">正在测量心率</string>
+ <string name="tips_ing_check_blood_oxygen">正在测量血氧</string>
<string name="tips_stop_check">已停止测量</string>
<string name="tips_not_data_check">未测量到数据</string>
<string name="tips_finish_check">测量完成</string>