mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-28 21:06:50 +01:00
Fossil HR: added option to disable widget circle
This commit is contained in:
parent
9c50c61267
commit
b2a6b4b03b
@ -188,6 +188,7 @@ public class HRConfigActivity extends AbstractGBActivity implements View.OnClick
|
||||
JSONObject widgetObject = new JSONObject();
|
||||
widgetObject
|
||||
.put("name", widget.getName())
|
||||
.put("drawCircle", widget.getDrawCircle())
|
||||
.put("elements", elementArray);
|
||||
|
||||
widgetArray.put(widgetObject);
|
||||
@ -208,7 +209,7 @@ public class HRConfigActivity extends AbstractGBActivity implements View.OnClick
|
||||
for (int i = 0; i < customWidgets.length(); i++) {
|
||||
JSONObject customWidgetObject = customWidgets.getJSONObject(i);
|
||||
CustomWidget widget = new CustomWidget(
|
||||
customWidgetObject.getString("name"), 0, 0, "default" // FIXME: handle force white background
|
||||
customWidgetObject.getString("name"), 0, 0, "default", false // FIXME: handle force white background
|
||||
);
|
||||
JSONArray elements = customWidgetObject.getJSONArray("elements");
|
||||
|
||||
|
@ -7,6 +7,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ListView;
|
||||
import android.widget.RadioButton;
|
||||
@ -48,9 +50,10 @@ public class WidgetSettingsActivity extends AbstractGBActivity {
|
||||
if(getIntent().hasExtra("EXTRA_WIDGET")){
|
||||
subject = (CustomWidget) getIntent().getExtras().get("EXTRA_WIDGET");
|
||||
((EditText) findViewById(R.id.qhybrid_widget_name)).setText(subject.getName());
|
||||
((CheckBox)findViewById(R.id.qhybrid_widget_circle)).setChecked(subject.getDrawCircle());
|
||||
resultCode = RESULT_CODE_WIDGET_UPDATED;
|
||||
}else{
|
||||
subject = new CustomWidget("", 0, 63, "default"); // FIXME: handle force white background
|
||||
subject = new CustomWidget("", 0, 63, "default", false); // FIXME: handle force white background
|
||||
resultCode = RESULT_CODE_WIDGET_CREATED;
|
||||
findViewById(R.id.qhybrid_widget_delete).setEnabled(false);
|
||||
}
|
||||
@ -93,6 +96,13 @@ public class WidgetSettingsActivity extends AbstractGBActivity {
|
||||
showElementDialog(null);
|
||||
}
|
||||
});
|
||||
|
||||
((CheckBox)findViewById(R.id.qhybrid_widget_circle)).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
|
||||
subject.setDrawCircle(b);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showElementDialog(@Nullable final CustomWidgetElement element){
|
||||
|
@ -193,11 +193,14 @@ public class FossilHRWatchAdapter extends FossilWatchAdapter {
|
||||
for(int i = 0; i < customWidgets.length(); i++){
|
||||
JSONObject customWidget = customWidgets.getJSONObject(i);
|
||||
if(customWidget.getString("name").equals(identifier)){
|
||||
boolean drawCircle = false;
|
||||
if(customWidget.has("drawCircle")) drawCircle = customWidget.getBoolean("drawCircle");
|
||||
CustomWidget newWidget = new CustomWidget(
|
||||
customWidget.getString("name"),
|
||||
positionMap.get(position),
|
||||
63,
|
||||
fontColor
|
||||
fontColor,
|
||||
drawCircle
|
||||
);
|
||||
JSONArray elements = customWidget.getJSONArray("elements");
|
||||
|
||||
@ -263,8 +266,8 @@ public class FossilHRWatchAdapter extends FossilWatchAdapter {
|
||||
|
||||
boolean backgroundDrawn = false;
|
||||
|
||||
Paint circlePaint = new Paint();
|
||||
if(!backgroundDrawn){
|
||||
if(widget.getDrawCircle() && !backgroundDrawn){
|
||||
Paint circlePaint = new Paint();
|
||||
circlePaint.setColor(forceWhiteBackground ? Color.WHITE : Color.BLACK);
|
||||
circlePaint.setStyle(Paint.Style.FILL);
|
||||
circlePaint.setStrokeWidth(3);
|
||||
|
@ -9,12 +9,22 @@ public class CustomWidget extends Widget {
|
||||
private ArrayList<CustomWidgetElement> elements = new ArrayList<>();
|
||||
private int angle, distance;
|
||||
private String name;
|
||||
private boolean drawCircle;
|
||||
|
||||
public CustomWidget(String name, int angle, int distance, String fontColor) {
|
||||
public CustomWidget(String name, int angle, int distance, String fontColor, boolean drawCircle) {
|
||||
super(null, angle, distance, fontColor);
|
||||
this.angle = angle;
|
||||
this.distance = distance;
|
||||
this.name = name;
|
||||
this.drawCircle = drawCircle;
|
||||
}
|
||||
|
||||
public boolean getDrawCircle(){
|
||||
return this.drawCircle;
|
||||
}
|
||||
|
||||
public void setDrawCircle(boolean drawCircle){
|
||||
this.drawCircle = drawCircle;
|
||||
}
|
||||
|
||||
public int getAngle() {
|
||||
|
@ -43,6 +43,12 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="add element" />
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="draw circle"
|
||||
android:id="@+id/qhybrid_widget_circle" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
Loading…
Reference in New Issue
Block a user