1313import android .view .MenuItem ;
1414import android .view .View ;
1515import android .view .ViewGroup ;
16- import android .widget .ImageView ;
1716import android .widget .TextView ;
1817
1918import java .io .File ;
@@ -23,8 +22,11 @@ public class VaultFragment extends Fragment {
2322 private DrawerLayout mDrawer ;
2423 private NavigationView mNavigation ;
2524 private RecyclerView mFileRecyclerView ;
26- private FileAdapter mAdapter ;
25+ private RecyclerView .Adapter mAdapter ;
26+ private FileAdapterPreviewSmall mAdapterPreviewSmall ;
2727 private FileVault mVault ;
28+
29+ private String mPreviewMode ;
2830 @ Override
2931 public void onCreate (Bundle savedInstanceState ) {
3032 super .onCreate (savedInstanceState );
@@ -52,7 +54,9 @@ public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
5254 copySampleFiles ();
5355
5456 mVault = FileVault .get (this .getContext ());
57+ mPreviewMode = PreviewMode .PREVIEW_SMALL ;
5558 updateUI ();
59+ //updateUI();
5660 return view ;
5761 }
5862
@@ -66,11 +70,32 @@ private void copySampleFiles() {
6670
6771 private void updateUI () {
6872 List <ProtectedFile > files = mVault .getFiles ();
73+ switch (mPreviewMode ){
74+ case PreviewMode .FILE_DETAIL :
75+ showFileDetail (files );
76+ break ;
77+ case PreviewMode .PREVIEW_SMALL :
78+ showSmallPreview (files );
79+ break ;
80+ }
81+ /* original code
82+ List<ProtectedFile> files = mVault.getFiles();
83+ mAdapter = new FileAdapterFileDetail(files);
84+ mFileRecyclerView.setAdapter(mAdapter);
85+ */
86+ }
6987
70- mAdapter = new FileAdapter (files );
88+ private void showSmallPreview (List <ProtectedFile > files ) {
89+ mAdapter = new FileAdapterPreviewSmall (files );
7190 mFileRecyclerView .setAdapter (mAdapter );
7291 }
7392
93+ private void showFileDetail (List <ProtectedFile > files ) {
94+ mAdapter = new FileAdapterFileDetail (files );
95+ mFileRecyclerView .setAdapter (mAdapter );
96+ }
97+
98+
7499 @ Override
75100 public void onCreateOptionsMenu (Menu menu , MenuInflater inflater ){
76101 inflater .inflate (R .menu .export_menu ,menu );
@@ -85,39 +110,77 @@ public boolean onOptionsItemSelected(MenuItem item){
85110 return true ;
86111 }
87112
88- private class FileHolder extends RecyclerView .ViewHolder {
113+ private class FileHolderFileDetail extends RecyclerView .ViewHolder {
89114 public TextView mFileTextView ;
90- public FileHolder (@ NonNull View itemView ) {
115+ public FileHolderFileDetail (@ NonNull View itemView ) {
91116 super (itemView );
92117 mFileTextView = (TextView ) itemView .findViewById (R .id .file_preview_filename_name_text_view );
93118
94119 }
95120 }
96- private class FileAdapter extends RecyclerView .Adapter <FileHolder >{
121+ private class FileAdapterFileDetail extends RecyclerView .Adapter <FileHolderFileDetail >{
97122 private List <ProtectedFile > mFiles ;
98123
99- public FileAdapter (List <ProtectedFile > files ){
124+ public FileAdapterFileDetail (List <ProtectedFile > files ){
100125 mFiles = files ;
101126 }
102127 @ NonNull
103128 @ Override
104- public FileHolder onCreateViewHolder (@ NonNull ViewGroup parent , int i ) {
129+ public FileHolderFileDetail onCreateViewHolder (@ NonNull ViewGroup parent , int i ) {
105130 LayoutInflater layoutInflater = LayoutInflater .from (getActivity ());
106131 View view = layoutInflater
107132 .inflate (R .layout .item_file_preview_filename ,parent ,false );
108133
109- return new FileHolder (view );
134+ return new FileHolderFileDetail (view );
135+ }
136+
137+ @ Override
138+ public void onBindViewHolder (@ NonNull FileHolderFileDetail fileHolder , int position ) {
139+ ProtectedFile file = mFiles .get (position );
140+ fileHolder .mFileTextView .setText (file .getFilename ());
141+ }
142+
143+ @ Override
144+ public int getItemCount () {
145+ return mFiles .size ();
146+ }
147+ }
148+
149+
150+ private class FileHolderPreviewSmall extends RecyclerView .ViewHolder {
151+ public TextView mFileTextView ;
152+ public FileHolderPreviewSmall (@ NonNull View itemView ) {
153+ super (itemView );
154+ mFileTextView = (TextView ) itemView .findViewById (R .id .file_preview_filename_text_view );
155+ }
156+ }
157+ private class FileAdapterPreviewSmall extends RecyclerView .Adapter <FileHolderPreviewSmall >{
158+ private List <ProtectedFile > mFiles ;
159+
160+ public FileAdapterPreviewSmall (@ NonNull List <ProtectedFile > files ){
161+ mFiles = files ;
110162 }
111163
112164 @ Override
113- public void onBindViewHolder (@ NonNull FileHolder fileHolder , int position ) {
165+ public FileHolderPreviewSmall onCreateViewHolder (@ NonNull ViewGroup parent , int i ) {
166+ LayoutInflater layoutInflater = LayoutInflater .from (getActivity ());
167+ View view = layoutInflater
168+ .inflate (R .layout .item_file_preview_small ,parent ,false );
169+
170+ return new FileHolderPreviewSmall (view );
171+ }
172+
173+ @ Override
174+ public void onBindViewHolder (@ NonNull FileHolderPreviewSmall fileHolder , int position ) {
114175 ProtectedFile file = mFiles .get (position );
115176 fileHolder .mFileTextView .setText (file .getFilename ());
177+
116178 }
117179
118180 @ Override
119181 public int getItemCount () {
120182 return mFiles .size ();
121183 }
122184 }
185+
123186}
0 commit comments