bugfixes:
terminal now works removing items by button is now saved
This commit is contained in:
parent
9cf7519c5a
commit
a21d8d8931
@ -11,6 +11,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.json.JSONException;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -27,11 +28,15 @@ public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListItemViewHo
|
|||||||
SPACE = 3;
|
SPACE = 3;
|
||||||
|
|
||||||
private final LayoutInflater inflater;
|
private final LayoutInflater inflater;
|
||||||
|
private final String tabname;
|
||||||
private final ArrayList<ListItem> objects;
|
private final ArrayList<ListItem> objects;
|
||||||
|
private final Context context;
|
||||||
|
|
||||||
public ListAdapter(Context context, ArrayList<ListItem> objects) {
|
public ListAdapter(Context context, ArrayList<ListItem> objects, String tabname) {
|
||||||
this.inflater = LayoutInflater.from(context);
|
this.inflater = LayoutInflater.from(context);
|
||||||
|
this.tabname = tabname;
|
||||||
this.objects = objects;
|
this.objects = objects;
|
||||||
|
this.context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@ -124,6 +129,11 @@ public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListItemViewHo
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
remove(item);
|
remove(item);
|
||||||
|
try {
|
||||||
|
TabsFragment.save(tabname, context, ListAdapter.this);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
switch(item.getType()) {
|
switch(item.getType()) {
|
||||||
|
@ -2,6 +2,7 @@ package de.jg_cody.Teraplex.ui.tabs;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
@ -59,6 +60,7 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB
|
|||||||
|
|
||||||
public TabsFragment(String tabname) {
|
public TabsFragment(String tabname) {
|
||||||
this.tabname = tabname;
|
this.tabname = tabname;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||||
@ -81,7 +83,7 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB
|
|||||||
items = new ArrayList<ListItem>();
|
items = new ArrayList<ListItem>();
|
||||||
|
|
||||||
|
|
||||||
listAdapter = new ListAdapter(getContext(), items);
|
listAdapter = new ListAdapter(getContext(), items, tabname);
|
||||||
listView.setLayoutManager(new LinearLayoutManager(getContext()));
|
listView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||||
listView.setAdapter(listAdapter);
|
listView.setAdapter(listAdapter);
|
||||||
|
|
||||||
@ -251,13 +253,16 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void save() throws JSONException {
|
public static void save(String tabname, Context context, ListAdapter listAdapter) throws JSONException {
|
||||||
JSONArray listItems2 = new JSONArray();
|
JSONArray listItems2 = new JSONArray();
|
||||||
for (ListItem Item : listAdapter.getObjects()) {
|
for (ListItem Item : listAdapter.getObjects()) {
|
||||||
listItems2.put(Item.toJson());
|
listItems2.put(Item.toJson());
|
||||||
}
|
}
|
||||||
SharedPreferences.Editor editor = requireContext().getSharedPreferences("appsettings", MODE_PRIVATE).edit();
|
SharedPreferences.Editor editor = context.getSharedPreferences("appsettings", MODE_PRIVATE).edit();
|
||||||
editor.putString("listItems." + tabname, listItems2.toString());
|
editor.putString("listItems." + tabname, listItems2.toString());
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
public void save() throws JSONException {
|
||||||
|
save(tabname, requireContext(), listAdapter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ public class Terminal {
|
|||||||
|
|
||||||
channel.connect(3 * 1000);
|
channel.connect(3 * 1000);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,11 +6,9 @@ import android.content.DialogInterface;
|
|||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Vibrator;
|
import android.os.Vibrator;
|
||||||
import android.view.KeyEvent;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.inputmethod.EditorInfo;
|
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ScrollView;
|
import android.widget.ScrollView;
|
||||||
@ -66,8 +64,7 @@ public class TerminalFragment extends Fragment {
|
|||||||
mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id
|
mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id
|
||||||
mDialog.show();
|
mDialog.show();
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Toast.makeText(getContext(), ("test"), Toast.LENGTH_SHORT).show();
|
Toast.makeText(getContext(), ("test"), Toast.LENGTH_SHORT).show();
|
||||||
scrollView = (ScrollView) root.findViewById((R.id.scrollView));
|
scrollView = (ScrollView) root.findViewById((R.id.scrollView));
|
||||||
terminal_edit_text = (EditText) root.findViewById(R.id.terminal_edit_text);
|
terminal_edit_text = (EditText) root.findViewById(R.id.terminal_edit_text);
|
||||||
@ -76,53 +73,41 @@ public class TerminalFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
|
|
||||||
if (terminal != null) {
|
if (terminal != null) {
|
||||||
terminal.sendTerminalCommand(terminal_edit_text.getText().toString());
|
terminal.sendTerminalCommand(terminal_edit_text.getText().toString());
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
terminal_edit_text.setOnEditorActionListener(new EditText.OnEditorActionListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event)
|
|
||||||
{
|
|
||||||
boolean handled=false;
|
|
||||||
|
|
||||||
// Some phones disregard the IME setting option in the xml, instead
|
|
||||||
// they send IME_ACTION_UNSPECIFIED so we need to catch that
|
|
||||||
if(EditorInfo.IME_ACTION_DONE==actionId || EditorInfo.IME_ACTION_UNSPECIFIED==actionId)
|
|
||||||
{
|
|
||||||
if (terminal != null) {
|
|
||||||
terminal.sendTerminalCommand(terminal_edit_text.getText().toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
handled=true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return handled;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
terminal_textView = (TextView) root.findViewById(R.id.terminal_textView);
|
terminal_textView = (TextView) root.findViewById(R.id.terminal_textView);
|
||||||
new Thread() {
|
new Thread() {
|
||||||
public void run() {
|
public void run() {
|
||||||
terminal = new Terminal();
|
try {
|
||||||
|
terminal = new Terminal();
|
||||||
|
} catch (Exception e) {
|
||||||
|
requireActivity().runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Toast.makeText(getContext(), "CAN NOT CONNECT", Toast.LENGTH_SHORT).show();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
requireActivity().runOnUiThread(new Runnable() {
|
requireActivity().runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Toast.makeText(getContext(),"VERBUNDEN", Toast.LENGTH_SHORT).show();
|
Toast.makeText(getContext(), "VERBUNDEN", Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
boolean isFragmentActive = true;
|
while (terminal != null) {
|
||||||
while (isFragmentActive) {
|
|
||||||
Fragment myFragment = (Fragment) requireActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_terminal);
|
|
||||||
if (myFragment == null) {
|
|
||||||
|
|
||||||
isFragmentActive = false;
|
if (getActivity() == null) {
|
||||||
}
|
|
||||||
else if (myFragment.isVisible())
|
return;
|
||||||
{
|
|
||||||
isFragmentActive = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user