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"/> + + + + + + + + + + + + + + + + + +