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..f1f8e4dec3ee998546590a0d45434bdc8747eb35 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; 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 1a12a0d446656dbe9276398beeba171af7dad97d..5455e68c069be455484d8087f56074eb26dc72cc 100644 --- a/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java +++ b/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java @@ -75,7 +75,7 @@ public class RecognitionsActivity extends AppCompatActivity implements WidgetAda progressDialog.show(); // Interface for the RetrofitInstance - GetDataService service = RetrofitClientInstance.getRetrofitInstance().create(GetDataService.class); + GetDataService service = RetrofitClientInstance.getRetrofitInstance(this).create(GetDataService.class); Call<List<Recognition>> call = service.getAllRecognitions(); call.enqueue(new Callback<List<Recognition>>() { 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 3375b77611e50c00ea9322e387d46516d86764e1..cf2704ba52188f8f97cfdb94d016153cb60b0efa 100644 --- a/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java +++ b/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java @@ -1090,6 +1090,7 @@ 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()) @@ -1104,6 +1105,7 @@ public class WidgetAdapter extends RecyclerView.Adapter<WidgetAdapter.ViewHolder } } + 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 26ee0546bd823add5e64eb6b2ef457c8cff2b776..1c73dc79522aba07ade1a62f1b12405c188cb33c 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,11 @@ package org.openhab.habdroid.util; +import android.app.Activity; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; + import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; - /* * OpenLicht * Use Retrofit to call the API @@ -12,12 +15,14 @@ import retrofit2.converter.gson.GsonConverterFactory; public class RetrofitClientInstance { private static Retrofit retrofit; - private static final String BASE_URL = "http://192.168.1.250:5000"; //"http://10.0.2.2:5000"; - public static Retrofit getRetrofitInstance() { + + public static Retrofit getRetrofitInstance(Activity activity) { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(activity); + String url = preferences.getString(Constants.PREFERENCE_OPENLICHT_URL, ""); if (retrofit == null) { retrofit = new Retrofit.Builder() - .baseUrl(BASE_URL) + .baseUrl(url) .addConverterFactory(GsonConverterFactory.create()) .build(); } diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml index 9b72e736a05a57a8e5fb63ddf7c26e5db22fecb6..f8638800532309094cc971301b204295dcd9d24c 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 REST URL</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/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"