From e765794fd7f5b7053397d789cb36f7cf87799b0a Mon Sep 17 00:00:00 2001 From: JG-Cody Date: Sun, 11 Jul 2021 13:28:50 +0200 Subject: [PATCH] bugfixes and translation --- .../Teraplex/AddButtonDialogSingle.java | 15 +- .../Teraplex/AddButtonsDialogDouble.java | 15 +- .../jg_cody/Teraplex/AddHeadlineDialog.java | 15 +- .../de/jg_cody/Teraplex/CricketerAdapter.java | 2 +- .../de/jg_cody/Teraplex/MainActivity.java | 28 ++- .../de/jg_cody/Teraplex/SSH_connection.java | 2 +- .../Einstellungen/EinstellungenFragment.java | 39 ++-- .../Teraplex/ui/Konsole/KonsoleFragment.java | 20 +- .../Teraplex/ui/Tabs/TabsFragment.java | 10 +- .../Teraplex/ui/home/HomeFragment.java | 19 +- .../Teraplex/ui/rooms/CommandExecutor.java | 3 +- .../Teraplex/ui/rooms/ListAdapter.java | 6 +- app/src/main/res/layout/fragment_kueche.xml | 46 ----- app/src/main/res/layout/fragment_main.xml | 2 +- .../main/res/layout/fragment_schlafzimmer.xml | 173 ------------------ .../main/res/menu/activity_main_drawer.xml | 2 +- app/src/main/res/values-de-rDE/strings.xml | 26 ++- app/src/main/res/values/strings.xml | 21 ++- 18 files changed, 149 insertions(+), 295 deletions(-) delete mode 100644 app/src/main/res/layout/fragment_kueche.xml delete mode 100644 app/src/main/res/layout/fragment_schlafzimmer.xml diff --git a/app/src/main/java/de/jg_cody/Teraplex/AddButtonDialogSingle.java b/app/src/main/java/de/jg_cody/Teraplex/AddButtonDialogSingle.java index d3a82b5..c864b4f 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/AddButtonDialogSingle.java +++ b/app/src/main/java/de/jg_cody/Teraplex/AddButtonDialogSingle.java @@ -13,6 +13,8 @@ import android.widget.EditText; import androidx.fragment.app.DialogFragment; +import org.jetbrains.annotations.NotNull; + import java.util.Objects; import de.jg_cody.Teraplex.ui.Tabs.TabsFragment; @@ -27,10 +29,11 @@ public class AddButtonDialogSingle extends DialogFragment { * @param savedInstanceState * @return */ + @NotNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - LayoutInflater inflater = getActivity().getLayoutInflater(); + LayoutInflater inflater = requireActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.addbuttondialog_single, null); editText_command = view.findViewById(R.id.dialogSingle_editText_command); @@ -40,7 +43,7 @@ public class AddButtonDialogSingle extends DialogFragment { builder.setView(view) .setTitle("SINGLE BUTTON") - .setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { + .setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { @@ -56,8 +59,8 @@ public class AddButtonDialogSingle extends DialogFragment { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("UNGÜLTIGE EINGABE") - .setMessage("EINGABEFELDER DÜRFEN NICHT LEER SEIN") + .setTitle(getString(R.string.invalid)) + .setMessage(getString(R.string.inputfields_cant_be_empty)) // Specifying a listener allows you to take an action before dismissing the dialog. // The dialog is automatically dismissed when a dialog button is clicked. @@ -74,7 +77,7 @@ public class AddButtonDialogSingle extends DialogFragment { AlertDialog mDialog = builder.create(); - mDialog.getWindow().setBackgroundDrawableResource(R.drawable.button_round); + Objects.requireNonNull(mDialog.getWindow()).setBackgroundDrawableResource(R.drawable.button_round); mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id return mDialog; } @@ -89,7 +92,7 @@ public class AddButtonDialogSingle extends DialogFragment { } @Override - public void onAttach(Context context) { + public void onAttach(@NotNull Context context) { super.onAttach(context); try { diff --git a/app/src/main/java/de/jg_cody/Teraplex/AddButtonsDialogDouble.java b/app/src/main/java/de/jg_cody/Teraplex/AddButtonsDialogDouble.java index 2aa9bd8..b2b2eeb 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/AddButtonsDialogDouble.java +++ b/app/src/main/java/de/jg_cody/Teraplex/AddButtonsDialogDouble.java @@ -12,6 +12,8 @@ import android.widget.EditText; import androidx.fragment.app.DialogFragment; +import org.jetbrains.annotations.NotNull; + import java.util.Objects; import de.jg_cody.Teraplex.ui.Tabs.TabsFragment; @@ -23,6 +25,7 @@ public class AddButtonsDialogDouble extends DialogFragment { private EditText editText_name, editText_command1, editText_button1, editText_command2, editText_button2; private TabsFragment frag; + @NotNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); @@ -32,7 +35,7 @@ public class AddButtonsDialogDouble extends DialogFragment { builder.setView(view) .setTitle("ON/OFF BUTTON") - .setNegativeButton("CANCEL", null) + .setNegativeButton(getString(R.string.cancel), null) .setPositiveButton("ADD", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { @@ -45,8 +48,8 @@ public class AddButtonsDialogDouble extends DialogFragment { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("UNGÜLTIGE EINGABE") - .setMessage("EINGABEFELDER DÜRFEN NICHT LEER SEIN") + .setTitle(getString(R.string.invalid)) + .setMessage(getString(R.string.inputfields_cant_be_empty)) // Specifying a listener allows you to take an action before dismissing the dialog. // The dialog is automatically dismissed when a dialog button is clicked. @@ -68,7 +71,7 @@ public class AddButtonsDialogDouble extends DialogFragment { editText_button2 = view.findViewById(R.id.dialogDouble_editText_button2); AlertDialog mDialog = builder.create(); - mDialog.getWindow().setBackgroundDrawableResource(R.drawable.button_round); + Objects.requireNonNull(mDialog.getWindow()).setBackgroundDrawableResource(R.drawable.button_round); mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id return mDialog; } @@ -82,12 +85,12 @@ public class AddButtonsDialogDouble extends DialogFragment { } @Override - public void onAttach(Context context) { + public void onAttach(@NotNull Context context) { super.onAttach(context); try { listener = (AddButtonsDialogListenerDouble) frag; - } catch (ClassCastException e) { + } catch (ClassCastException ignored) { } } diff --git a/app/src/main/java/de/jg_cody/Teraplex/AddHeadlineDialog.java b/app/src/main/java/de/jg_cody/Teraplex/AddHeadlineDialog.java index eaf6100..8c7ffa3 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/AddHeadlineDialog.java +++ b/app/src/main/java/de/jg_cody/Teraplex/AddHeadlineDialog.java @@ -12,6 +12,8 @@ import android.widget.ImageView; import androidx.fragment.app.DialogFragment; +import org.jetbrains.annotations.NotNull; + import java.util.Objects; import de.jg_cody.Teraplex.ui.Tabs.TabsFragment; @@ -27,10 +29,11 @@ public class AddHeadlineDialog extends DialogFragment { * @param savedInstanceState * @return */ + @NotNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - LayoutInflater inflater = getActivity().getLayoutInflater(); + LayoutInflater inflater = requireActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.addheadlinedialog, null); editText_name = view.findViewById(R.id.dialogheadline_editText_name); @@ -38,7 +41,7 @@ public class AddHeadlineDialog extends DialogFragment { builder.setView(view) .setTitle("SINGLE BUTTON") - .setNegativeButton("CANCEL", (dialogInterface, i) -> { + .setNegativeButton(getString(R.string.cancel), (dialogInterface, i) -> { }) .setPositiveButton("ADD", (dialogInterface, i) -> { @@ -47,8 +50,8 @@ public class AddHeadlineDialog extends DialogFragment { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("UNGÜLTIGE EINGABE") - .setMessage("EINGABEFELDER DÜRFEN NICHT LEER SEIN") + .setTitle(getString(R.string.invalid)) + .setMessage(getString(R.string.inputfields_cant_be_empty)) // Specifying a listener allows you to take an action before dismissing the dialog. // The dialog is automatically dismissed when a dialog button is clicked. @@ -64,7 +67,7 @@ public class AddHeadlineDialog extends DialogFragment { AlertDialog mDialog = builder.create(); - mDialog.getWindow().setBackgroundDrawableResource(R.drawable.button_round); + Objects.requireNonNull(mDialog.getWindow()).setBackgroundDrawableResource(R.drawable.button_round); mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id return mDialog; } @@ -79,7 +82,7 @@ public class AddHeadlineDialog extends DialogFragment { } @Override - public void onAttach(Context context) { + public void onAttach(@NotNull Context context) { super.onAttach(context); try { diff --git a/app/src/main/java/de/jg_cody/Teraplex/CricketerAdapter.java b/app/src/main/java/de/jg_cody/Teraplex/CricketerAdapter.java index 040fa2b..24d74a4 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/CricketerAdapter.java +++ b/app/src/main/java/de/jg_cody/Teraplex/CricketerAdapter.java @@ -42,7 +42,7 @@ public class CricketerAdapter extends RecyclerView.Adapter tabs = new HashSet<>(p.getStringSet("tabs", new HashSet<>())); @@ -288,10 +296,11 @@ public class MainActivity extends AppCompatActivity { } } }); - mBuilder.setPositiveButton("REMOVE", new DialogInterface.OnClickListener() { + mBuilder.setPositiveButton(getString(R.string.remove), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Vibrator vr = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); tabs.removeAll(selectedTabs); SharedPreferences.Editor editor = p.edit(); @@ -305,10 +314,11 @@ public class MainActivity extends AppCompatActivity { } } }); - mBuilder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { + mBuilder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Vibrator vr = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); } }); @@ -326,6 +336,7 @@ public class MainActivity extends AppCompatActivity { @Override public boolean onMenuItemClick(MenuItem item) { Vibrator vr = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); DrawerLayout mDrawerLayout; mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); @@ -333,6 +344,7 @@ public class MainActivity extends AppCompatActivity { Objects.requireNonNull(getSupportActionBar()).setTitle(tab); Fragment currentFragment = getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment); NavHostFragment nhf = (NavHostFragment) currentFragment; + assert nhf != null; nhf.getChildFragmentManager().beginTransaction().replace(R.id.nav_host_fragment, new TabsFragment(tab)).commit(); return true; } diff --git a/app/src/main/java/de/jg_cody/Teraplex/SSH_connection.java b/app/src/main/java/de/jg_cody/Teraplex/SSH_connection.java index 86cbf1b..2e9a977 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/SSH_connection.java +++ b/app/src/main/java/de/jg_cody/Teraplex/SSH_connection.java @@ -43,7 +43,7 @@ public class SSH_connection { } try { Thread.sleep(1000); - } catch (Exception ee) { + } catch (Exception ignored) { } } channel.disconnect(); 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 0387761..4284e37 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 @@ -55,7 +55,8 @@ public class EinstellungenFragment extends Fragment { Language.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); showChangeLanguageDialog(); @@ -65,7 +66,8 @@ public class EinstellungenFragment extends Fragment { Reset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.alert_error); mp.start(); @@ -77,7 +79,8 @@ public class EinstellungenFragment extends Fragment { // 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) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); try { requireContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE).edit().clear().apply(); @@ -103,7 +106,8 @@ public class EinstellungenFragment extends Fragment { choose_background.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); showChangeBackgroundDialog(); @@ -114,7 +118,8 @@ public class EinstellungenFragment extends Fragment { theme1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); SharedPreferences.Editor editor = requireContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit(); editor.putString("Theme", "RED_BLUE"); @@ -129,7 +134,8 @@ public class EinstellungenFragment extends Fragment { theme2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); SharedPreferences.Editor editor = requireContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit(); editor.putString("Theme", "GREEN_YELLOW"); @@ -144,7 +150,8 @@ public class EinstellungenFragment extends Fragment { theme3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); SharedPreferences.Editor editor = requireContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit(); editor.putString("Theme", "ORANGE_TURQUOISE"); @@ -159,7 +166,8 @@ public class EinstellungenFragment extends Fragment { theme4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); SharedPreferences.Editor editor = requireContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit(); editor.putString("Theme", "YELLOW_BLUE"); @@ -174,7 +182,8 @@ public class EinstellungenFragment extends Fragment { theme5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); SharedPreferences.Editor editor = requireContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit(); editor.putString("Theme", "PINK_GREEN"); @@ -192,11 +201,12 @@ public class EinstellungenFragment extends Fragment { private void showChangeLanguageDialog() { final String[] listItems = {"GERMAN", "ENGLISCH"}; AlertDialog.Builder mBuilder = new AlertDialog.Builder(getContext()); - mBuilder.setTitle("CHOOSE LANGUAGE"); + mBuilder.setTitle(getString(R.string.choose_language)); mBuilder.setSingleChoiceItems(listItems, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); if (i == 0) { setLocale("de"); @@ -217,13 +227,14 @@ public class EinstellungenFragment extends Fragment { } private void showChangeBackgroundDialog() { - final String[] listItems = {"GRAFIK", "RESET BACKGROUND"}; + final String[] listItems = {getString(R.string.image), getString(R.string.reset_background)}; AlertDialog.Builder mBuilder = new AlertDialog.Builder(getContext()); - mBuilder.setTitle("CHOOSE BACKGROUND-TYPE"); + mBuilder.setTitle(getString(R.string.choose_backgroundtype)); mBuilder.setSingleChoiceItems(listItems, -5, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); if (i == 0) { Intent a = new Intent( diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java index bc7150e..9d59037 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java @@ -66,14 +66,15 @@ public class KonsoleFragment extends Fragment { @Override public void onClick(View v) { Vibrator vr = (Vibrator) v.getContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); try { if (befehlInput.getText().toString().trim().length() == 0) { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("UNGÜLTIGE EINGABE") - .setMessage("EINGABEFELDER DÜRFEN NICHT LEER SEIN") + .setTitle(getString(R.string.invalid)) + .setMessage(getString(R.string.inputfields_cant_be_empty)) // Specifying a listener allows you to take an action before dismissing the dialog. // The dialog is automatically dismissed when a dialog button is clicked. @@ -82,7 +83,6 @@ public class KonsoleFragment extends Fragment { Objects.requireNonNull(mDialog.getWindow()).setBackgroundDrawableResource(R.drawable.button_round); mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id mDialog.show(); - return; } else { command = befehlInput.getText().toString(); Toast.makeText(getContext(), "Kommando gesendet...", Toast.LENGTH_SHORT).show(); @@ -99,25 +99,27 @@ public class KonsoleFragment extends Fragment { @Override public void onClick(View v) { Vibrator vr = (Vibrator) v.getContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("SERVER NEUSTARTEN") - .setMessage("BIST DU SICHER?") + .setTitle(getString(R.string.restart_server)) + .setMessage(getString(R.string.are_you_sure)) // 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) { Vibrator vr = (Vibrator) v.getContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); try { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_down); mp.start(); Toast.makeText(getContext(), "Reboot wird ausgeführt...", Toast.LENGTH_SHORT).show(); SSH_connection.executeRemoteCommand(ip, user, password, "reboot"); - } catch (Exception e) { + } catch (Exception ignored) { } // Continue with delete operation @@ -141,18 +143,20 @@ public class KonsoleFragment extends Fragment { @Override public void onClick(View v) { Vibrator vr = (Vibrator) v.getContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("SERVER HERUNTERFAHREN") - .setMessage("BIST DU SICHER?") + .setTitle(getString(R.string.shutdown_server)) + .setMessage(getString(R.string.are_you_sure)) // 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) { Vibrator vr = (Vibrator) v.getContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); try { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_down); diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Tabs/TabsFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Tabs/TabsFragment.java index 57364b4..cd6a5da 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Tabs/TabsFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Tabs/TabsFragment.java @@ -159,9 +159,9 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB } private void showChooseElement() { - final String[] listItems = {"SINGLE BUTTON", "DOUBLE BUTTON", "ÜBERSCHRIFT", "PLATZHALTER"}; + final String[] listItems = {getString(R.string.single_button), getString(R.string.double_button), getString(R.string.heading), getString(R.string.space)}; AlertDialog.Builder mBuilder = new AlertDialog.Builder(getActivity()); - mBuilder.setTitle("CHOOSE ELEMENT"); + mBuilder.setTitle(getString(R.string.choose_element)); mBuilder.setSingleChoiceItems(listItems, -1, new DialogInterface.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.KITKAT) @Override @@ -194,20 +194,20 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB public void openDialog1() { AddButtonDialogSingle addButtonDialogSingle = new AddButtonDialogSingle(); addButtonDialogSingle.setFragment(this); - addButtonDialogSingle.show(getActivity().getSupportFragmentManager(), "example dialog"); + addButtonDialogSingle.show(requireActivity().getSupportFragmentManager(), getString(R.string.single_button)); } public void openDialog2() { AddButtonsDialogDouble addButtonsDialogDouble = new AddButtonsDialogDouble(); addButtonsDialogDouble.setFragment(this); - addButtonsDialogDouble.show(getActivity().getSupportFragmentManager(), "example dialog"); + addButtonsDialogDouble.show(requireActivity().getSupportFragmentManager(), getString(R.string.double_button)); } public void openDialog3() { AddHeadlineDialog addHeadlineDialog = new AddHeadlineDialog(); addHeadlineDialog.setFragment(this); - addHeadlineDialog.show(getActivity().getSupportFragmentManager(), "Headline"); + addHeadlineDialog.show(requireActivity().getSupportFragmentManager(), getString(R.string.heading)); } @RequiresApi(api = Build.VERSION_CODES.KITKAT) 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 19fbf45..b4fee2f 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 @@ -90,14 +90,15 @@ public class HomeFragment extends Fragment { loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); if (userInput.getText().toString().trim().length() == 0 || ipInput.getText().toString().trim().length() == 0 || passwordInput.getText().toString().trim().length() == 0) { MediaPlayer mp = MediaPlayer.create(getContext(), R.raw.state_change_confirm_up); mp.start(); AlertDialog mDialog = new AlertDialog.Builder(getContext()) - .setTitle("UNGÜLTIGE EINGABE") - .setMessage("EINGABEFELDER DÜRFEN NICHT LEER SEIN") + .setTitle(getString(R.string.invalid)) + .setMessage(getString(R.string.inputfields_cant_be_empty)) // Specifying a listener allows you to take an action before dismissing the dialog. // The dialog is automatically dismissed when a dialog button is clicked. @@ -106,7 +107,6 @@ public class HomeFragment extends Fragment { Objects.requireNonNull(mDialog.getWindow()).setBackgroundDrawableResource(R.drawable.button_round); mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id mDialog.show(); - return; } else { user = userInput.getText().toString(); password = passwordInput.getText().toString(); @@ -139,7 +139,8 @@ public class HomeFragment extends Fragment { logoutButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Vibrator vr = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); + Vibrator vr = (Vibrator) requireContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); requireContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE).edit().remove("ip").remove("user").remove("password").apply(); startActivity(requireActivity().getIntent()); @@ -154,7 +155,7 @@ public class HomeFragment extends Fragment { try { Toast.makeText(getContext(), "WLAN wird ausgeschaltet...", Toast.LENGTH_SHORT).show(); SSH_connection.executeRemoteCommand(ip, user, password, "service hostapd stop"); - } catch (Exception e) { + } catch (Exception ignored) { } } }); @@ -166,7 +167,7 @@ public class HomeFragment extends Fragment { try { Toast.makeText(getContext(), "WLAN wird eingeschaltet...", Toast.LENGTH_SHORT).show(); SSH_connection.executeRemoteCommand(ip, user, password, "service hostapd start"); - } catch (Exception e) { + } catch (Exception ignored) { } } }); @@ -178,7 +179,7 @@ public class HomeFragment extends Fragment { try { Toast.makeText(getContext(), "KODI wird ausgeschaltet...", Toast.LENGTH_SHORT).show(); SSH_connection.executeRemoteCommand(ip, user, password, "sudo /root/raspberry-remote/send 11111 3 0"); - } catch (Exception e) { + } catch (Exception ignored) { } } @@ -191,7 +192,7 @@ public class HomeFragment extends Fragment { try { Toast.makeText(getContext(), "KODI wird angeschaltet...", Toast.LENGTH_SHORT).show(); SSH_connection.executeRemoteCommand(ip, user, password, "sudo /root/raspberry-remote/send 11111 3 1"); - } catch (Exception e) { + } catch (Exception ignored) { } } diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/CommandExecutor.java b/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/CommandExecutor.java index 88fb6d7..bd4431f 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/CommandExecutor.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/CommandExecutor.java @@ -9,13 +9,14 @@ import de.jg_cody.Teraplex.SSH_connection; public class CommandExecutor implements View.OnClickListener { - private String command; + private final String command; public CommandExecutor(String command) { this.command = command; } @Override public void onClick(View v) { Vibrator vr = (Vibrator) v.getContext().getSystemService(Context.VIBRATOR_SERVICE); + assert vr != null; vr.vibrate(100); SharedPreferences prefs = v.getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE); String user = prefs.getString("user", null); diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/ListAdapter.java b/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/ListAdapter.java index 488e9f5..b52d0f1 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/ListAdapter.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/rooms/ListAdapter.java @@ -26,12 +26,10 @@ public class ListAdapter extends RecyclerView.Adapter objects; + private final LayoutInflater inflater; + private final ArrayList objects; public ListAdapter(Context context, ArrayList objects) { - this.context = context; this.inflater = LayoutInflater.from(context); this.objects = objects; } diff --git a/app/src/main/res/layout/fragment_kueche.xml b/app/src/main/res/layout/fragment_kueche.xml deleted file mode 100644 index fe3ae0f..0000000 --- a/app/src/main/res/layout/fragment_kueche.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index 2086abb..267dbce 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -5,7 +5,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.kueche.KuecheFragment"> + tools:context=".MainActivity"> - - - - - - -