mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-23 00:33:09 +02:00
add preference to clear all Bluetooth data on the custom made scale
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.health.openscale"
|
||||
android:versionCode="1"
|
||||
android:versionCode="2"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<uses-permission android:name="android.permission.BLUETOOTH"/>
|
||||
|
@@ -92,7 +92,18 @@ public class BluetoothCommunication extends Thread {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public boolean sendBtData(String data){
|
||||
if (btSocket.isConnected()) {
|
||||
BluetoothConnectedThread btConnectThread = new BluetoothConnectedThread(btSocket, btHandler);
|
||||
btConnectThread.write(data.getBytes());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
try {
|
||||
btSocket.close();
|
||||
|
@@ -15,14 +15,14 @@
|
||||
*/
|
||||
package com.health.openscale.core;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import android.bluetooth.BluetoothSocket;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class BluetoothConnectedThread extends Thread {
|
||||
private BluetoothSocket btSocket;
|
||||
private InputStream btInStream;
|
||||
@@ -70,7 +70,9 @@ public class BluetoothConnectedThread extends Thread {
|
||||
public void write(byte[] bytes) {
|
||||
try {
|
||||
btOutStream.write(bytes);
|
||||
} catch (IOException e) { }
|
||||
} catch (IOException e) {
|
||||
Log.e("BluetoothConnectedThread", "Error while writing to bluetooth socket " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
|
@@ -235,6 +235,13 @@ public class OpenScale {
|
||||
updateScaleData();
|
||||
}
|
||||
|
||||
public boolean clearBtScaleData() {
|
||||
if (btCom != null)
|
||||
return false;
|
||||
|
||||
return btCom.sendBtData("9");
|
||||
}
|
||||
|
||||
public int[] getCountsOfMonth(int year) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
int selectedUserId = prefs.getInt("selectedUserId", -1);
|
||||
|
@@ -27,6 +27,7 @@ import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceGroup;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.health.openscale.R;
|
||||
import com.health.openscale.core.OpenScale;
|
||||
@@ -42,6 +43,9 @@ protected void onCreate(Bundle savedInstanceState) {
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
initSummary(getPreferenceScreen());
|
||||
|
||||
Preference prefClearBtData = (Preference) findPreference("btClearData");
|
||||
prefClearBtData.setOnPreferenceClickListener(new onClickListenerClearBtData());
|
||||
|
||||
updateUserPreferences();
|
||||
}
|
||||
|
||||
@@ -151,8 +155,10 @@ private void updatePrefSummary(Preference p) {
|
||||
if(prefs.getBoolean("btEnable", true))
|
||||
{
|
||||
findPreference("btDeviceName").setEnabled(true);
|
||||
findPreference("btClearData").setEnabled(true);
|
||||
} else {
|
||||
findPreference("btDeviceName").setEnabled(false);
|
||||
findPreference("btClearData").setEnabled(false);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
@@ -195,4 +201,18 @@ private void updatePrefSummary(Preference p) {
|
||||
}
|
||||
}
|
||||
|
||||
private class onClickListenerClearBtData implements Preference.OnPreferenceClickListener {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
|
||||
if (OpenScale.getInstance(getApplicationContext()).clearBtScaleData()) {
|
||||
Toast.makeText(preference.getContext(), getResources().getString(R.string.info_delete_bluetooth_data_success), Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Toast.makeText(preference.getContext(), getResources().getString(R.string.info_bluetooth_not_established), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -64,6 +64,9 @@
|
||||
<string name="info_is_not_visible">Is not visible</string>
|
||||
<string name="info_bluetooth_enable">Searching for Bluetooth bathroom scale is enabled</string>
|
||||
<string name="info_bluetooth_disable">Searching for Bluetooth bathroom scale is disabled</string>
|
||||
<string name="info_delete_bluetooth_data">Clear Bluetooth data</string>
|
||||
<string name="info_delete_bluetooth_data_success">Bluetooth data was successful cleared</string>
|
||||
<string name="info_bluetooth_not_established">Bluetooth connection not established</string>
|
||||
<string name="info_enter_value_cm">Enter your height in cm</string>
|
||||
<string name="info_enter_user_name">Enter your name</string>
|
||||
<string name="info_no_selected_user">No user exist! Please create a new user in the settings</string>
|
||||
|
@@ -7,6 +7,7 @@
|
||||
<PreferenceCategory android:title="@string/label_bluetooth_title">
|
||||
<CheckBoxPreference android:title="@string/label_bluetooth_enable" android:summaryOn="@string/info_bluetooth_enable" android:summaryOff="@string/info_bluetooth_disable" android:key="btEnable" android:defaultValue="false"/>
|
||||
<EditTextPreference android:title="@string/label_device_name" android:key="btDeviceName" android:defaultValue="openScale" />
|
||||
<Preference android:title = "@string/info_delete_bluetooth_data" android:key="btClearData" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/title_graph">
|
||||
|
Reference in New Issue
Block a user