From 23035084e8b99db4d2755615aabd4e30d4241638 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Tue, 31 Jan 2017 16:02:23 +0100 Subject: [PATCH] updated deps and code to a more recent state --- app/build.gradle | 43 ++--- .../com/idlegandalf/ledd/ColorActivity.java | 86 +++++----- .../idlegandalf/ledd/ColorApplication.java | 2 +- .../ledd/fragments/AddControllerDialog.java | 107 +++++-------- .../ledd/fragments/AddDaemonDialog.java | 148 ++++++++---------- .../ledd/fragments/AddProfileDialog.java | 66 ++++---- .../ledd/fragments/AddStripeDialog.java | 143 +++++++---------- .../res/layout/fragment_addcontroller.xml | 32 ++-- .../main/res/layout/fragment_adddaemon.xml | 34 ++-- .../main/res/layout/fragment_addstripe.xml | 61 ++++---- app/src/main/res/layout/host_row.xml | 23 ++- .../main/res/layout/spinner_dropdown_item.xml | 10 +- app/src/main/res/layout/spinner_item.xml | 10 +- build.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 15 files changed, 336 insertions(+), 437 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4a30d6e..f2dd841 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,7 +26,7 @@ buildscript { dependencies { classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1' - classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0' + classpath 'com.github.ben-manes:gradle-versions-plugin:0.13.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'com.github.JakeWharton:sdk-manager-plugin:master' } @@ -44,49 +44,56 @@ repositories { android { - compileSdkVersion 23 - buildToolsVersion '23.0.3' + compileSdkVersion 25 + buildToolsVersion '25.0.2' + lintOptions { abortOnError false } + defaultConfig { applicationId "com.idlegandalf.ledd" minSdkVersion 18 - targetSdkVersion 23 + targetSdkVersion 25 versionCode System.getenv("BUILD_NUMBER") as Integer ?: 50 versionName "1.0.4-SNAPSHOT" archivesBaseName = "LedD-" + versionName + "-" + versionCode manifestPlaceholders = [HOCKEYAPP_APP_ID: "7febd1d2266a4f0c81667ca4e3d11fd3"] } + buildTypes { release { zipAlignEnabled true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } + + debug { + zipAlignEnabled true + } } + compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { - compile 'com.android.support:appcompat-v7:23.4.0' - compile 'com.android.support:support-v4:23.4.0' + compile fileTree(include: ['*.jar'], dir: 'libs') + compile 'com.android.support:appcompat-v7:25.1.1' + compile 'com.android.support:support-v4:25.1.1' compile 'com.squareup.okhttp:okhttp:2.7.5' compile 'com.jakewharton.timber:timber:4.1.2' - compile 'com.google.code.gson:gson:2.6.2' - compile 'com.jakewharton:butterknife:8.0.1' - apt 'com.jakewharton:butterknife-compiler:8.0.1' - compile 'net.hockeyapp.android:HockeySDK:4.0.0' - compile 'com.koushikdutta.async:androidasync:2.1.7' - compile 'com.android.support:design:23.4.0' - compile 'com.github.LED-Freaks:HoloColorPicker:master-SNAPSHOT' - compile 'com.google.guava:guava:19.0' + compile 'com.google.code.gson:gson:2.8.0' + compile 'com.jakewharton:butterknife:8.5.1' + compile 'com.koushikdutta.async:androidasync:2.1.9' + compile 'com.android.support:design:25.1.1' + compile 'com.larswerkman:HoloColorPicker:1.5@aar' + compile 'com.google.guava:guava:21.0' compile 'com.thetransactioncompany:jsonrpc2-base:1.38' - compile('com.mikepenz:materialdrawer:5.2.6@aar') { + compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true } - provided 'org.projectlombok:lombok:1.16.8' + provided 'org.projectlombok:lombok:1.16.12' } diff --git a/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java b/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java index cdf157a..5c7c400 100644 --- a/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java +++ b/app/src/main/java/com/idlegandalf/ledd/ColorActivity.java @@ -116,11 +116,8 @@ public class ColorActivity extends AppCompatActivity implements Drawer.OnDrawerI ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo == null || !networkInfo.isConnected() || networkInfo.getType() != ConnectivityManager.TYPE_WIFI) { - Snackbar.make(scrollView, R.string.snackbar_no_wlan, Snackbar.LENGTH_INDEFINITE).setAction("RETRY", new View.OnClickListener() { - @Override - public void onClick(View v) { - refreshStripes(); - } + Snackbar.make(scrollView, R.string.snackbar_no_wlan, Snackbar.LENGTH_INDEFINITE).setAction("RETRY", v -> { + refreshStripes(); }).show(); } @@ -131,12 +128,9 @@ public class ColorActivity extends AppCompatActivity implements Drawer.OnDrawerI colorPicker.addValueBar(valueBar); colorPicker.setShowOldCenterColor(false); - colorPicker.setOnColorChangedListener(new ColorPicker.OnColorChangedListener() { - @Override - public void onColorChanged(int i) { - if (mCurrentStripe != null && limiter.check() && !autoColorSet) { - mCurrentStripe.setColor(i); - } + colorPicker.setOnColorChangedListener(i -> { + if (mCurrentStripe != null && limiter.check() && !autoColorSet) { + mCurrentStripe.setColor(i); } }); @@ -380,28 +374,26 @@ public class ColorActivity extends AppCompatActivity implements Drawer.OnDrawerI @Override public void onSuccess(List stripes) { ledStripes = stripes; - runOnUiThread(new Runnable() { - @Override - public void run() { - PrimaryDrawerItem nDaemonMenu = null; - long selectedItemId = -1; - for (IDrawerItem drawerItem : mDaemons) { - if (((PrimaryDrawerItem) drawerItem).getName().getText().equals(dDaemon.toString())) { - nDaemonMenu = (PrimaryDrawerItem) drawerItem; - break; - } + runOnUiThread(() -> { + PrimaryDrawerItem nDaemonMenu = null; + long selectedItemId = -1; + for (IDrawerItem drawerItem : mDaemons) { + if (((PrimaryDrawerItem) drawerItem).getName().getText().equals(dDaemon.toString())) { + nDaemonMenu = (PrimaryDrawerItem) drawerItem; + break; } + } - if (nDaemonMenu == null) { - nDaemonMenu = new PrimaryDrawerItem().withName(dDaemon.toString()).withTag(finalI).withSelectable(false).withIsExpanded(true).withIcon(R.drawable.ic_computer_black_48dp); - mDrawer.addItemAtPosition(nDaemonMenu, 0); - mDaemons.add(nDaemonMenu); - } + if (nDaemonMenu == null) { + nDaemonMenu = new PrimaryDrawerItem().withName(dDaemon.toString()).withTag(finalI).withSelectable(false).withIsExpanded(true).withIcon(R.drawable.ic_computer_black_48dp); + mDrawer.addItemAtPosition(nDaemonMenu, 0); + mDaemons.add(nDaemonMenu); + } - int lastStripeId = -1; - if (PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).contains("lastStripe")) { - lastStripeId = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getInt("lastStripe", -1); - } + int lastStripeId = -1; + if (PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).contains("lastStripe")) { + lastStripeId = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getInt("lastStripe", -1); + } List mStripes = new ArrayList<>(); for (LedStripe stripe : ledStripes) { @@ -411,13 +403,13 @@ public class ColorActivity extends AppCompatActivity implements Drawer.OnDrawerI .withIcon(R.drawable.ic_wb_iridescent_black_48dp) .withOnCheckedChangeListener(ColorActivity.this); - mStripes.add(sItem); + mStripes.add(sItem); - if (lastStripeId != -1 && stripe.getId() == lastStripeId) { - selectStripe(stripe); - selectedItemId = sItem.getIdentifier(); - } + if (lastStripeId != -1 && stripe.getId() == lastStripeId) { + selectStripe(stripe); + selectedItemId = sItem.getIdentifier(); } + } nDaemonMenu.withSubItems(mStripes); nDaemonMenu.withBadge(String.valueOf(mStripes.size())); @@ -448,12 +440,7 @@ public class ColorActivity extends AppCompatActivity implements Drawer.OnDrawerI final SecondarySwitchDrawerItem cItem = (SecondarySwitchDrawerItem) sItem; cItem.withSwitchEnabled(true); - runOnUiThread(new Runnable() { - @Override - public void run() { - mDrawer.updateItem(cItem); - } - }); + runOnUiThread(() -> mDrawer.updateItem(cItem)); } } } @@ -503,18 +490,15 @@ public class ColorActivity extends AppCompatActivity implements Drawer.OnDrawerI 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); - autoColorSet = false; + runOnUiThread(() -> { + colorPicker.setColor(color); + autoColorSet = false; - if (stripe.isOn()) { - IDrawerItem fItem = findItemForStripe(stripe); + if (stripe.isOn()) { + IDrawerItem fItem = findItemForStripe(stripe); - if (fItem != null) - ((SecondarySwitchDrawerItem) fItem).withSwitchEnabled(true); - } + if (fItem != null) + ((SecondarySwitchDrawerItem) fItem).withSwitchEnabled(true); } }); } diff --git a/app/src/main/java/com/idlegandalf/ledd/ColorApplication.java b/app/src/main/java/com/idlegandalf/ledd/ColorApplication.java index a9a40e9..8f4b813 100644 --- a/app/src/main/java/com/idlegandalf/ledd/ColorApplication.java +++ b/app/src/main/java/com/idlegandalf/ledd/ColorApplication.java @@ -85,7 +85,7 @@ public class ColorApplication extends Application { dHelper.teardown(); } - PreferenceManager.getDefaultSharedPreferences(this).edit().putString("daemons", new Gson().toJson(ledDHelpers.keySet())).commit(); + PreferenceManager.getDefaultSharedPreferences(this).edit().putString("daemons", new Gson().toJson(ledDHelpers.keySet())).apply(); } public void onResume() { 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 bdbab29..f6535b5 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddControllerDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddControllerDialog.java @@ -140,80 +140,59 @@ public class AddControllerDialog extends DialogFragment implements DialogInterfa } }); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AddStripeDialog.instance.onResume(); - alertDialog.dismiss(); - } + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(v -> { + AddStripeDialog.instance.onResume(); + alertDialog.dismiss(); }); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (i2cText.getText().toString().isEmpty() || !isNumeric(i2cText.getText().toString())) { - i2cLayout.setError("No valid i2c device number"); - return; - } + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> { + if (i2cText.getText().toString().isEmpty() || !isNumeric(i2cText.getText().toString())) { + i2cLayout.setError("No valid i2c device number"); + return; + } - if (!addressText.getText().toString().contains("0x") || !addressText.getText().toString().split("x")[1].matches("-?[0-9a-fA-F]+")) { - addressLayout.setError("No valid hexdecimal address"); - return; - } + if (!addressText.getText().toString().contains("0x") || !addressText.getText().toString().split("x")[1].matches("-?[0-9a-fA-F]+")) { + addressLayout.setError("No valid hexdecimal address"); + return; + } - if (channelText.getText().toString().isEmpty() || !isNumeric(channelText.getText().toString()) && Integer.parseInt(channelText - .getText().toString()) <= 0) { - channelLayout.setError("No valid channel amount"); - return; - } + if (channelText.getText().toString().isEmpty() || !isNumeric(channelText.getText().toString()) && Integer.parseInt(channelText + .getText().toString()) <= 0) { + channelLayout.setError("No valid channel amount"); + return; + } - Controller c = new Controller(); - c.setAddress(addressText.getText().toString()); - c.setI2c_device(Integer.parseInt(i2cText.getText().toString())); - c.setChannels(Integer.parseInt(channelText.getText().toString())); + Controller c = new Controller(); + c.setAddress(addressText.getText().toString()); + c.setI2c_device(Integer.parseInt(i2cText.getText().toString())); + c.setChannels(Integer.parseInt(channelText.getText().toString())); - LedDHelper helper = ColorApplication.getInstance().getHelperForDaemon(dDaemon); + LedDHelper helper = ColorApplication.getInstance().getHelperForDaemon(dDaemon); - if (helper != null) { - helper.addController(c, new AddControllerCallback() { - @Override - public void onControllerAdded(final Controller controller) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - } - }); + if (helper != null) { + helper.addController(c, new AddControllerCallback() { + @Override + public void onControllerAdded(final Controller controller) { + getActivity().runOnUiThread(() -> 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()); - dDaemon.getControllers().add(controller); - dismiss(); - } + dDaemon.getControllers().add(controller); + dismiss(); + } - @Override - public void onAddFailed(final int code, final String msg) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - dismiss(); - } + @Override + public void onAddFailed(final int code, final String msg) { + getActivity().runOnUiThread(() -> 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(); + dismiss(); + } - @Override - public void onConnectionFailed(final String message) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - dismiss(); - } - }); - } + @Override + public void onConnectionFailed(final String message) { + getActivity().runOnUiThread(() -> 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(); + dismiss(); + } + }); } }); } 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 87cff29..bf3b067 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddDaemonDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddDaemonDialog.java @@ -108,46 +108,40 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O } }); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - mNsdManager.stopServiceDiscovery(AddDaemonDialog.this); - AddStripeDialog.instance.onResume(); - alertDialog.dismiss(); - } + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(v -> { + mNsdManager.stopServiceDiscovery(AddDaemonDialog.this); + AddStripeDialog.instance.onResume(); + alertDialog.dismiss(); }); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String strIp = ip.getText().toString(); - int port; + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> { + String strIp = ip.getText().toString(); + int port; - if (strIp.contains(":")) { - strIp = strIp.split(":")[0]; - try { - port = Integer.parseInt(ip.getText().toString().split(":")[1]); - } catch (NumberFormatException e) { - ip_lay.setError("Please check your port"); - return; - } - - if (port < 1024 || port > 65535) { - ip_lay.setError("Port is out of range"); - return; - } - } else { - port = 1425; + if (strIp.contains(":")) { + strIp = strIp.split(":")[0]; + try { + port = Integer.parseInt(ip.getText().toString().split(":")[1]); + } catch (NumberFormatException e) { + ip_lay.setError("Please check your port"); + return; } - if (InetAddresses.isInetAddress(strIp)) { - LedDDaemon daemon = new LedDDaemon(strIp, port); - - if (!ledDDaemons.contains(daemon)) addDaemon(new LedDDaemon(strIp, port)); - else ip_lay.setError("Daemon already exist"); - } else { - ip_lay.setError("No valid ip address"); + if (port < 1024 || port > 65535) { + ip_lay.setError("Port is out of range"); + return; } + } else { + port = 1425; + } + + if (InetAddresses.isInetAddress(strIp)) { + LedDDaemon daemon = new LedDDaemon(strIp, port); + + if (!ledDDaemons.contains(daemon)) addDaemon(new LedDDaemon(strIp, port)); + else ip_lay.setError("Daemon already exist"); + } else { + ip_lay.setError("No valid ip address"); } }); } @@ -195,49 +189,43 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O final LedDDaemon nLedDDaemon = new LedDDaemon(serviceInfo.getHost().getHostAddress(), serviceInfo.getPort()); if (!ledDDaemons.contains(nLedDDaemon)) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - View v = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout - .host_row, hostContainer, false); + getActivity().runOnUiThread(() -> { + View v = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout + .host_row, hostContainer, false); - TextView host = (TextView) v.findViewById(R.id.text_host); + TextView host = (TextView) v.findViewById(R.id.text_host); - host.setText(nLedDDaemon.toString()); + host.setText(nLedDDaemon.toString()); - if (ColorApplication.getInstance().getDaemons().contains(nLedDDaemon)) { - v.setEnabled(false); - host.setEnabled(false); - } - - View.OnClickListener listener = new View.OnClickListener() { - @Override - public void onClick(View v) { - if (v.isEnabled()) { - LedDDaemon d; - - if (v instanceof TextView) { - d = (LedDDaemon) ((LinearLayout) v.getParent()).getTag(); - } else { - d = (LedDDaemon) v.getTag(); - } - - if (d != null) { - addDaemon(d); - } - } - } - }; - - v.setOnClickListener(listener); - host.setOnClickListener(listener); - - v.setTag(nLedDDaemon); - - ledDDaemons.add(nLedDDaemon); - hostContainer.addView(v); + if (ColorApplication.getInstance().getDaemons().contains(nLedDDaemon)) { + v.setEnabled(false); + host.setEnabled(false); } + + View.OnClickListener listener = v1 -> { + if (v1.isEnabled()) { + LedDDaemon d; + + if (v1 instanceof TextView) { + d = (LedDDaemon) ((LinearLayout) v1.getParent()).getTag(); + } else { + d = (LedDDaemon) v1.getTag(); + } + + if (d != null) { + addDaemon(d); + } + } + }; + + v.setOnClickListener(listener); + host.setOnClickListener(listener); + + v.setTag(nLedDDaemon); + + ledDDaemons.add(nLedDDaemon); + hostContainer.addView(v); }); } } @@ -286,25 +274,15 @@ public class AddDaemonDialog extends DialogFragment implements DialogInterface.O ColorApplication.getInstance().getHelperForDaemon(ledDDaemon).discover(new DiscoverCallback() { @Override public void onConnectionFailed(final String message) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - } - }); + getActivity().runOnUiThread(() -> 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(); dismiss(); } @Override public void onDiscoverSuccessfully(final String version) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - } - }); + getActivity().runOnUiThread(() -> 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()); ((ColorActivity) getActivity()).refreshStripes(); AddStripeDialog.instance.onResume(); diff --git a/app/src/main/java/com/idlegandalf/ledd/fragments/AddProfileDialog.java b/app/src/main/java/com/idlegandalf/ledd/fragments/AddProfileDialog.java index 53c778a..9023878 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddProfileDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddProfileDialog.java @@ -104,47 +104,39 @@ public class AddProfileDialog extends DialogFragment implements DialogInterface. } }); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - alertDialog.dismiss(); + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(v -> alertDialog.dismiss()); + + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> { + if (nameText.getText().toString().isEmpty()) { + nameLayout.setError("Please enter a name"); + return; } - }); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (nameText.getText().toString().isEmpty()) { - nameLayout.setError("Please enter a name"); - return; + int checked = 0; + for (CheckBox c : mCheckboxes) { + if (c.isChecked()) { + checked++; + mStripes.get(checkboxContainer.indexOfChild(c)).getColor(); } - - int checked = 0; - for (CheckBox c : mCheckboxes) { - if (c.isChecked()) { - checked++; - mStripes.get(checkboxContainer.indexOfChild(c)).getColor(); - } - } - - if (checked < 2) { - Toast.makeText(getActivity(), "Please select at least two stripes for your profile", Toast.LENGTH_LONG).show(); - return; - } - - Profile profile = new Profile(nameText.getText().toString()); - - for (CheckBox c : mCheckboxes) { - if (c.isChecked()) { - LedStripe stripe = mStripes.get(checkboxContainer.indexOfChild(c)); - profile.getValues().append(stripe.getId(), stripe.getColor()); - } - } - - ((ColorActivity) getActivity()).addProfile(profile); - Toast.makeText(getActivity(), "Added profile " + nameText.getText().toString(), Toast.LENGTH_SHORT).show(); - dismiss(); } + + if (checked < 2) { + Toast.makeText(getActivity(), "Please select at least two stripes for your profile", Toast.LENGTH_LONG).show(); + return; + } + + Profile profile = new Profile(nameText.getText().toString()); + + for (CheckBox c : mCheckboxes) { + if (c.isChecked()) { + LedStripe stripe = mStripes.get(checkboxContainer.indexOfChild(c)); + profile.getValues().append(stripe.getId(), stripe.getColor()); + } + } + + ((ColorActivity) getActivity()).addProfile(profile); + Toast.makeText(getActivity(), "Added profile " + nameText.getText().toString(), Toast.LENGTH_SHORT).show(); + dismiss(); }); } } 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 cd7d8b9..5fcfe21 100644 --- a/app/src/main/java/com/idlegandalf/ledd/fragments/AddStripeDialog.java +++ b/app/src/main/java/com/idlegandalf/ledd/fragments/AddStripeDialog.java @@ -205,20 +205,17 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O } }); - ImageButton.OnClickListener imgListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.imgbuttn_togglechannel_r: - testChannel(channelR, (ImageButton) v); - break; - case R.id.imgbuttn_togglechannel_g: - testChannel(channelG, (ImageButton) v); - break; - case R.id.imgbuttn_togglechannel_b: - testChannel(channelB, (ImageButton) v); - break; - } + ImageButton.OnClickListener imgListener = v -> { + switch (v.getId()) { + case R.id.imgbuttn_togglechannel_r: + testChannel(channelR, (ImageButton) v); + break; + case R.id.imgbuttn_togglechannel_g: + testChannel(channelG, (ImageButton) v); + break; + case R.id.imgbuttn_togglechannel_b: + testChannel(channelB, (ImageButton) v); + break; } }; @@ -226,71 +223,53 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O channelGBttn.setOnClickListener(imgListener); channelBBttn.setOnClickListener(imgListener); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - alertDialog.dismiss(); + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(v -> alertDialog.dismiss()); + + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> { + if (!mDaemonSelected) { + Toast.makeText(getActivity(), "Please select Daemon and Controller", Toast.LENGTH_LONG).show(); + return; } - }); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (!mDaemonSelected) { - Toast.makeText(getActivity(), "Please select Daemon and Controller", Toast.LENGTH_LONG).show(); - return; - } + if (stripeNameText.getText().toString().isEmpty()) { + stripeNameLay.setError("Please set the Stripe name"); + return; + } - if (stripeNameText.getText().toString().isEmpty()) { - stripeNameLay.setError("Please set the Stripe name"); - return; - } + if (channelR.getText().toString().isEmpty() || channelG.getText().toString().isEmpty() || channelB.getText().toString().isEmpty()) { + Toast.makeText(getActivity(), "Please add mapping for all channels", Toast.LENGTH_LONG).show(); + return; + } - if (channelR.getText().toString().isEmpty() || channelG.getText().toString().isEmpty() || channelB.getText().toString().isEmpty()) { - Toast.makeText(getActivity(), "Please add mapping for all channels", Toast.LENGTH_LONG).show(); - return; - } + LedStripe stripe = new LedStripe(Integer.parseInt(channelR.getText().toString()), Integer.parseInt(channelG.getText().toString()), + Integer.parseInt(channelB.getText().toString()), stripeNameText.getText().toString()); + stripe.setLedDDaemon((LedDDaemon) daemonSpinner.getSelectedItem()); + stripe.setController((Controller) controllerSpinner.getSelectedItem()); - LedStripe stripe = new LedStripe(Integer.parseInt(channelR.getText().toString()), Integer.parseInt(channelG.getText().toString()), - Integer.parseInt(channelB.getText().toString()), stripeNameText.getText().toString()); - stripe.setLedDDaemon((LedDDaemon) daemonSpinner.getSelectedItem()); - stripe.setController((Controller) controllerSpinner.getSelectedItem()); + LedDHelper helper = ColorApplication.getInstance().getHelperForDaemon((LedDDaemon) daemonSpinner.getSelectedItem()); - LedDHelper helper = ColorApplication.getInstance().getHelperForDaemon((LedDDaemon) daemonSpinner.getSelectedItem()); + if (helper != null) { + helper.addStripe(stripe, new AddStripeCallback() { + @Override + public void onAddSuccessfully(final LedStripe stripe) { + ColorActivity activity = ((ColorActivity) getActivity()); + activity.refreshStripes(); - if (helper != null) { - helper.addStripe(stripe, new AddStripeCallback() { - @Override - public void onAddSuccessfully(final LedStripe stripe) { - ColorActivity activity = ((ColorActivity) getActivity()); - activity.refreshStripes(); + getActivity().runOnUiThread(() -> 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(); + } - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - } + @Override + public void onAddFailed(int code, String msg) { - @Override - public void onAddFailed(int code, String msg) { + } - } - - @Override - public void onConnectionFailed(final String message) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - 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(); - } - }); - } + @Override + public void onConnectionFailed(final String message) { + getActivity().runOnUiThread(() -> 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(); + } + }); } }); @@ -359,17 +338,14 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O super.onResume(); ColorApplication.getInstance().onResume(); - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - if (daemonArrayAdapter != null) { - daemonArrayAdapter.clear(); - daemonArrayAdapter.addAll(ColorApplication.getInstance().getDaemons()); - } + getActivity().runOnUiThread(() -> { + if (daemonArrayAdapter != null) { + daemonArrayAdapter.clear(); + daemonArrayAdapter.addAll(ColorApplication.getInstance().getDaemons()); + } - if (controllerArrayAdapter != null && mDaemonSelected) { - refreshController((LedDDaemon) daemonSpinner.getSelectedItem()); - } + if (controllerArrayAdapter != null && mDaemonSelected) { + refreshController((LedDDaemon) daemonSpinner.getSelectedItem()); } }); } @@ -409,12 +385,9 @@ public class AddStripeDialog extends DialogFragment implements DialogInterface.O helper.getStripes(new StripesCallback() { @Override public void onSuccess(List stripes) { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - controllerArrayAdapter.addAll(ledDDaemon.getControllers()); - toggleAll(stripeMapping, true); - } + getActivity().runOnUiThread(() -> { + controllerArrayAdapter.addAll(ledDDaemon.getControllers()); + toggleAll(stripeMapping, true); }); } diff --git a/app/src/main/res/layout/fragment_addcontroller.xml b/app/src/main/res/layout/fragment_addcontroller.xml index 48b7932..885ecee 100644 --- a/app/src/main/res/layout/fragment_addcontroller.xml +++ b/app/src/main/res/layout/fragment_addcontroller.xml @@ -1,5 +1,4 @@ - - + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:focusableInTouchMode="true" + android:minWidth="350dp" + android:orientation="vertical" + android:paddingLeft="15dp" + android:paddingRight="15dp" + android:paddingTop="15dp"> + android:src="@drawable/ic_developer_board_black_48dp" /> + android:textAppearance="?android:textAppearanceMedium" /> + android:minWidth="350dp" /> @@ -80,7 +78,7 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hint_controller_address" - android:minWidth="350dp"/> + android:minWidth="350dp" /> @@ -97,7 +95,7 @@ android:layout_height="wrap_content" android:hint="@string/hint_channels" android:inputType="number" - android:minWidth="350dp"/> + android:minWidth="350dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_adddaemon.xml b/app/src/main/res/layout/fragment_adddaemon.xml index e62d8b7..b68f85a 100644 --- a/app/src/main/res/layout/fragment_adddaemon.xml +++ b/app/src/main/res/layout/fragment_adddaemon.xml @@ -1,5 +1,4 @@ - - + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:focusableInTouchMode="true" + android:minWidth="250dp" + android:orientation="vertical" + android:paddingLeft="15dp" + android:paddingRight="15dp" + android:paddingTop="15dp"> + android:src="@drawable/ic_computer_black_48dp" /> + android:textAppearance="?android:textAppearanceMedium" /> + android:indeterminate="true" /> @@ -70,7 +68,7 @@ android:id="@+id/host_container" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:orientation="vertical"/> + android:orientation="vertical" /> @@ -81,7 +79,7 @@ android:layout_marginTop="5dp" android:gravity="center_horizontal" android:text="@string/text_or" - android:textAppearance="?android:textAppearanceMedium"/> + android:textAppearance="?android:textAppearanceMedium" /> + android:minWidth="250dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_addstripe.xml b/app/src/main/res/layout/fragment_addstripe.xml index fe714e6..f2d8b4a 100644 --- a/app/src/main/res/layout/fragment_addstripe.xml +++ b/app/src/main/res/layout/fragment_addstripe.xml @@ -1,5 +1,4 @@ - - + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:focusableInTouchMode="true" + android:minWidth="250dp" + android:orientation="vertical" + android:paddingLeft="15dp" + android:paddingRight="15dp" + android:paddingTop="15dp"> + android:src="@drawable/ic_computer_black_48dp" /> + android:textAppearance="?android:textAppearanceSmall" /> @@ -68,14 +66,14 @@ android:layout_marginLeft="10dp" android:background="?android:attr/selectableItemBackground" android:scaleType="fitCenter" - android:src="@drawable/ic_add_circle_black_48dp"/> + android:src="@drawable/ic_add_circle_black_48dp" /> + android:layout_toLeftOf="@id/imgbuttn_adddaemon" /> @@ -89,7 +87,7 @@ android:id="@+id/img_controller" android:layout_width="25dp" android:layout_height="25dp" - android:src="@drawable/ic_developer_board_black_48dp"/> + android:src="@drawable/ic_developer_board_black_48dp" /> + android:textAppearance="?android:textAppearanceSmall" /> @@ -121,14 +118,14 @@ android:layout_marginLeft="10dp" android:background="?android:attr/selectableItemBackground" android:scaleType="fitCenter" - android:src="@drawable/ic_add_circle_black_48dp"/> + android:src="@drawable/ic_add_circle_black_48dp" /> + android:layout_toLeftOf="@id/imgbuttn_addcontroller" /> @@ -141,7 +138,7 @@ android:id="@+id/img_stripe" android:layout_width="25dp" android:layout_height="25dp" - android:src="@drawable/ic_wb_iridescent_black_48dp"/> + android:src="@drawable/ic_wb_iridescent_black_48dp" /> + android:textAppearance="?android:textAppearanceSmall" /> @@ -171,7 +167,7 @@ android:layout_height="wrap_content" android:hint="@string/hint_stripe_name" android:inputType="text" - android:minEms="12"/> + android:minEms="12" /> + android:textAppearance="?android:textAppearanceSmall" /> + android:inputType="number" /> + android:src="@drawable/ic_visibility_off_black_48dp" /> + android:inputType="number" /> + android:src="@drawable/ic_visibility_off_black_48dp" /> + android:inputType="number" /> + android:src="@drawable/ic_visibility_off_black_48dp" /> diff --git a/app/src/main/res/layout/host_row.xml b/app/src/main/res/layout/host_row.xml index 1240e6c..7d6a41d 100644 --- a/app/src/main/res/layout/host_row.xml +++ b/app/src/main/res/layout/host_row.xml @@ -1,5 +1,4 @@ - - + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="5dp" + android:background="?android:attr/selectableItemBackground" + android:clickable="true" + android:gravity="center_horizontal" + android:orientation="horizontal" + android:paddingLeft="7dp"> + android:src="@drawable/ic_developer_board_black_48dp" /> + android:textColor="@color/primaryColorDark" /> \ No newline at end of file diff --git a/app/src/main/res/layout/spinner_dropdown_item.xml b/app/src/main/res/layout/spinner_dropdown_item.xml index 8a662f2..517425c 100644 --- a/app/src/main/res/layout/spinner_dropdown_item.xml +++ b/app/src/main/res/layout/spinner_dropdown_item.xml @@ -1,5 +1,4 @@ - - - \ No newline at end of file + android:maxLines="1" + android:textColor="@android:color/black" /> \ No newline at end of file diff --git a/app/src/main/res/layout/spinner_item.xml b/app/src/main/res/layout/spinner_item.xml index 0dee485..2d79660 100644 --- a/app/src/main/res/layout/spinner_item.xml +++ b/app/src/main/res/layout/spinner_item.xml @@ -1,5 +1,4 @@ - - - \ No newline at end of file + android:textColor="@android:color/black" /> \ No newline at end of file diff --git a/build.gradle b/build.gradle index 4ca059c..25c0c2a 100644 --- a/build.gradle +++ b/build.gradle @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -// Top-level build file where you can add configuration options common to all sub-projects/modules. + buildscript { repositories { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.0' + classpath 'com.android.tools.build:gradle:2.2.3' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7f4bae9..d69e76f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Apr 30 20:15:11 CEST 2016 +#Tue Jan 31 15:43:37 CET 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip