+            mTextPreviewList.setVisibility(View.VISIBLE);
+        }
+    }
+
+    private class TextLineAdapter extends BaseAdapter {
+        private static final int LIST_ITEM_LAYOUT = R.layout.text_file_preview_list_item;
+        private final List<String> items = new ArrayList<>();
+
+        private void add(String line) {
+            items.add(line);
+            notifyDataSetChanged();
+        }
+
+        private void clear() {
+            items.clear();
+            notifyDataSetChanged();
+        }
+
+        @Override
+        public int getCount() {
+            return items.size();
+        }
+
+        @Override
+        public String getItem(int position) {
+            if (position >= items.size())
+                throw new IllegalArgumentException();
+            return items.get(position);
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            ViewHolder viewHolder;
+            if (convertView == null) {
+                convertView =
+                        ((LayoutInflater) getActivity().getApplicationContext()
+                                .getSystemService(Context.LAYOUT_INFLATER_SERVICE))
+                                .inflate(
+                                        LIST_ITEM_LAYOUT, null);
+                viewHolder = new ViewHolder();
+                viewHolder.setLineView((TextView) convertView.findViewById(R.id.text_preview));
+                convertView.setTag(viewHolder);
+            } else {
+                viewHolder = (ViewHolder) convertView.getTag();
+            }
+
+            viewHolder.getLineView().setText(items.get(position));
+
+            return convertView;
+        }
+    }
+
+    private static class ViewHolder {
+        private TextView lineView;
+
+        private ViewHolder() {
+        }
+
+        public TextView getLineView() {
+            return lineView;
+        }
+
+        public void setLineView(TextView lineView) {
+            this.lineView = lineView;