From 34776fc22530666519aa9bf613e7b1d0fe526406 Mon Sep 17 00:00:00 2001 From: Giovanni Harting Date: Thu, 17 Sep 2015 16:16:50 +0200 Subject: [PATCH] extracted some more strings, yay exchanged svbar with separate value and saturation bar added switch in toolbar to disable (set black) the stripe and ignore all following inputs until reactivated again --- app/build.gradle | 6 ++- .../com/idlegandalf/ledd/ColorActivity.java | 46 ++++++++++++++++--- .../ledd/fragments/AddControllerDialog.java | 10 ++-- .../ledd/fragments/AddDaemonDialog.java | 7 +-- .../ledd/fragments/AddStripeDialog.java | 6 +-- app/src/main/res/layout/activity_color.xml | 29 ++++++++++-- app/src/main/res/layout/navigation_header.xml | 14 ++++-- app/src/main/res/menu/color.xml | 2 - app/src/main/res/values/strings.xml | 10 +++- 9 files changed, 94 insertions(+), 36 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cc479c4..feb6c88 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,6 +20,10 @@ buildscript { repositories { mavenCentral() jcenter() + + flatDir { + dirs 'libs' + } } dependencies { @@ -60,7 +64,7 @@ dependencies { compile 'com.jakewharton:butterknife:7.0.1' compile 'com.koushikdutta.async:androidasync:2.1.6' compile 'com.android.support:design:23.0.1' - compile 'com.larswerkman:HoloColorPicker:1.5' + compile 'com.larswerkman:HoloColorPicker:1.5@aar' compile 'com.google.guava:guava:19.0-rc1' provided 'org.projectlombok:lombok:1.16.6' } diff --git a/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java b/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java index 5554381..4d20ea3 100644 --- a/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java +++ b/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java @@ -40,6 +40,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; +import android.widget.Switch; import com.idlegandalf.ledd.callbacks.RecieveColorCallback; import com.idlegandalf.ledd.callbacks.StripesCallback; @@ -49,12 +50,14 @@ import com.idlegandalf.ledd.components.LedStripe; import com.idlegandalf.ledd.fragments.AddStripeDialog; import com.idlegandalf.ledd.helper.LedDHelper; import com.larswerkman.holocolorpicker.ColorPicker; -import com.larswerkman.holocolorpicker.SVBar; +import com.larswerkman.holocolorpicker.SaturationBar; +import com.larswerkman.holocolorpicker.ValueBar; import java.util.List; import butterknife.Bind; import butterknife.ButterKnife; +import butterknife.OnCheckedChanged; public class ColorActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @@ -66,8 +69,12 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O NavigationView navigationView; @Bind(R.id.picker) ColorPicker colorPicker; - @Bind(R.id.svbar) - SVBar svBar; + @Bind(R.id.saturationbar) + SaturationBar saturationBar; + @Bind(R.id.valuebar) + ValueBar valueBar; + @Bind(R.id.switch_onoff) + Switch aSwitch; private ActionBarDrawerToggle mDrawerToggle; private refreshDaemonsListener daemonsListener; private List ledStripes; @@ -78,6 +85,7 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O private double per = 100.0; private double allowance = rate; private long last_check = System.currentTimeMillis(); + private boolean isDisabled = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -97,13 +105,14 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O }).show(); } - colorPicker.addSVBar(svBar); + colorPicker.addSaturationBar(saturationBar); + colorPicker.addValueBar(valueBar); colorPicker.setShowOldCenterColor(false); colorPicker.setOnColorChangedListener(new ColorPicker.OnColorChangedListener() { @Override public void onColorChanged(int i) { - if (mCurrentStripe != null && mCurrentHelper != null && isRateAcceptable()) { + if (mCurrentStripe != null && mCurrentHelper != null && isRateAcceptable() && !isDisabled) { float[] hsv = new float[3]; Color.colorToHSV(i, hsv); mCurrentStripe.setColor(new HSV(hsv[0], hsv[1], hsv[2])); @@ -176,6 +185,22 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O return super.onOptionsItemSelected(item); } + @OnCheckedChanged(R.id.switch_onoff) + public void onOffToggle(boolean checked) { + if (mCurrentStripe != null && mCurrentHelper != null) { + if (!checked) { + HSV nHSV = mCurrentStripe.getColor(); + nHSV.setValue(0.0); + mCurrentStripe.setColor(nHSV); + mCurrentHelper.setColor(mCurrentStripe); + colorPicker.setColor(Color.HSVToColor(new float[]{(float) nHSV.getHue(), (float) nHSV.getSaturation(), (float) nHSV.getValue()})); + isDisabled = true; + } else { + isDisabled = false; + } + } + } + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU) { @@ -330,12 +355,19 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O @Override public void onColorRecieved(LedStripe stripe) { final HSV cColor = stripe.getColor(); + final int color = Color.HSVToColor(new float[]{(float) cColor.getHue(), (float) cColor.getSaturation(), (float) cColor.getValue()}); runOnUiThread(new Runnable() { @Override public void run() { - colorPicker.setColor(Color.HSVToColor(new float[]{(float) cColor.getHue(), (float) cColor.getSaturation(), (float) cColor - .getValue()})); + colorPicker.setColor(color); + if (cColor.getValue() == 0.0) { + aSwitch.setChecked(false); + isDisabled = true; + } else { + aSwitch.setChecked(true); + isDisabled = false; + } } }); } diff --git a/app/src/main/java/com/idlegandalf/ledd/fragments/AddControllerDialog.java b/app/src/main/java/com/idlegandalf/ledd/fragments/AddControllerDialog.java index 700ab5c..eee524a 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddControllerDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddControllerDialog.java @@ -181,8 +181,7 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)) - .getChildAt(0), "Added Controller (" + controller.getId() + ")", Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), String.format(getActivity().getString(R.string.snachbar_added_controller), controller.getId()), Snackbar.LENGTH_LONG).show(); } }); @@ -195,8 +194,7 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)) - .getChildAt(0), "Error: " + msg, Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), getActivity().getString(R.string.snackbar_error) + msg, Snackbar.LENGTH_LONG).show(); } }); AddStripeDialog.instance.onResume(); @@ -208,9 +206,7 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)) - .getChildAt(0), "Coudn't connect to" + - " daemon at " + dDaemon + ": " + message, Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), String.format(getActivity().getString(R.string.snackbar_daemon_connection_failed), dDaemon, message), Snackbar.LENGTH_LONG).show(); } }); AddStripeDialog.instance.onResume(); diff --git a/app/src/main/java/com/idlegandalf/ledd/fragments/AddDaemonDialog.java b/app/src/main/java/com/idlegandalf/ledd/fragments/AddDaemonDialog.java index 7f8802d..b8752f3 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddDaemonDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddDaemonDialog.java @@ -289,9 +289,7 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), - "Coudn't connect to" + - " daemon at " + ledDDaemon + ": " + message, Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), String.format(getActivity().getString(R.string.snackbar_daemon_connection_failed), ledDDaemon, message), Snackbar.LENGTH_LONG).show(); } }); AddStripeDialog.instance.onResume(); @@ -303,8 +301,7 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), - "Added LedD Daemon version: " + version, Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), getActivity().getString(R.string.snackbar_added_daemon_version) + version, Snackbar.LENGTH_LONG).show(); } }); diff --git a/app/src/main/java/com/idlegandalf/ledd/fragments/AddStripeDialog.java b/app/src/main/java/com/idlegandalf/ledd/fragments/AddStripeDialog.java index deb3c8b..5b81531 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddStripeDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddStripeDialog.java @@ -269,8 +269,7 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)) - .getChildAt(0), "Added stripe (" + stripe.getId() + ")", Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), String.format(getActivity().getString(R.string.snackbar_added_stripe_id), stripe.getId()), Snackbar.LENGTH_LONG).show(); } }); dismiss(); @@ -281,8 +280,7 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O getActivity().runOnUiThread(new Runnable() { @Override public void run() { - Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)) - .getChildAt(0), "Failed to add stripe: " + message, Snackbar.LENGTH_LONG).show(); + Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), getActivity().getString(R.string.snackbar_failed_add_stripe) + message, Snackbar.LENGTH_LONG).show(); } }); dismiss(); diff --git a/app/src/main/res/layout/activity_color.xml b/app/src/main/res/layout/activity_color.xml index 758b7e6..e636bc1 100644 --- a/app/src/main/res/layout/activity_color.xml +++ b/app/src/main/res/layout/activity_color.xml @@ -37,20 +37,39 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" - android:minHeight="?android:attr/actionBarSize"/> + android:minHeight="?android:attr/actionBarSize"> + + + + + android:layout_marginTop="25dp" + app:color_center_radius="140dp" + app:color_wheel_radius="180dp" + app:color_wheel_thickness="30dp"/> - + android:layout_marginLeft="10dp" + android:layout_marginRight="10dp" + android:layout_marginTop="15dp"/> + + diff --git a/app/src/main/res/layout/navigation_header.xml b/app/src/main/res/layout/navigation_header.xml index 7d4688a..8454339 100644 --- a/app/src/main/res/layout/navigation_header.xml +++ b/app/src/main/res/layout/navigation_header.xml @@ -17,12 +17,11 @@ ~ along with this program. If not, see . --> - @@ -32,4 +31,13 @@ android:text="-- stripes infos go here --" android:textAppearance="@style/TextAppearance.AppCompat.Body1"/> - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/src/main/res/menu/color.xml b/app/src/main/res/menu/color.xml index ad62b6b..1287a12 100644 --- a/app/src/main/res/menu/color.xml +++ b/app/src/main/res/menu/color.xml @@ -17,6 +17,4 @@ --> - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9b27216..37d32bd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -38,7 +38,13 @@ Settings We currently only support WLAN, please connect to one LED stripes reloaded - "Coudn't get stripes from daemon: " - "Coudn't connect to daemon: " + Couldn\'t get stripes from daemon: + Couldn\'t connect to daemon: + Added Controller (Id=%1$d) + Error: + Couldn\'t connect to daemon at %1$s: %2$s + Added LedD Daemon version: + Added Stripe (Id=%1$d) + Failed to add Stripe: