Magisk/app/src/main/java/com/topjohnwu/magisk/SuLogFragment.java

91 lines
2.5 KiB
Java
Raw Normal View History

2017-01-27 03:38:53 +08:00
package com.topjohnwu.magisk;
import android.os.Bundle;
2017-01-29 16:20:41 +08:00
import android.support.annotation.Nullable;
2017-01-28 01:10:50 +08:00
import android.support.v7.widget.RecyclerView;
2017-01-27 03:38:53 +08:00
import android.view.LayoutInflater;
2017-01-29 16:20:41 +08:00
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
2017-01-27 03:38:53 +08:00
import android.view.View;
import android.view.ViewGroup;
2017-01-28 01:10:50 +08:00
import android.widget.TextView;
import com.topjohnwu.magisk.adapters.SuLogAdapter;
2017-02-07 02:01:32 +08:00
import com.topjohnwu.magisk.components.Fragment;
2017-01-28 01:10:50 +08:00
import com.topjohnwu.magisk.superuser.SuLogEntry;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
2017-01-27 03:38:53 +08:00
public class SuLogFragment extends Fragment {
2017-01-28 01:10:50 +08:00
@BindView(R.id.empty_rv) TextView emptyRv;
@BindView(R.id.recyclerView) RecyclerView recyclerView;
private Unbinder unbinder;
2017-06-01 00:19:52 +08:00
private MagiskManager magiskManager;
2017-01-29 16:20:41 +08:00
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_log, menu);
menu.findItem(R.id.menu_save).setVisible(false);
}
2017-01-27 03:38:53 +08:00
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
2017-01-28 01:10:50 +08:00
View v = inflater.inflate(R.layout.fragment_su_log, container, false);
unbinder = ButterKnife.bind(this, v);
2017-06-01 00:19:52 +08:00
magiskManager = getApplication();
2017-01-29 16:20:41 +08:00
updateList();
return v;
}
private void updateList() {
2017-06-01 00:19:52 +08:00
List<SuLogEntry> logs = magiskManager.suDB.getLogList();
2017-01-28 01:10:50 +08:00
if (logs.size() == 0) {
emptyRv.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
} else {
recyclerView.setAdapter(new SuLogAdapter(logs).getAdapter());
emptyRv.setVisibility(View.GONE);
recyclerView.setVisibility(View.VISIBLE);
}
2017-01-29 16:20:41 +08:00
}
2017-01-28 01:10:50 +08:00
2017-01-29 16:20:41 +08:00
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_refresh:
updateList();
return true;
case R.id.menu_clear:
2017-06-01 00:19:52 +08:00
magiskManager.suDB.clearLogs();
2017-01-29 16:20:41 +08:00
updateList();
return true;
default:
return true;
}
2017-01-27 03:38:53 +08:00
}
2017-01-28 01:10:50 +08:00
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
2017-01-27 03:38:53 +08:00
}