diff --git a/mobile/build.gradle b/mobile/build.gradle index 0500571d5899be3805174c15ae5059350a870c3e..62b7697066517b842544a9aa47f10b17db1718a2 100644 --- a/mobile/build.gradle +++ b/mobile/build.gradle @@ -122,9 +122,6 @@ dependencies { exclude group: 'com.intellij', module: 'annotations' } - // MaterialDialogs - implementation 'com.afollestad.material-dialogs:core:2.0.0-beta4' - // Google Maps fullImplementation 'com.google.android.gms:play-services-maps:12.0.1' // GCM diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java b/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java index 91b0d124a7c9d280f4e77fc71528d2678e5483cd..4fac42a0fb2b683f9c85dd3152c0423bec9ef9e4 100644 --- a/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java +++ b/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java @@ -25,6 +25,8 @@ import android.preference.PreferenceScreen; import android.text.TextUtils; import android.util.Log; import android.view.MenuItem; +import android.widget.EditText; + import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; import androidx.annotation.StringRes; @@ -227,6 +229,7 @@ public class PreferencesActivity extends AppCompatActivity { final Preference localConnPref = findPreference(Constants.SUBSCREEN_LOCAL_CONNECTION); final Preference remoteConnPref = findPreference(Constants.SUBSCREEN_REMOTE_CONNECTION); + final Preference openlichtConnPref = findPreference(Constants.PREFERENCE_OPENLICHT_URL); final Preference themePref = findPreference(Constants.PREFERENCE_THEME); final Preference clearCachePref = findPreference(Constants.PREFERENCE_CLEAR_CACHE); final Preference clearDefaultSitemapPref = diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java b/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java index cd222572c8d91f289bcf4a3270e4ce16384f9a3d..f3bdc0655a686a8d58a8ecf08d186ed68c571ffd 100644 --- a/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java +++ b/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java @@ -62,7 +62,7 @@ public class RecognitionsActivity extends AppCompatActivity{ progressDialog.show(); // Interface for the RetrofitInstance - GetDataService service = RetrofitClientInstance.getRetrofitInstance().create(GetDataService.class); + GetDataService service = RetrofitClientInstance.getRetrofitInstance(this).create(GetDataService.class); Call<List<Recognitions>> call = service.getAllRecognitions(); call.enqueue(new Callback<List<Recognitions>>() { diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java b/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java index 2618679b068096b5e3bebd06b7d0f36118ea0992..0c8b8f924713228ae10c1c856e1ddfc490366b6e 100644 --- a/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java +++ b/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java @@ -1066,15 +1066,21 @@ public class WidgetAdapter extends RecyclerView.Adapter<WidgetAdapter.ViewHolder float[] initialColor = mBoundItem.stateAsHsv(); if (initialColor != null) { colorPicker.setColor(Color.HSVToColor(initialColor)); + } new AlertDialog.Builder(contentView.getContext()) .setView(contentView) .setNegativeButton(R.string.close, null) .show(); + + ArrayList list = new ArrayList(); + list.add(Color.HSVToColor(initialColor)); + } } + public static class MjpegVideoViewHolder extends ViewHolder { private final ImageView mImageView; private MjpegStreamer mStreamer; diff --git a/mobile/src/main/java/org/openhab/habdroid/util/Constants.java b/mobile/src/main/java/org/openhab/habdroid/util/Constants.java index 6f6228526b5dad4ee0646890993ada7313e4f430..9ee7d48e74778d2206b17ea02df8eae7529e14f5 100644 --- a/mobile/src/main/java/org/openhab/habdroid/util/Constants.java +++ b/mobile/src/main/java/org/openhab/habdroid/util/Constants.java @@ -19,6 +19,7 @@ public class Constants { public static final String PREFERENCE_SITEMAP_LABEL = "default_openhab_sitemap_label"; public static final String PREFERENCE_REMOTE_URL = "default_openhab_alturl"; public static final String PREFERENCE_LOCAL_URL = "default_openhab_url"; + public static final String PREFERENCE_OPENLICHT_URL = "default_openlicht_url"; public static final String PREFERENCE_THEME = "default_openhab_theme"; public static final String PREFERENCE_ANIMATION = "default_openhab_animation"; public static final String PREFERENCE_DEMOMODE = "default_openhab_demomode"; diff --git a/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java b/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java index 24460184d9fef3ea56eeb648cca8e84743535dae..581fe0ccaffd9b382a11f885a493ad0b3bbd1d34 100644 --- a/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java +++ b/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java @@ -1,8 +1,15 @@ package org.openhab.habdroid.util; +import android.app.Activity; +import android.content.SharedPreferences; +import android.preference.PreferenceActivity; +import android.preference.PreferenceManager; + import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; +import static android.content.Context.MODE_PRIVATE; + /* * OpenLicht * Use Retrofit to call the API @@ -12,12 +19,15 @@ import retrofit2.converter.gson.GsonConverterFactory; public class RetrofitClientInstance { private static Retrofit retrofit; - private static final String BASE_URL = "http://10.0.2.2:5000"; - public static Retrofit getRetrofitInstance() { +// private static final String BASE_URL = "http://10.0.2.2:5000"; + + public static Retrofit getRetrofitInstance(Activity activity) { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(activity); + String openlichtUrl = preferences.getString("default_openlicht_url", null); if (retrofit == null) { retrofit = new Retrofit.Builder() - .baseUrl(BASE_URL) + .baseUrl(openlichtUrl) .addConverterFactory(GsonConverterFactory.create()) .build(); } diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml index 2ec1e4513ed87754f0859c184b8c8878e5691d53..154be6084ef6addb5034073ee2798433ec75f48d 100644 --- a/mobile/src/main/res/values/strings.xml +++ b/mobile/src/main/res/values/strings.xml @@ -58,6 +58,7 @@ <string name="settings_current_default_sitemap">Current default Sitemap: %1$s</string> <string name="settings_openhab_alt_connection">Remote</string> <string name="settings_openhab_connection">Local</string> + <string name="settings_openlicht_connection">Openlicht</string> <string name="settings_notification_vibration">Notification vibration</string> <string name="settings_notification_vibration_off">Off</string> <string name="settings_notification_vibration_short">Short</string> @@ -69,6 +70,7 @@ <string name="settings_notification_vibration_value_twice" translatable="false">twice</string> <string name="settings_connection_summary">Connected to %s</string> <string name="settings_insecure_connection_summary">Insecurely connected to %s</string> + <string name="settings_openlicht_connection_summary">Set your Openlicht URL here</string> <!-- App messages strings --> <string name="title_voice_widget">openHAB voice commands</string> diff --git a/mobile/src/main/res/xml/openlicht_connection_preferences.xml b/mobile/src/main/res/xml/openlicht_connection_preferences.xml new file mode 100644 index 0000000000000000000000000000000000000000..485e371ffd5787c6c10a4d21d5b6d0fae1e4bc50 --- /dev/null +++ b/mobile/src/main/res/xml/openlicht_connection_preferences.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/settings_openhab_alt_connection"> + <org.openhab.habdroid.ui.widget.UrlInputPreference + android:defaultValue="@string/empty_string" + android:inputType="textNoSuggestions" + android:key="default_openhab_alturl" + android:summary="@string/settings_openhab_alturl_summary" + android:title="@string/settings_openhab_alturl" + android:icon="@drawable/ic_earth_grey_24dp" /> +</PreferenceScreen> \ No newline at end of file diff --git a/mobile/src/main/res/xml/preferences.xml b/mobile/src/main/res/xml/preferences.xml index 962af85bfcd2f9de955657fd2c48f976ab944f1e..6827efdc0cf884ac7373958fb9ff1746e84c0d58 100644 --- a/mobile/src/main/res/xml/preferences.xml +++ b/mobile/src/main/res/xml/preferences.xml @@ -20,6 +20,13 @@ android:title="@string/settings_openhab_alt_connection" android:dependency="default_openhab_demomode" android:icon="@drawable/ic_tree_grey_24dp" /> + <EditTextPreference + android:defaultValue="@string/empty_string" + android:inputType="textUri" + android:key="default_openlicht_url" + android:summary="@string/settings_openlicht_connection_summary" + android:title="@string/settings_openlicht_connection" + android:icon="@drawable/ic_earth_grey_24dp" /> <org.openhab.habdroid.ui.widget.SslClientCertificatePreference android:defaultValue="@string/settings_openhab_none" android:key="default_openhab_sslclientcert"