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:
Giovanni Harting
2015-09-17 16:16:50 +02:00
parent 9fa55d2994
commit 34776fc225
9 changed files with 94 additions and 36 deletions

View File

@@ -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'
}

View File

@@ -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;
}
}
});
}

View File

@@ -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();

View File

@@ -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();
}
});

View File

@@ -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();

View File

@@ -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>

View File

@@ -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>

View File

@@ -17,6 +17,4 @@
-->
<menu>
</menu>

View File

@@ -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>