/*
HitoeDeviceSettingsFragment
Copyright (c) 2016 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.hitoe.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.deviceconnect.android.deviceplugin.hitoe.HitoeApplication;
import org.deviceconnect.android.deviceplugin.hitoe.R;
import org.deviceconnect.android.deviceplugin.hitoe.activity.HitoeDeviceControlActivity;
import org.deviceconnect.android.deviceplugin.hitoe.data.HeartRateData;
import org.deviceconnect.android.deviceplugin.hitoe.data.HitoeDevice;
import org.deviceconnect.android.deviceplugin.hitoe.data.HitoeManager;
import org.deviceconnect.android.deviceplugin.hitoe.data.TargetDeviceData;
/**
* This fragment do setting of the control battery profile.
*
* @author NTT DOCOMO, INC.
*/
public class HitoeProfileBatteryFragment extends Fragment {
/**
* Current Hitoe Device object.
*/
private HitoeDevice mCurrentDevice;
/**
* HeartRate TextView.
*/
private TextView mLevel;
/**
* Battery imageview.
*/
private ImageView mBatteryImage;
@Override
public View onCreateView(final LayoutInflater inflater, final @Nullable ViewGroup container,
final @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_battery_instructions, null);
rootView.findViewById(R.id.button_register).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
setBattery();
}
});
TextView title = (TextView) rootView.findViewById(R.id.view_title);
mLevel = (TextView) rootView.findViewById(R.id.battery_value);
mBatteryImage = (ImageView) rootView.findViewById(R.id.image_battery);
Bundle args = getArguments();
if (args != null) {
String serviceId = args.getString(HitoeDeviceControlActivity.FEATURE_SERVICE_ID);
HitoeApplication app = (HitoeApplication) getActivity().getApplication();
HitoeManager manager = app.getHitoeManager();
mCurrentDevice = manager.getHitoeDeviceForServiceId(serviceId);
if (mCurrentDevice != null) {
String[] profiles = getResources().getStringArray(R.array.support_profiles);
title.setText(profiles[1] + getString(R.string.title_control));
}
}
return rootView;
}
/**
* Set Battery value.
*/
public void setBattery() {
if (getActivity() == null) {
return;
}
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
HitoeApplication app = (HitoeApplication) getActivity().getApplication();
HitoeManager manager = app.getHitoeManager();
HeartRateData heart = manager.getHeartRateData(mCurrentDevice.getId());
TargetDeviceData device = heart.getDevice();
if (device != null) {
float level = device.getBatteryLevel();
if (level == 1.0) {
mBatteryImage.setImageResource(R.drawable.mark_battery01);
} else if (level == 0.75) {
mBatteryImage.setImageResource(R.drawable.mark_battery02);
} else if (level == 0.5) {
mBatteryImage.setImageResource(R.drawable.mark_battery03);
} else if (level == 0.25) {
mBatteryImage.setImageResource(R.drawable.mark_battery04);
} else {
mBatteryImage.setImageResource(R.drawable.mark_battery05);
}
mLevel.setText("" + (level * 100));
}
}
});
}
}