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
This commit is contained in:
@@ -20,6 +20,10 @@ buildscript {
|
|||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
jcenter()
|
jcenter()
|
||||||
|
|
||||||
|
flatDir {
|
||||||
|
dirs 'libs'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -60,7 +64,7 @@ dependencies {
|
|||||||
compile 'com.jakewharton:butterknife:7.0.1'
|
compile 'com.jakewharton:butterknife:7.0.1'
|
||||||
compile 'com.koushikdutta.async:androidasync:2.1.6'
|
compile 'com.koushikdutta.async:androidasync:2.1.6'
|
||||||
compile 'com.android.support:design:23.0.1'
|
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'
|
compile 'com.google.guava:guava:19.0-rc1'
|
||||||
provided 'org.projectlombok:lombok:1.16.6'
|
provided 'org.projectlombok:lombok:1.16.6'
|
||||||
}
|
}
|
||||||
|
@@ -40,6 +40,7 @@ import android.view.Menu;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.SubMenu;
|
import android.view.SubMenu;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.Switch;
|
||||||
|
|
||||||
import com.idlegandalf.ledd.callbacks.RecieveColorCallback;
|
import com.idlegandalf.ledd.callbacks.RecieveColorCallback;
|
||||||
import com.idlegandalf.ledd.callbacks.StripesCallback;
|
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.fragments.AddStripeDialog;
|
||||||
import com.idlegandalf.ledd.helper.LedDHelper;
|
import com.idlegandalf.ledd.helper.LedDHelper;
|
||||||
import com.larswerkman.holocolorpicker.ColorPicker;
|
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 java.util.List;
|
||||||
|
|
||||||
import butterknife.Bind;
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
|
import butterknife.OnCheckedChanged;
|
||||||
|
|
||||||
public class ColorActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
|
public class ColorActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
|
||||||
|
|
||||||
@@ -66,8 +69,12 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O
|
|||||||
NavigationView navigationView;
|
NavigationView navigationView;
|
||||||
@Bind(R.id.picker)
|
@Bind(R.id.picker)
|
||||||
ColorPicker colorPicker;
|
ColorPicker colorPicker;
|
||||||
@Bind(R.id.svbar)
|
@Bind(R.id.saturationbar)
|
||||||
SVBar svBar;
|
SaturationBar saturationBar;
|
||||||
|
@Bind(R.id.valuebar)
|
||||||
|
ValueBar valueBar;
|
||||||
|
@Bind(R.id.switch_onoff)
|
||||||
|
Switch aSwitch;
|
||||||
private ActionBarDrawerToggle mDrawerToggle;
|
private ActionBarDrawerToggle mDrawerToggle;
|
||||||
private refreshDaemonsListener daemonsListener;
|
private refreshDaemonsListener daemonsListener;
|
||||||
private List<LedStripe> ledStripes;
|
private List<LedStripe> ledStripes;
|
||||||
@@ -78,6 +85,7 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O
|
|||||||
private double per = 100.0;
|
private double per = 100.0;
|
||||||
private double allowance = rate;
|
private double allowance = rate;
|
||||||
private long last_check = System.currentTimeMillis();
|
private long last_check = System.currentTimeMillis();
|
||||||
|
private boolean isDisabled = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -97,13 +105,14 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O
|
|||||||
}).show();
|
}).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
colorPicker.addSVBar(svBar);
|
colorPicker.addSaturationBar(saturationBar);
|
||||||
|
colorPicker.addValueBar(valueBar);
|
||||||
colorPicker.setShowOldCenterColor(false);
|
colorPicker.setShowOldCenterColor(false);
|
||||||
|
|
||||||
colorPicker.setOnColorChangedListener(new ColorPicker.OnColorChangedListener() {
|
colorPicker.setOnColorChangedListener(new ColorPicker.OnColorChangedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onColorChanged(int i) {
|
public void onColorChanged(int i) {
|
||||||
if (mCurrentStripe != null && mCurrentHelper != null && isRateAcceptable()) {
|
if (mCurrentStripe != null && mCurrentHelper != null && isRateAcceptable() && !isDisabled) {
|
||||||
float[] hsv = new float[3];
|
float[] hsv = new float[3];
|
||||||
Color.colorToHSV(i, hsv);
|
Color.colorToHSV(i, hsv);
|
||||||
mCurrentStripe.setColor(new HSV(hsv[0], hsv[1], hsv[2]));
|
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);
|
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
|
@Override
|
||||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||||
if (keyCode == KeyEvent.KEYCODE_MENU) {
|
if (keyCode == KeyEvent.KEYCODE_MENU) {
|
||||||
@@ -330,12 +355,19 @@ public class ColorActivity extends AppCompatActivity implements NavigationView.O
|
|||||||
@Override
|
@Override
|
||||||
public void onColorRecieved(LedStripe stripe) {
|
public void onColorRecieved(LedStripe stripe) {
|
||||||
final HSV cColor = stripe.getColor();
|
final HSV cColor = stripe.getColor();
|
||||||
|
final int color = Color.HSVToColor(new float[]{(float) cColor.getHue(), (float) cColor.getSaturation(), (float) cColor.getValue()});
|
||||||
|
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
colorPicker.setColor(Color.HSVToColor(new float[]{(float) cColor.getHue(), (float) cColor.getSaturation(), (float) cColor
|
colorPicker.setColor(color);
|
||||||
.getValue()}));
|
if (cColor.getValue() == 0.0) {
|
||||||
|
aSwitch.setChecked(false);
|
||||||
|
isDisabled = true;
|
||||||
|
} else {
|
||||||
|
aSwitch.setChecked(true);
|
||||||
|
isDisabled = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -181,8 +181,7 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content))
|
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();
|
||||||
.getChildAt(0), "Added Controller (" + controller.getId() + ")", Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -195,8 +194,7 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content))
|
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0), getActivity().getString(R.string.snackbar_error) + msg, Snackbar.LENGTH_LONG).show();
|
||||||
.getChildAt(0), "Error: " + msg, Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
AddStripeDialog.instance.onResume();
|
AddStripeDialog.instance.onResume();
|
||||||
@@ -208,9 +206,7 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content))
|
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();
|
||||||
.getChildAt(0), "Coudn't connect to" +
|
|
||||||
" daemon at " + dDaemon + ": " + message, Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
AddStripeDialog.instance.onResume();
|
AddStripeDialog.instance.onResume();
|
||||||
|
@@ -289,9 +289,7 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0),
|
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();
|
||||||
"Coudn't connect to" +
|
|
||||||
" daemon at " + ledDDaemon + ": " + message, Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
AddStripeDialog.instance.onResume();
|
AddStripeDialog.instance.onResume();
|
||||||
@@ -303,8 +301,7 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0),
|
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();
|
||||||
"Added LedD Daemon version: " + version, Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -269,8 +269,7 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content))
|
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();
|
||||||
.getChildAt(0), "Added stripe (" + stripe.getId() + ")", Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
dismiss();
|
dismiss();
|
||||||
@@ -281,8 +280,7 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O
|
|||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Snackbar.make(((ViewGroup) getActivity().getWindow().getDecorView().findViewById(android.R.id.content))
|
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();
|
||||||
.getChildAt(0), "Failed to add stripe: " + message, Snackbar.LENGTH_LONG).show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
dismiss();
|
dismiss();
|
||||||
|
@@ -37,20 +37,39 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/colorPrimary"
|
android:background="?attr/colorPrimary"
|
||||||
android:minHeight="?android:attr/actionBarSize"/>
|
android:minHeight="?android:attr/actionBarSize">
|
||||||
|
|
||||||
|
<Switch
|
||||||
|
android:id="@+id/switch_onoff"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"/>
|
||||||
|
|
||||||
|
</android.support.v7.widget.Toolbar>
|
||||||
|
|
||||||
<com.larswerkman.holocolorpicker.ColorPicker
|
<com.larswerkman.holocolorpicker.ColorPicker
|
||||||
android:id="@+id/picker"
|
android:id="@+id/picker"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:layout_marginTop="25dp"/>
|
android:layout_marginTop="25dp"
|
||||||
|
app:color_center_radius="140dp"
|
||||||
|
app:color_wheel_radius="180dp"
|
||||||
|
app:color_wheel_thickness="30dp"/>
|
||||||
|
|
||||||
<com.larswerkman.holocolorpicker.SVBar
|
<com.larswerkman.holocolorpicker.SaturationBar
|
||||||
android:id="@+id/svbar"
|
android:id="@+id/saturationbar"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="25dp"/>
|
android:layout_marginLeft="10dp"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
android:layout_marginTop="15dp"/>
|
||||||
|
|
||||||
|
<com.larswerkman.holocolorpicker.ValueBar
|
||||||
|
android:id="@+id/valuebar"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="10dp"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@@ -17,12 +17,11 @@
|
|||||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="192dp"
|
android:layout_height="192dp"
|
||||||
android:background="?attr/colorPrimaryDark"
|
android:background="?attr/colorPrimaryDark"
|
||||||
android:gravity="bottom"
|
android:gravity="bottom"
|
||||||
android:orientation="vertical"
|
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||||
|
|
||||||
@@ -32,4 +31,13 @@
|
|||||||
android:text="-- stripes infos go here --"
|
android:text="-- stripes infos go here --"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
|
||||||
|
|
||||||
</LinearLayout>
|
<ImageButton
|
||||||
|
android:layout_width="35dp"
|
||||||
|
android:layout_height="35dp"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:background="?android:attr/selectableItemBackground"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:src="@drawable/ic_clear_white_48dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@@ -17,6 +17,4 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<menu>
|
<menu>
|
||||||
|
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
@@ -38,7 +38,13 @@
|
|||||||
<string name="test_settings">Settings</string>
|
<string name="test_settings">Settings</string>
|
||||||
<string name="snackbar_no_wlan">We currently only support WLAN, please connect to one</string>
|
<string name="snackbar_no_wlan">We currently only support WLAN, please connect to one</string>
|
||||||
<string name="snackbar_stripes_reloaded">LED stripes reloaded</string>
|
<string name="snackbar_stripes_reloaded">LED stripes reloaded</string>
|
||||||
<string name="snackbar_no_connection_stripes">"Coudn't get stripes from daemon: "</string>
|
<string name="snackbar_no_connection_stripes">Couldn\'t get stripes from daemon: </string>
|
||||||
<string name="snackbar_connection_failed">"Coudn't connect to daemon: "</string>
|
<string name="snackbar_connection_failed">Couldn\'t connect to daemon: </string>
|
||||||
|
<string name="snachbar_added_controller">Added Controller (Id=%1$d)</string>
|
||||||
|
<string name="snackbar_error">Error: </string>
|
||||||
|
<string name="snackbar_daemon_connection_failed">Couldn\'t connect to daemon at %1$s: %2$s</string>
|
||||||
|
<string name="snackbar_added_daemon_version">Added LedD Daemon version: </string>
|
||||||
|
<string name="snackbar_added_stripe_id">Added Stripe (Id=%1$d)</string>
|
||||||
|
<string name="snackbar_failed_add_stripe">Failed to add Stripe: </string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
Reference in New Issue
Block a user