1 package net.osdn.gokigen.cameratest.logcat;
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.util.Log;
6 import android.view.LayoutInflater;
7 import android.view.Menu;
8 import android.view.MenuInflater;
9 import android.view.MenuItem;
10 import android.view.View;
11 import android.view.ViewGroup;
12 import android.widget.ArrayAdapter;
13 import android.widget.ListView;
14 import android.widget.Toast;
16 import java.util.ArrayList;
17 import java.util.List;
19 import androidx.annotation.Nullable;
20 import androidx.fragment.app.FragmentActivity;
21 import androidx.fragment.app.ListFragment;
23 import net.osdn.gokigen.cameratest.R;
28 public class LogCatFragment extends ListFragment
30 private final String TAG = toString();
31 private ArrayAdapter<String> adapter;
32 private List<String> dataItems = new ArrayList<>();
33 private LogCatUpdater updater = new LogCatUpdater();
34 public static LogCatFragment newInstance()
36 LogCatFragment instance = new LogCatFragment();
38 // パラメータはBundleにまとめておく
39 Bundle arguments = new Bundle();
40 //arguments.putString("title", title);
41 //arguments.putString("message", message);
42 instance.setArguments(arguments);
49 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
51 inflater.inflate(R.menu.debug_view, menu);
53 String title = getString(R.string.app_name) + " " + getString(R.string.pref_degug_info);
55 AppCompatActivity activity = (AppCompatActivity) getActivity();
56 ActionBar bar = activity.getSupportActionBar();
70 public boolean onOptionsItemSelected(MenuItem item)
72 if (item.getItemId() == R.id.action_refresh)
77 return super.onOptionsItemSelected(item);
87 Thread thread = new Thread(new Runnable()
92 Log.v(TAG, "START LOGCAT");
93 dataItems = updater.getLogCat("main", "time", "*:v", "gokigen", "");
94 Log.v(TAG, "FINISH LOGCAT");
97 final FragmentActivity activity = getActivity();
100 activity.runOnUiThread(new Runnable()
108 if (adapter.getCount() > 0)
114 adapter.addAll(dataItems);
117 ListView view = activity.findViewById(android.R.id.list);
118 view.setSelection(dataItems.size());
121 //Snackbar.make(getActivity().findViewById(R.id.fragment1), getString(R.string.finish_refresh), Snackbar.LENGTH_SHORT).show();
122 Toast.makeText(getActivity(), getString(R.string.finish_refresh), Toast.LENGTH_SHORT).show();
126 ee.printStackTrace();
150 public void onResume()
153 Log.v(TAG, "onResume()");
159 public void onPause()
162 Log.v(TAG, "onPause()");
166 public void onCreate(Bundle savedInstanceState)
168 super.onCreate(savedInstanceState);
169 Log.v(TAG, "LogCatFragment::onCreate()");
173 public void onActivityCreated(@Nullable Bundle savedInstanceState)
175 super.onActivityCreated(savedInstanceState);
176 Log.v(TAG, "LogCatFragment::onActivityCreated()");
177 setHasOptionsMenu(true);
179 Activity activity = getActivity();
180 if (activity != null)
182 ListView view = getListView();
185 getListView().setOnItemLongClickListener(new LogCatExporter(activity));
191 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
193 adapter = new ArrayAdapter<>(inflater.getContext(), android.R.layout.simple_list_item_1, dataItems);
194 setListAdapter(adapter);
196 return (super.onCreateView(inflater, container, savedInstanceState));