Log view improvements

master
sh123 2022-08-24 18:28:26 +03:00
rodzic 85a9216d89
commit 5ff441ffb9
1 zmienionych plików z 13 dodań i 3 usunięć

Wyświetl plik

@ -12,6 +12,7 @@ import android.widget.TextView;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
@ -22,6 +23,8 @@ import com.radio.codec2talkie.R;
import com.radio.codec2talkie.storage.log.group.LogItemGroupAdapter;
import com.radio.codec2talkie.storage.position.PositionItemViewModel;
import java.util.List;
public class LogItemActivity extends AppCompatActivity {
private static final String TAG = LogItemActivity.class.getSimpleName();
@ -29,6 +32,8 @@ public class LogItemActivity extends AppCompatActivity {
private LogItemViewModel _logItemViewModel;
private PositionItemViewModel _positionItemViewModel;
private LiveData<List<LogItem>> _logItemLiveData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -67,8 +72,11 @@ public class LogItemActivity extends AppCompatActivity {
final LogItemGroupAdapter adapterGroup = new LogItemGroupAdapter(new LogItemGroupAdapter.LogItemGroupDiff());
adapterGroup.setClickListener(v -> {
TextView itemView = v.findViewById(R.id.log_view_group_item_title);
//_logItemLiveData.removeObserver(adapter::submitList);
_logItemLiveData.removeObservers(this);
_groupName = itemView.getText().toString();
_logItemViewModel.getData(_groupName).observe(this, adapter::submitList);
_logItemLiveData = _logItemViewModel.getData(_groupName);
_logItemLiveData.observe(this, adapter::submitList);
setTitle(_groupName);
});
logItemGroupRecyclerView.setAdapter(adapterGroup);
@ -83,10 +91,12 @@ public class LogItemActivity extends AppCompatActivity {
logItemGroupRecyclerView.setVisibility(View.GONE);
findViewById(R.id.log_item_textview).setVisibility(View.GONE);
findViewById(R.id.log_item_group_textview).setVisibility(View.GONE);
_logItemViewModel.getAllData().observe(this, adapter::submitList);
_logItemLiveData = _logItemViewModel.getAllData();
_logItemLiveData.observe(this, adapter::submitList);
setTitle(R.string.aprs_log_view_title);
} else {
_logItemViewModel.getData(_groupName).observe(this, adapter::submitList);
_logItemLiveData = _logItemViewModel.getData(_groupName);
_logItemLiveData.observe(this, adapter::submitList);
setTitle(_groupName);
}