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 org.jetbrains.annotations.NotNull;
|
||||
import org.json.JSONException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@ -27,11 +28,15 @@ public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListItemViewHo
|
||||
SPACE = 3;
|
||||
|
||||
private final LayoutInflater inflater;
|
||||
private final String tabname;
|
||||
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.tabname = tabname;
|
||||
this.objects = objects;
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ -124,6 +129,11 @@ public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListItemViewHo
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
remove(item);
|
||||
try {
|
||||
TabsFragment.save(tabname, context, ListAdapter.this);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
switch(item.getType()) {
|
||||
|
@ -2,6 +2,7 @@ package de.jg_cody.Teraplex.ui.tabs;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.BitmapFactory;
|
||||
@ -59,6 +60,7 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB
|
||||
|
||||
public TabsFragment(String tabname) {
|
||||
this.tabname = tabname;
|
||||
|
||||
}
|
||||
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
@ -81,7 +83,7 @@ public class TabsFragment extends Fragment implements AddButtonDialogSingle.AddB
|
||||
items = new ArrayList<ListItem>();
|
||||
|
||||
|
||||
listAdapter = new ListAdapter(getContext(), items);
|
||||
listAdapter = new ListAdapter(getContext(), items, tabname);
|
||||
listView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
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();
|
||||
for (ListItem Item : listAdapter.getObjects()) {
|
||||
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.apply();
|
||||
}
|
||||
public void save() throws JSONException {
|
||||
save(tabname, requireContext(), listAdapter);
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ public class Terminal {
|
||||
|
||||
channel.connect(3 * 1000);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,11 +6,9 @@ import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.os.Vibrator;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ScrollView;
|
||||
@ -66,8 +64,7 @@ public class TerminalFragment extends Fragment {
|
||||
mDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; //style id
|
||||
mDialog.show();
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
Toast.makeText(getContext(), ("test"), Toast.LENGTH_SHORT).show();
|
||||
scrollView = (ScrollView) root.findViewById((R.id.scrollView));
|
||||
terminal_edit_text = (EditText) root.findViewById(R.id.terminal_edit_text);
|
||||
@ -76,53 +73,41 @@ public class TerminalFragment extends Fragment {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
if (terminal != null) {
|
||||
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;
|
||||
if (terminal != null) {
|
||||
terminal.sendTerminalCommand(terminal_edit_text.getText().toString());
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
terminal_textView = (TextView) root.findViewById(R.id.terminal_textView);
|
||||
new Thread() {
|
||||
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() {
|
||||
@Override
|
||||
public void run() {
|
||||
Toast.makeText(getContext(),"VERBUNDEN", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(getContext(), "VERBUNDEN", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
boolean isFragmentActive = true;
|
||||
while (isFragmentActive) {
|
||||
Fragment myFragment = (Fragment) requireActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_terminal);
|
||||
if (myFragment == null) {
|
||||
while (terminal != null) {
|
||||
|
||||
isFragmentActive = false;
|
||||
}
|
||||
else if (myFragment.isVisible())
|
||||
{
|
||||
isFragmentActive = false;
|
||||
if (getActivity() == null) {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user