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 e18a0de..5108413 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java +++ b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java @@ -1,10 +1,14 @@ package de.jg_cody.Teraplex; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Menu; +import android.widget.Button; +import android.widget.Toast; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.navigation.NavigationView; @@ -20,10 +24,11 @@ import androidx.appcompat.widget.Toolbar; import de.jg_cody.Teraplex.ui.Konsole.KonsoleFragment; import de.jg_cody.Teraplex.ui.home.HomeFragment; + + public class MainActivity extends AppCompatActivity { - -private AppBarConfiguration mAppBarConfiguration; + private AppBarConfiguration mAppBarConfiguration; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,22 +43,25 @@ private AppBarConfiguration mAppBarConfiguration; @Override public void onClick(View view) { try { - Log.d("I","ACTION BUTTON CLICKED"); + Log.d("I", "ACTION BUTTON CLICKED"); SSH_connection.executeRemoteCommand(HomeFragment.ip, HomeFragment.user, HomeFragment.password, KonsoleFragment.command); } catch (Exception e) { - }} + } + } }); DrawerLayout drawer = findViewById(R.id.drawer_layout); NavigationView navigationView = findViewById(R.id.nav_view); // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. mAppBarConfiguration = new AppBarConfiguration.Builder( - R.id.nav_home, R.id.nav_badezimmer, R.id.nav_kueche, R.id.nav_wohnzimmer, R.id.nav_schlafzimmer, R.id.nav_flur, R.id.nav_toilette, R.id.nav_konsole) + R.id.nav_home, R.id.nav_badezimmer, R.id.nav_kueche, R.id.nav_zeitsteuerung, R.id.nav_schlafzimmer, R.id.nav_flur, R.id.nav_credits, R.id.nav_konsole) .setOpenableLayout(drawer) .build(); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); + + } @Override @@ -72,9 +80,10 @@ private AppBarConfiguration mAppBarConfiguration; @Override public void onBackPressed() { - Intent startMain = new Intent(Intent.ACTION_MAIN); - startMain.addCategory(Intent.CATEGORY_HOME); - startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(startMain); - } + Intent startMain = new Intent(Intent.ACTION_MAIN); + startMain.addCategory(Intent.CATEGORY_HOME); + startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(startMain); } + +} diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Toilette/ToiletteFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java similarity index 64% rename from app/src/main/java/de/jg_cody/Teraplex/ui/Toilette/ToiletteFragment.java rename to app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java index 8d5abe4..0167124 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Toilette/ToiletteFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java @@ -1,4 +1,4 @@ -package de.jg_cody.Teraplex.ui.Toilette; +package de.jg_cody.Teraplex.ui.Credits; import android.os.Bundle; import android.view.LayoutInflater; @@ -14,17 +14,17 @@ import androidx.lifecycle.ViewModelProvider; import de.jg_cody.Teraplex.R; -public class ToiletteFragment extends Fragment { +public class CreditsFragment extends Fragment { - private ToiletteViewModel toiletteViewModel; + private CreditsViewModel creditsViewModel; public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - toiletteViewModel = - new ViewModelProvider(this).get(ToiletteViewModel.class); - View root = inflater.inflate(R.layout.fragment_toilette, container, false); + creditsViewModel = + new ViewModelProvider(this).get(CreditsViewModel.class); + View root = inflater.inflate(R.layout.fragment_credits, container, false); final TextView textView = root.findViewById(R.id.text_toilette); - toiletteViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { + creditsViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { @Override public void onChanged(@Nullable String s) { textView.setText(s); diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Toilette/ToiletteViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java similarity index 63% rename from app/src/main/java/de/jg_cody/Teraplex/ui/Toilette/ToiletteViewModel.java rename to app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java index 4d0c316..f037792 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Toilette/ToiletteViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsViewModel.java @@ -1,16 +1,16 @@ -package de.jg_cody.Teraplex.ui.Toilette; +package de.jg_cody.Teraplex.ui.Credits; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; -public class ToiletteViewModel extends ViewModel { +public class CreditsViewModel extends ViewModel { private MutableLiveData mText; - public ToiletteViewModel() { + public CreditsViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Toilette"); + mText.setValue("CREDITS"); } public LiveData getText() { diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurViewModel.java index 1d3af0c..9955bac 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurViewModel.java @@ -10,7 +10,7 @@ public class FlurViewModel extends ViewModel { public FlurViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Flur"); + mText.setValue("FLUR"); } public LiveData getText() { diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleViewModel.java index 03d8925..b76ffb8 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleViewModel.java @@ -10,7 +10,7 @@ public class KonsoleViewModel extends ViewModel { public KonsoleViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Konsole"); + mText.setValue("KONSOLE"); } public LiveData getText() { 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 155cf4b..1513eee 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 @@ -9,6 +9,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; +import android.widget.TimePicker; import android.widget.Toast; import androidx.annotation.NonNull; diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerViewModel.java index 0af858f..83af835 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerViewModel.java @@ -10,7 +10,7 @@ public class SchlafzimmerViewModel extends ViewModel { public SchlafzimmerViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Schlafzimmer"); + mText.setValue("SCHLAFZIMMER"); } public LiveData getText() { diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/badezimmer/BadezimmerViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/badezimmer/BadezimmerViewModel.java index 6ba62c8..555e4af 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/badezimmer/BadezimmerViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/badezimmer/BadezimmerViewModel.java @@ -10,7 +10,7 @@ public class BadezimmerViewModel extends ViewModel { public BadezimmerViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Badezimmer"); + mText.setValue("BADEZIMMER"); } public LiveData getText() { 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 653cfd2..7f6c233 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 @@ -30,6 +30,8 @@ public class HomeFragment extends Fragment { Button loginButton; Button wlan_aus_Button; Button wlan_an_Button; + Button kodian; + Button kodiaus; private HomeViewModel homeViewModel; @@ -106,6 +108,32 @@ public class HomeFragment extends Fragment { } } }); + kodiaus = (Button) root.findViewById(R.id.kodiaus); + kodiaus.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + try { + Toast.makeText(getContext(), "Lampe wird ausgeschaltet...", Toast.LENGTH_SHORT).show(); + SSH_connection.executeRemoteCommand(ip, user, password, "sudo /root/raspberry-remote/send 11111 3 0"); + } catch (Exception e) { + } + } + + }); + kodian = (Button) root.findViewById(R.id.kodian); + kodian.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + try { + Toast.makeText(getContext(), "Lampe wird angeschaltet...", Toast.LENGTH_SHORT).show(); + SSH_connection.executeRemoteCommand(ip, user, password, "sudo /root/raspberry-remote/send 11111 3 1"); + } catch (Exception e) { + } + } + + }); return root; } } diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/intro/IntroViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/intro/IntroViewModel.java index 4ba1e2a..2fa91de 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/intro/IntroViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/intro/IntroViewModel.java @@ -10,7 +10,7 @@ public class IntroViewModel extends ViewModel { public IntroViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Intro"); + mText.setValue("INTRO"); } public LiveData getText() { diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheViewModel.java index 12c627a..2d7ba84 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheViewModel.java @@ -10,7 +10,7 @@ public class KuecheViewModel extends ViewModel { public KuecheViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Küche"); + mText.setValue("KÜCHE"); } public LiveData getText() { diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/wohnzimmer/WohnzimmerFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/wohnzimmer/WohnzimmerFragment.java deleted file mode 100644 index dfa1d62..0000000 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/wohnzimmer/WohnzimmerFragment.java +++ /dev/null @@ -1,35 +0,0 @@ -package de.jg_cody.Teraplex.ui.wohnzimmer; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -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; - -public class WohnzimmerFragment extends Fragment { - - private WohnzimmerViewModel wohnzimmerViewModel; - - public View onCreateView(@NonNull LayoutInflater inflater, - ViewGroup container, Bundle savedInstanceState) { - wohnzimmerViewModel = - new ViewModelProvider(this).get(WohnzimmerViewModel.class); - View root = inflater.inflate(R.layout.fragment_wohnzimmer, container, false); - final TextView textView = root.findViewById(R.id.text_wohnzimmer); - wohnzimmerViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { - @Override - public void onChanged(@Nullable String s) { - textView.setText(s); - } - }); - return root; - } -} \ No newline at end of file diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java new file mode 100644 index 0000000..97fad49 --- /dev/null +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java @@ -0,0 +1,39 @@ +package de.jg_cody.Teraplex.ui.zeitsteuerung; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; +import android.widget.TimePicker; + +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; + +public class ZeitsteuerungFragment extends Fragment { + + private ZeitsteuerungViewModel zeitsteuerungViewModel; + TimePicker timePicker; + + public View onCreateView(@NonNull LayoutInflater inflater, + ViewGroup container, Bundle savedInstanceState) { + zeitsteuerungViewModel = + new ViewModelProvider(this).get(ZeitsteuerungViewModel.class); + View root = inflater.inflate(R.layout.fragment_zeitsteuerung, container, false); + final TextView textView = root.findViewById(R.id.text_zeitsteuerung); + zeitsteuerungViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { + @Override + public void onChanged(@Nullable String s) { + textView.setText(s); + } + }); + TimePicker timePicker = (TimePicker) root.findViewById(R.id.timePicker); + timePicker.setIs24HourView(true); + return root; + } +} \ No newline at end of file diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/wohnzimmer/WohnzimmerViewModel.java b/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungViewModel.java similarity index 61% rename from app/src/main/java/de/jg_cody/Teraplex/ui/wohnzimmer/WohnzimmerViewModel.java rename to app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungViewModel.java index 062ac95..4561c0e 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/wohnzimmer/WohnzimmerViewModel.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungViewModel.java @@ -1,16 +1,16 @@ -package de.jg_cody.Teraplex.ui.wohnzimmer; +package de.jg_cody.Teraplex.ui.zeitsteuerung; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; -public class WohnzimmerViewModel extends ViewModel { +public class ZeitsteuerungViewModel extends ViewModel { private MutableLiveData mText; - public WohnzimmerViewModel() { + public ZeitsteuerungViewModel() { mText = new MutableLiveData<>(); - mText.setValue("Wohnzimmer"); + mText.setValue("WOHNZIMMER"); } public LiveData getText() { diff --git a/app/src/main/res/drawable/desktop_access_disabled_black_24dp.xml b/app/src/main/res/drawable/desktop_access_disabled_black_24dp.xml new file mode 100644 index 0000000..85c3900 --- /dev/null +++ b/app/src/main/res/drawable/desktop_access_disabled_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/desktop_windows_black_24dp.xml b/app/src/main/res/drawable/desktop_windows_black_24dp.xml new file mode 100644 index 0000000..beb7bc0 --- /dev/null +++ b/app/src/main/res/drawable/desktop_windows_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/jg_cody_white.png b/app/src/main/res/drawable/jg_cody_white.png new file mode 100644 index 0000000..9d7c9fb Binary files /dev/null and b/app/src/main/res/drawable/jg_cody_white.png differ diff --git a/app/src/main/res/drawable/kodi.xml b/app/src/main/res/drawable/kodi.xml new file mode 100644 index 0000000..1024e38 --- /dev/null +++ b/app/src/main/res/drawable/kodi.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/app/src/main/res/drawable/kodi_aus_1_.xml b/app/src/main/res/drawable/kodi_aus_1_.xml new file mode 100644 index 0000000..ae582f9 --- /dev/null +++ b/app/src/main/res/drawable/kodi_aus_1_.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/app/src/main/res/drawable/logo_teraplex_ausgeschrieben_alpha_und_weis.png b/app/src/main/res/drawable/logo_teraplex_ausgeschrieben_alpha_und_weis.png new file mode 100644 index 0000000..85bea80 Binary files /dev/null and b/app/src/main/res/drawable/logo_teraplex_ausgeschrieben_alpha_und_weis.png differ diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index 342fc24..44b1b4f 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -23,8 +23,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:layout_margin="@dimen/fab_margin" - app:srcCompat="?android:attr/fingerprintAuthDrawable" /> + android:layout_margin="@dimen/fab_margin"/> + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index c55cc34..aaabd2d 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -16,7 +16,7 @@ android:textAlignment="center" android:textColor="#FFFFFF" android:textSize="20sp" - app:layout_constraintBottom_toTopOf="@+id/ipInput" + app:layout_constraintBottom_toTopOf="@+id/login_data" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -51,7 +51,7 @@ android:layout_height="wrap_content" android:backgroundTint="#FFFFFF" android:ems="10" - android:hint="IP-Adresse" + android:hint="@string/login_ipadresse" android:inputType="text" android:textColor="#FFFFFF" android:textColorHint="#FFFFFF" @@ -66,7 +66,7 @@ android:layout_height="wrap_content" android:backgroundTint="#FFFFFF" android:ems="10" - android:hint="Benutzername" + android:hint="@string/login_benutzername" android:inputType="textEmailAddress" android:textColor="#FFFFFF" android:textColorHint="#FFFFFF" @@ -74,7 +74,8 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.497" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.434" /> +