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 {
|
||||
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'
|
||||
}
|
||||
|
@@ -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<LedStripe> 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;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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">
|
||||
|
||||
<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
|
||||
android:id="@+id/picker"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
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
|
||||
android:id="@+id/svbar"
|
||||
<com.larswerkman.holocolorpicker.SaturationBar
|
||||
android:id="@+id/saturationbar"
|
||||
android:layout_width="fill_parent"
|
||||
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>
|
||||
|
||||
|
@@ -17,12 +17,11 @@
|
||||
~ 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_height="192dp"
|
||||
android:background="?attr/colorPrimaryDark"
|
||||
android:gravity="bottom"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
@@ -32,4 +31,13 @@
|
||||
android:text="-- stripes infos go here --"
|
||||
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>
|
||||
|
@@ -38,7 +38,13 @@
|
||||
<string name="test_settings">Settings</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_no_connection_stripes">"Coudn't get stripes from daemon: "</string>
|
||||
<string name="snackbar_connection_failed">"Coudn't connect to daemon: "</string>
|
||||
<string name="snackbar_no_connection_stripes">Couldn\'t get stripes from 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>
|
||||
|
Reference in New Issue
Block a user