diff --git a/app/build.gradle b/app/build.gradle
index 07139638fc..3cf4343e49 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -128,7 +128,7 @@ android {
targetSdkVersion 28
multiDexEnabled true
versionCode 1500
- version "2.7.0-dev"
+ version "2.7.0"
buildConfigField "String", "VERSION", '"' + version + '"'
buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"'
buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"'
diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml
index 4d197c5bd8..e665a92809 100644
--- a/wear/src/main/AndroidManifest.xml
+++ b/wear/src/main/AndroidManifest.xml
@@ -6,7 +6,7 @@
-
+
-
@@ -52,7 +51,6 @@
-
@@ -71,7 +69,6 @@
-
@@ -90,7 +87,6 @@
-
@@ -109,7 +105,6 @@
-
@@ -128,7 +123,6 @@
-
@@ -147,7 +141,6 @@
-
@@ -165,7 +158,27 @@
+
+
+
+
+
+
+
+
+
+
@@ -178,57 +191,57 @@
+ android:pathPrefix="/nightscout_watch_data"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_data_resend"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_cancel_bolus"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_confirmactionstring"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_initiateactionstring"
+ android:scheme="wear" />
+ android:pathPrefix="/openwearsettings"
+ android:scheme="wear" />
+ android:pathPrefix="/sendstatustowear"
+ android:scheme="wear" />
+ android:pathPrefix="/sendpreferencestowear"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_basal"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_bolusprogress"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_actionconfirmationrequest"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_changeconfirmationrequest"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_cancelnotificationrequest"
+ android:scheme="wear" />
@@ -237,16 +250,16 @@
android:icon="@drawable/ic_aaps_full"
android:label="Full Status"
android:permission="com.google.android.wearable.permission.BIND_COMPLICATION_PROVIDER">
-
-
-
+
+
+
-
-
+
+
+ android:value="LARGE_IMAGE" />
+ android:value="0" />
+ android:value="LARGE_IMAGE" />
+ android:value="0" />
+ android:value="LARGE_IMAGE" />
+ android:value="0" />
-
+
-
+ android:label="@string/menu_settings" />
-
+ android:label="@string/menu_wizard" />
-
+ android:label="@string/menu_prime_fill" />
-
+ android:label="@string/menu_status" />
-
+ android:label="@string/action_bolus" />
-
+ android:label="@string/status_cpp" />
-
+ android:label="@string/action_confirm"
+ android:launchMode="singleInstance" />
-
+ android:label="@string/menu_prime_fill" />
-
+ android:label="@string/action_carbs" />
+ android:label="@string/menu_tempt" />
+
+
+
+
+
+
+
diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/configurationActivities/DigitalStyleConfigAct.java b/wear/src/main/java/info/nightscout/androidaps/interaction/configurationActivities/DigitalStyleConfigAct.java
new file mode 100644
index 0000000000..e86c7a80d7
--- /dev/null
+++ b/wear/src/main/java/info/nightscout/androidaps/interaction/configurationActivities/DigitalStyleConfigAct.java
@@ -0,0 +1,39 @@
+package info.nightscout.androidaps.interaction.configurationActivities;
+
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+
+import info.nightscout.androidaps.R;
+import preference.WearPreferenceActivity;
+
+public class DigitalStyleConfigAct extends WearPreferenceActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle("watchface");
+ addPreferencesFromResource(R.xml.watch_face_digitalstyle_configuration);
+ ViewGroup view = (ViewGroup) getWindow().getDecorView();
+ removeBackgroundRecursively(view);
+ view.setBackground(getResources().getDrawable(R.drawable.settings_background));
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ finish();
+ }
+
+ void removeBackgroundRecursively(View parent) {
+ if (parent instanceof ViewGroup) {
+ ViewGroup group = (ViewGroup) parent;
+ for (int i = 0; i < group.getChildCount(); i++) {
+ removeBackgroundRecursively(group.getChildAt(i));
+ }
+ }
+ parent.setBackground(null);
+ }
+
+
+}
diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/BaseWatchFace.java b/wear/src/main/java/info/nightscout/androidaps/watchfaces/BaseWatchFace.java
index 51faedeb4b..b0cb2c952e 100644
--- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/BaseWatchFace.java
+++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/BaseWatchFace.java
@@ -11,6 +11,7 @@ import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.Rect;
import android.os.PowerManager;
+import android.os.Vibrator;
import android.preference.PreferenceManager;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.support.wearable.view.WatchViewStub;
@@ -50,7 +51,7 @@ import lecho.lib.hellocharts.view.LineChartView;
public abstract class BaseWatchFace extends WatchFace implements SharedPreferences.OnSharedPreferenceChangeListener {
public final static IntentFilter INTENT_FILTER;
public static final long[] vibratePattern = {0,400,300,400,300,400};
- public TextView mTime, mSgv, mDirection, mTimestamp, mUploaderBattery, mRigBattery, mDelta, mAvgDelta, mStatus, mBasalRate, mIOB1, mIOB2, mCOB1, mCOB2, mBgi, mLoop, mDay, mMonth, isAAPSv2, mHighLight, mLowLight;
+ public TextView mTime, mHour, mMinute,mSgv, mDirection, mTimestamp, mUploaderBattery, mRigBattery, mDelta, mAvgDelta, mStatus, mBasalRate, mIOB1, mIOB2, mCOB1, mCOB2, mBgi, mLoop, mDay, mDayName, mMonth, isAAPSv2, mHighLight, mLowLight;
public ImageView mGlucoseDial, mDeltaGauge, mHourHand, mMinuteHand;
public RelativeLayout mRelativeLayout;
public LinearLayout mLinearLayout, mLinearLayout2, mDate, mChartTap, mMainMenuTap;
@@ -126,7 +127,10 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTime = (TextView) stub.findViewById(R.id.watch_time);
+ mHour = (TextView) stub.findViewById(R.id.hour);
+ mMinute = (TextView) stub.findViewById(R.id.minute);
mDay = (TextView) stub.findViewById(R.id.day);
+ mDayName= (TextView) stub.findViewById(R.id.dayname);
mMonth = (TextView) stub.findViewById(R.id.month);
mDate = (LinearLayout) stub.findViewById(R.id.date_time);
mLoop = (TextView) stub.findViewById(R.id.loop);
@@ -230,6 +234,7 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
setDataFields();
setColor();
missedReadingAlert();
+ checkVibrateHourly(oldTime,newTime);
mRelativeLayout.measure(specW, specH);
if (forceSquareCanvas) {
@@ -241,6 +246,16 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
}
}
+ private void checkVibrateHourly(WatchFaceTime oldTime, WatchFaceTime newTime){
+ Boolean hourlyVibratePref = sharedPrefs.getBoolean("vibrate_Hourly", false);
+ if (hourlyVibratePref && layoutSet && newTime.hasHourChanged(oldTime)) {
+ Log.i("hourlyVibratePref", "true --> " + newTime.toString());
+ Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
+ long[] vibrationPattern = {0, 150, 125, 100};
+ vibrator.vibrate(vibrationPattern, -1);
+ }
+ }
+
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
@@ -468,8 +483,18 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
sHour = sdfHour.format(now);
sMinute = sdfMinute.format(now);
+ if (mHour != null && mMinute != null ) {
+ mHour.setText(sHour);
+ mMinute.setText(sMinute);
+ }
+
if (mDate != null && mDay != null && mMonth != null) {
if (sharedPrefs.getBoolean("show_date", false)) {
+ if (mDayName != null ) {
+ SimpleDateFormat sdfDayName = new SimpleDateFormat("E");
+ mDayName.setText(sdfDayName.format(now));
+ }
+
SimpleDateFormat sdfDay = new SimpleDateFormat("dd");
SimpleDateFormat sdfMonth = new SimpleDateFormat("MMM");
mDay.setText(sdfDay.format(now));
diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyle.java b/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyle.java
new file mode 100644
index 0000000000..75043f8c94
--- /dev/null
+++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyle.java
@@ -0,0 +1,171 @@
+package info.nightscout.androidaps.watchfaces;
+
+import android.content.Intent;
+import android.content.res.ColorStateList;
+import android.support.wearable.watchface.WatchFaceStyle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.interaction.menus.MainMenuActivity;
+
+public class DigitalStyle extends BaseWatchFace {
+ private static final long TIME_TAP_THRESHOLD = 800;
+ private long chartTapTime = 0;
+ private long sgvTapTime = 0;
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
+ layoutView = inflater.inflate(R.layout.activity_digitalstyle, null);
+ performViewSetup();
+ }
+
+
+ @Override
+ protected void onTapCommand(int tapType, int x, int y, long eventTime) {
+ //tapType = TAP_TYPE_TAP;
+ Log.d("onTapCommand: DeviceWidth x DeviceHeight /// x , y, TapType >> ", Integer.toString(getWidth()) + " x " + Integer.toString(getHeight()) + " /// " + Integer.toString(x) + " , " + Integer.toString(y) + " , " + Integer.toString(tapType));
+
+ if (tapType == TAP_TYPE_TAP) {
+ if (eventTime - sgvTapTime < TIME_TAP_THRESHOLD) {
+ Intent intent = new Intent(this, MainMenuActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
+ }
+ sgvTapTime = eventTime;
+ }
+ }
+
+
+ @Override
+ protected WatchFaceStyle getWatchFaceStyle() {
+ return new WatchFaceStyle.Builder(this)
+ .setAcceptsTapEvents(true)
+ .setHideNotificationIndicator(false)
+ .setShowUnreadCountIndicator(true)
+ .build();
+ }
+
+ protected void setColorDark() {
+ if (rawData.sgvLevel == 1) {
+ mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor));
+ mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor));
+ } else if (rawData.sgvLevel == 0) {
+ mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
+ mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
+ } else if (rawData.sgvLevel == -1) {
+ mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor));
+ mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor));
+ }
+
+ if (ageLevel == 1) {
+ mTimestamp.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
+ } else {
+ mTimestamp.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_TimestampOld));
+ }
+
+ if (rawData.batteryLevel == 1) {
+ mUploaderBattery.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
+ } else {
+ mUploaderBattery.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_uploaderBatteryEmpty));
+ }
+
+
+ if (chart != null) {
+ highColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor);
+ lowColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor);
+ midColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor);
+ gridColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_gridColor);
+ basalBackgroundColor = ContextCompat.getColor(getApplicationContext(), R.color.basal_dark);
+ basalCenterColor = ContextCompat.getColor(getApplicationContext(), R.color.basal_light);
+ pointSize = 1;
+ setupCharts();
+ setWatchfaceStyle();
+ }
+ }
+
+ private void setWatchfaceStyle(){
+ /* frame styles*/
+ LinearLayout mShapesElements = layoutView.findViewById(R.id.shapes_elements);
+ if (mShapesElements != null) {
+ String displayFormatType = (mShapesElements.getContentDescription().toString().startsWith("round") ? "round" : "rect");
+ String displayStyle=sharedPrefs.getString("digitalstyle_frameStyle", "full");
+ String displayFrameColor=sharedPrefs.getString("digitalstyle_frameColor", "red");
+ String displayFrameColorSaturation=sharedPrefs.getString("digitalstyle_frameColorSaturation", "500");
+ String displayFrameColorOpacity=sharedPrefs.getString("digitalstyle_frameColorOpacity", "1");
+
+ // Load image with shapes
+ String styleDrawableName = "digitalstyle_bg_" + displayStyle + "_" + displayFormatType;
+ try {
+ mShapesElements.setBackground(getResources().getDrawable(getResources().getIdentifier(styleDrawableName, "drawable", getApplicationContext().getPackageName())));
+ } catch (Exception e) {
+ Log.e("digitalstyle_frameStyle", "RESOURCE NOT FOUND >> " + styleDrawableName);
+ }
+
+ // set background-tint-color
+ if (displayFrameColor.equalsIgnoreCase("multicolor") || displayStyle.equalsIgnoreCase("none")) {
+ mShapesElements.setBackgroundTintList(null);
+ } else {
+ String strColorName =(( displayFrameColor.equals("white") || displayFrameColor.equals("black") )?displayFrameColor:displayFrameColor+"_"+displayFrameColorSaturation);
+ Log.v("digitalstyle_strColorName",strColorName);
+ try {
+ ColorStateList colorStateList = ContextCompat.getColorStateList(getApplicationContext(), getResources().getIdentifier(strColorName, "color", getApplicationContext().getPackageName()));
+ mShapesElements.setBackgroundTintList(colorStateList);
+ } catch (Exception e) {
+ mShapesElements.setBackgroundTintList(null);
+ Log.e("digitalstyle_colorName", "COLOR NOT FOUND >> " + strColorName);
+ }
+ }
+
+ // set opacity of shapes
+ mShapesElements.setAlpha(Float.parseFloat(displayFrameColorOpacity));
+
+ }
+
+ /* optimize font-size --> when date is off then increase font-size of time */
+ Boolean isShowDate = sharedPrefs.getBoolean("show_date", false);
+ if (!isShowDate) {
+ layoutView.findViewById(R.id.date_time).setVisibility(View.GONE);
+ mHour.setTextSize(62);
+ mMinute.setTextSize(40);
+ mHour.setLetterSpacing((float) -0.066);
+ mMinute.setLetterSpacing((float) -0.066);
+ } else {
+ layoutView.findViewById(R.id.date_time).setVisibility(View.VISIBLE);
+ mHour.setTextSize(40);
+ mMinute.setTextSize(26);
+ mHour.setLetterSpacing((float) 0);
+ mMinute.setLetterSpacing((float) 0);
+
+ /* display week number */
+ Boolean isShowWeekNumber = sharedPrefs.getBoolean("show_weeknumber", false);
+ Log.i("---------------------------------","weeknumber refresh ");
+ TextView mWeekNumber= layoutView.findViewById(R.id.weeknumber);
+ if (isShowWeekNumber) {
+ mWeekNumber.setVisibility(View.VISIBLE);
+ mWeekNumber.setText("(" + (new SimpleDateFormat("ww")).format(new Date()) + ")");
+ } else {
+ mWeekNumber.setVisibility(View.GONE);
+ mWeekNumber.setText("");
+ }
+ }
+
+
+ }
+
+ protected void setColorLowRes() {
+ setColorDark();
+ }
+ protected void setColorBright() { setColorDark(); /* getCurrentWatchMode() == WatchMode.AMBIENT or WatchMode.INTERACTIVE */}
+
+}
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_full_rect.png b/wear/src/main/res/drawable/digitalstyle_bg_full_rect.png
new file mode 100644
index 0000000000..e917a354b8
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_full_rect.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_full_round.png b/wear/src/main/res/drawable/digitalstyle_bg_full_round.png
new file mode 100644
index 0000000000..98fbbb1701
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_full_round.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_minimal_rect.png b/wear/src/main/res/drawable/digitalstyle_bg_minimal_rect.png
new file mode 100644
index 0000000000..261f6ab723
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_minimal_rect.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_minimal_round.png b/wear/src/main/res/drawable/digitalstyle_bg_minimal_round.png
new file mode 100644
index 0000000000..261f6ab723
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_minimal_round.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_none_rect.png b/wear/src/main/res/drawable/digitalstyle_bg_none_rect.png
new file mode 100644
index 0000000000..209a438645
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_none_rect.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_none_round.png b/wear/src/main/res/drawable/digitalstyle_bg_none_round.png
new file mode 100644
index 0000000000..209a438645
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_none_round.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_shape_rect.png b/wear/src/main/res/drawable/digitalstyle_bg_shape_rect.png
new file mode 100644
index 0000000000..a0acd812f6
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_shape_rect.png differ
diff --git a/wear/src/main/res/drawable/digitalstyle_bg_shape_round.png b/wear/src/main/res/drawable/digitalstyle_bg_shape_round.png
new file mode 100644
index 0000000000..e8cfa435b7
Binary files /dev/null and b/wear/src/main/res/drawable/digitalstyle_bg_shape_round.png differ
diff --git a/wear/src/main/res/drawable/watchface_digitalstyle.png b/wear/src/main/res/drawable/watchface_digitalstyle.png
new file mode 100644
index 0000000000..e5fc1b4438
Binary files /dev/null and b/wear/src/main/res/drawable/watchface_digitalstyle.png differ
diff --git a/wear/src/main/res/font/roboto_condensed_bold.ttf b/wear/src/main/res/font/roboto_condensed_bold.ttf
new file mode 100644
index 0000000000..8c7a08be0b
Binary files /dev/null and b/wear/src/main/res/font/roboto_condensed_bold.ttf differ
diff --git a/wear/src/main/res/font/roboto_condensed_light.ttf b/wear/src/main/res/font/roboto_condensed_light.ttf
new file mode 100644
index 0000000000..67e84089e8
Binary files /dev/null and b/wear/src/main/res/font/roboto_condensed_light.ttf differ
diff --git a/wear/src/main/res/font/roboto_condensed_regular.ttf b/wear/src/main/res/font/roboto_condensed_regular.ttf
new file mode 100644
index 0000000000..533e3999cd
Binary files /dev/null and b/wear/src/main/res/font/roboto_condensed_regular.ttf differ
diff --git a/wear/src/main/res/font/roboto_slab_light.ttf b/wear/src/main/res/font/roboto_slab_light.ttf
new file mode 100644
index 0000000000..ccb99cd02b
Binary files /dev/null and b/wear/src/main/res/font/roboto_slab_light.ttf differ
diff --git a/wear/src/main/res/layout/activity_digitalstyle.xml b/wear/src/main/res/layout/activity_digitalstyle.xml
new file mode 100644
index 0000000000..5fd23a86b7
--- /dev/null
+++ b/wear/src/main/res/layout/activity_digitalstyle.xml
@@ -0,0 +1,13 @@
+
+
+
\ No newline at end of file
diff --git a/wear/src/main/res/layout/rect_activity_digitalstyle.xml b/wear/src/main/res/layout/rect_activity_digitalstyle.xml
new file mode 100644
index 0000000000..8d22bc8e3d
--- /dev/null
+++ b/wear/src/main/res/layout/rect_activity_digitalstyle.xml
@@ -0,0 +1,555 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wear/src/main/res/layout/round_activity_digitalstyle.xml b/wear/src/main/res/layout/round_activity_digitalstyle.xml
new file mode 100644
index 0000000000..02a638d6ab
--- /dev/null
+++ b/wear/src/main/res/layout/round_activity_digitalstyle.xml
@@ -0,0 +1,555 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wear/src/main/res/values/colors.xml b/wear/src/main/res/values/colors.xml
index 59b097c24c..8a6c892c1a 100644
--- a/wear/src/main/res/values/colors.xml
+++ b/wear/src/main/res/values/colors.xml
@@ -39,37 +39,138 @@
@color/grey_500
+
+
+
+
+
+
+ #FFCDD2
+ #F44336
#E53935
+ #D32F2F
+ #B71C1C
#FF0000
-
+
+
+ #F8BBD0
+ #E91E63
+ #C2185B
+ #880E4F
+
+
+ #E1BEE7
+ #9C27B0
+ #7B1FA2
+ #4A148C
+
+
+ #D1C4E9
+ #673AB7
+ #512DA8
+ #311B92
+
+
+ #C5CAE9
+ #3F51B5
+ #303F9F
+ #1A237E
+ #BBDEFB
#64B5F6
-
+ #2196F3
+ #1976D2
+ #0D47A1
+ #0000FF
+
+
+ #B3E5FC
+ #03A9F4
+ #0288D1
+ #01579B
+
+
+ #B2EBF2
+ #00BCD4
+ #0097A7
+ #006064
+
+
+ #B2DFDB
+ #009688
+ #00796B
+ #004D40
+
+
+ #C8E6C9
+ #4CAF50
+ #388E3C
+ #1B5E20
+
+
+ #DCEDC8
+ #8BC34A
+ #689F38
+ #33691E
+
+
+ #F0F4C3
+ #CDDC39
+ #AFB42B
+ #827717
+ #FFF9C4
+ #FFEB3B
#FBC02D
+ #F57F17
#FFFF00
-
-
+
+ #FFECB3
+ #FFC107
+ #FFA000
+ #FF6F00
+
+
+ #FFE0B2
+ #FF9800
+ #F57C00
+ #E65100
+
+
+ #FFCCBC
+ #FF5722
+ #E64A19
+ #BF360C
+
+
+ #D7CCC8
+ #795548
+ #5D4037
+ #3E2723
+
+
+
#FAFAFA
+ #F5F5F5
#E0E0E0
#9E9E9E
+ #9E9E9E
+ #616161
+ #212121
#333333
-
-
- #0000FF
-
+
+ #CFD8DC
+ #607D8B
+ #455A64
+ #263238
-
+
#000000
-
-
-
#FFFFFF
-
\ No newline at end of file
diff --git a/wear/src/main/res/values/digitalstyle_arrays.xml b/wear/src/main/res/values/digitalstyle_arrays.xml
new file mode 100644
index 0000000000..25f16564fe
--- /dev/null
+++ b/wear/src/main/res/values/digitalstyle_arrays.xml
@@ -0,0 +1,98 @@
+
+
+
+ - @string/digitalstyle_style_none
+ - @string/digitalstyle_style_minimal
+ - @string/digitalstyle_style_shape
+ - @string/digitalstyle_style_full
+
+
+ - none
+ - minimal
+ - shape
+ - full
+
+
+
+ - @string/color_name_red
+ - @string/color_name_pink
+ - @string/color_name_purple
+ - @string/color_name_deeppurple
+ - @string/color_name_indigo
+ - @string/color_name_blue
+ - @string/color_name_lightblue
+ - @string/color_name_cyan
+ - @string/color_name_teal
+ - @string/color_name_green
+ - @string/color_name_lightgreen
+ - @string/color_name_lime
+ - @string/color_name_yellow
+ - @string/color_name_amber
+ - @string/color_name_orange
+ - @string/color_name_deeporange
+ - @string/color_name_brown
+ - @string/color_name_gray
+ - @string/color_name_bluegray
+ - @string/color_name_white
+ - @string/color_name_multicolor
+
+
+ - red
+ - pink
+ - purple
+ - deeppurple
+ - indigo
+ - blue
+ - lightblue
+ - cyan
+ - teal
+ - green
+ - lightgreen
+ - lime
+ - yellow
+ - amber
+ - orange
+ - deeporange
+ - brown
+ - gray
+ - bluegray
+ - white
+ - multicolor
+
+
+
+
+ - 100
+ - 500
+ - 700
+ - 900
+
+
+
+
+ - 10%
+ - 20%
+ - 30%
+ - 40%
+ - 50%
+ - 60%
+ - 70%
+ - 80%
+ - 90%
+ - 100%
+
+
+ - 0.1
+ - 0.2
+ - 0.3
+ - 0.4
+ - 0.5
+ - 0.6
+ - 0.7
+ - 0.8
+ - 0.9
+ - 1
+
+
+
+
\ No newline at end of file
diff --git a/wear/src/main/res/values/strings.xml b/wear/src/main/res/values/strings.xml
index 9d3f1fa76b..220c3b7808 100644
--- a/wear/src/main/res/values/strings.xml
+++ b/wear/src/main/res/values/strings.xml
@@ -9,6 +9,11 @@
AAPS(BigChart)
AAPS(NoChart)
AAPS(Circle)
+ AAPSv2
+ AAPS(Cockpit)
+ AAPS(Steampunk)
+ AAPS(DigitalStyle)
+
No data!
Old data!
@@ -102,4 +107,43 @@
no status
+ red
+ pink
+ purple
+ deep purple
+ indigo
+ blue
+ light blue
+ cyan
+ teal
+ green
+ light green
+ lime
+ yellow
+ amber
+ orange
+ deep orange
+ brown
+ gray
+ blue gray
+ white
+ black
+ multicolor
+
+
+ Vibrate hourly
+ Show Week number
+
+ Your style:
+ no style
+ minimal style
+ shape style
+ full style
+
+ Your color:
+ Your color saturation:
+ Your color opacity:
+
+
+
diff --git a/wear/src/main/res/xml/preferences.xml b/wear/src/main/res/xml/preferences.xml
index 3c114cb59c..c768e43e97 100644
--- a/wear/src/main/res/xml/preferences.xml
+++ b/wear/src/main/res/xml/preferences.xml
@@ -237,6 +237,13 @@
app:wear_iconOff="@drawable/settings_off"
app:wear_iconOn="@drawable/settings_on"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+