diff --git a/app/build.gradle b/app/build.gradle
index e6f6f0e..34b9f91 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -45,7 +45,7 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.github.martin-stone:hsv-alpha-color-picker-android:3.0.1'
-}
+ }
repositories {
maven { url "https://jitpack.io" }
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1ca0e14..dd9cbf7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,9 +12,12 @@
android:supportsRtl="true"
android:theme="@style/Theme.Teraplex">
+
@@ -22,6 +25,8 @@
diff --git a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java
index 8afb0f3..c57b913 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java
@@ -1,6 +1,8 @@
package de.jg_cody.Teraplex;
import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
@@ -50,8 +52,8 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
.commit();
NonDeveloperMessage.maybeShow(this);*/
}
- SharedPreferences p = getSharedPreferences("SETTINGS", Activity.MODE_PRIVATE);
- String Language = p.getString("My_Lang", "");
+ SharedPreferences p = getSharedPreferences("appsettings", Activity.MODE_PRIVATE);
+ String Language = p.getString("Language", "");
Locale locale = new Locale(Language);
Locale.setDefault(locale);
Configuration config = new Configuration();
@@ -66,15 +68,7 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
addfab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- openDialog1();
- }
- });
-
- FloatingActionButton removefab = findViewById(R.id.removebutton_fab);
- removefab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- openDialog2();
+ showChooseElement();
}
});
@@ -201,5 +195,25 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
finishAndRemoveTask();
}
}
+ private void showChooseElement() {
+ final String[] listItems = {"SINGLE BUTTON", "DOUBLE BUTTON", "OPTION3"};
+ AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
+ mBuilder.setTitle("CHOOSE ELEMENT");
+ mBuilder.setSingleChoiceItems(listItems, -5, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ if (i == 0) {
+ openDialog1();
+ } else if (i == 1) {
+ openDialog2();
+ } else if (i == 2) {
+
+ }
+ dialogInterface.dismiss();
+ }
+ });
+ AlertDialog mDialog = mBuilder.create();
+ mDialog.show();
+ }
}
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java
index 6fe2163..0c0a5ac 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java
@@ -1,11 +1,8 @@
package de.jg_cody.Teraplex.ui.Credits;
-import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
public class CreditsViewModel extends ViewModel {
- private MutableLiveData mText;
-
}
\ No newline at end of file
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java
index 3a5adcd..cf02354 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java
@@ -1,6 +1,7 @@
package de.jg_cody.Teraplex.ui.Einstellungen;
import android.app.AlertDialog;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.res.Configuration;
@@ -60,10 +61,41 @@ public class EinstellungenFragment extends Fragment {
}
});
+ Button Reset = root.findViewById(R.id.button_reset);
+ Reset.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+
+ new AlertDialog.Builder(getContext())
+ .setTitle(R.string.reset_app)
+ .setMessage(R.string.are_you_sure_to_reset)
+
+ // Specifying a listener allows you to take an action before dismissing the dialog.
+ // The dialog is automatically dismissed when a dialog button is clicked.
+ .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ try {
+ getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE).edit().clear().commit();
+ startActivity(getActivity().getIntent());
+ getActivity().finish();
+ } catch (Exception e) {
+ }
+
+ // Continue with delete operation
+ }
+ })
+
+ // A null listener allows the button to dismiss the dialog and take no further action.
+ .setNegativeButton(android.R.string.no, null)
+ .show();
+ }
+
+ });
return root;
}
+
private void showChangeLanguageDialog() {
final String[] listItems = {"GERMAN", "ENGLISCH", "KLINGONISCH"};
AlertDialog.Builder mBuilder = new AlertDialog.Builder(getContext());
@@ -97,8 +129,8 @@ public class EinstellungenFragment extends Fragment {
Configuration config = new Configuration();
config.locale = locale;
getContext().getResources().updateConfiguration(config, getContext().getResources().getDisplayMetrics());
- SharedPreferences.Editor editor = getContext().getSharedPreferences("SETTINGS", MODE_PRIVATE).edit();
- editor.putString("My_Lang", lang);
+ SharedPreferences.Editor editor = getContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit();
+ editor.putString("Language", lang);
editor.apply();
}
}
\ No newline at end of file
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenViewModel.java
index 8f02641..f61a044 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenViewModel.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenViewModel.java
@@ -1,11 +1,8 @@
package de.jg_cody.Teraplex.ui.Einstellungen;
-import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
public class EinstellungenViewModel extends ViewModel {
- private MutableLiveData mText;
-
}
\ No newline at end of file
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java
index bbd44a2..a80d1f1 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java
@@ -34,7 +34,7 @@ public class SchlafzimmerFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
- SharedPreferences prefs = getContext().getSharedPreferences("logindata", Context.MODE_PRIVATE);
+ SharedPreferences prefs = getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE);
user = prefs.getString("user", null);
password = prefs.getString("password", null);
ip = prefs.getString("ip", null);
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java
index 45c3d93..db2a177 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java
@@ -12,9 +12,7 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
-import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import de.jg_cody.Teraplex.R;
@@ -38,7 +36,7 @@ public class HomeFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
- SharedPreferences prefs = getContext().getSharedPreferences("logindata", Context.MODE_PRIVATE);
+ SharedPreferences prefs = getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE);
user = prefs.getString("user", null);
password = prefs.getString("password", null);
ip = prefs.getString("ip", null);
@@ -49,17 +47,10 @@ public class HomeFragment extends Fragment {
final TextView textView = root.findViewById(R.id.text_home);
final TextView login_data = root.findViewById(R.id.login_data);
if (user == null || ip == null) {
- login_data.setText("Please connect to your automationserver!");
+ login_data.setText(R.string.please_login);
} else {
- login_data.setText("Sie sind als " + user + " bei " + ip + " angemeldet!");
+ login_data.setText(getString(R.string.sie_sind_als_angemeldet).replace("{IP}", ip ).replace("{USERNAME}", user ));
}
-
- homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer() {
- @Override
- public void onChanged(@Nullable String s) {
- textView.setText(s);
- }
- });
userInput = (EditText) root.findViewById(R.id.loginuserInput);
passwordInput = (EditText) root.findViewById(R.id.loginpasswordInput);
ipInput = (EditText) root.findViewById(R.id.ipInput);
@@ -73,7 +64,7 @@ public class HomeFragment extends Fragment {
user = userInput.getText().toString();
password = passwordInput.getText().toString();
ip = ipInput.getText().toString();
- SharedPreferences p = getContext().getSharedPreferences("logindata", Context.MODE_PRIVATE);
+ SharedPreferences p = getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE);
p.edit().putString("user", user).putString("password", password).putString("ip", ip).apply();
Toast.makeText(getContext(), "Login-Daten gespeichert...", Toast.LENGTH_SHORT).show();
if (user == null || ip == null) {
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeViewModel.java
index 95e6e66..3bcf30f 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeViewModel.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeViewModel.java
@@ -1,20 +1,7 @@
package de.jg_cody.Teraplex.ui.home;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
public class HomeViewModel extends ViewModel {
- private MutableLiveData mText;
-
- public HomeViewModel() {
- mText = new MutableLiveData<>();
- mText.setValue("R.string.Welcome_to_your_HOMEAUTOMATION_APP");
- }
-
-
- public LiveData getText() {
- return mText;
- }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/spinning_logo.gif b/app/src/main/res/drawable/spinning_logo.gif
new file mode 100644
index 0000000..b4a54d0
Binary files /dev/null and b/app/src/main/res/drawable/spinning_logo.gif differ
diff --git a/app/src/main/res/layout-v23/app_bar_main.xml b/app/src/main/res/layout-v23/app_bar_main.xml
index 34f9d78..95ae0ff 100644
--- a/app/src/main/res/layout-v23/app_bar_main.xml
+++ b/app/src/main/res/layout-v23/app_bar_main.xml
@@ -36,16 +36,6 @@
android:hapticFeedbackEnabled="true"
android:src="@drawable/add_black_24dp" />
-
-
+ app:layout_constraintTop_toBottomOf="@+id/button_blue" />
+ app:layout_constraintStart_toEndOf="@+id/button_green"
+ app:layout_constraintTop_toBottomOf="@+id/button_red" />
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 534bb02..231380e 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -25,6 +25,7 @@
android:layout_width="309dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
+ android:text="@string/Welcome_to_your_HOMEAUTOMATION_APP"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="20sp"
diff --git a/app/src/main/res/layout/fragment_konsole.xml b/app/src/main/res/layout/fragment_konsole.xml
index 7d28592..9529855 100644
--- a/app/src/main/res/layout/fragment_konsole.xml
+++ b/app/src/main/res/layout/fragment_konsole.xml
@@ -97,9 +97,9 @@
WÄHLE DEINE FARBE
OK
AUSLOGGEN
- Willkommen in ihrer Homeautomation-App
+ WILLKOMMEN BEI TERAPLEX
EINLOGGEN
WLAN
KODI
@@ -49,4 +49,6 @@
ZURÜCKSETZEN
HINTERGRUND WÄHLEN
SSH-FERNBEDIENUNG
+ BITTE VERBINDE DICH MIT DEINEM SERVER
+ DU BIST ALS {USERNAME} AUF {IP}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ba671c1..c4065aa 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -13,7 +13,7 @@
SSH-REMOTE
//home
- Welcome to your HOMEAUTOMATION-APP
+ WELCOME TO TERAPLEX
IP-ADDRESS
USERNAME
PASSWORD
@@ -22,6 +22,8 @@
KODI
OFF
ON
+ PLEASE CONNECT TO YOUR SERVER
+ YOU ARE LOGGED IN ON {IP} AS {USERNAME}
//konsole
CONSOLE
@@ -47,6 +49,8 @@
RED
GREEN
YELLOW
+ RESET APP
+ ARE YOU SURE YOU WANT TO RESET THE APP AND DELETE ALL YOUR SETTINGS?
HOME