Skip to content

Commit 8158a7e

Browse files
committed
add view mode method
1 parent 8e21c82 commit 8158a7e

File tree

3 files changed

+87
-15
lines changed

3 files changed

+87
-15
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.katcom.androidFileVault;
2+
3+
public abstract class PreviewMode {
4+
final public static String FILE_DETAIL = "File Detail";
5+
final public static String PREVIEW_SMALL = "Preview Small";
6+
final public static String PREVIEW_MEDIUM = "Preview Medium";
7+
final public static String PREVIEW_BIG = "Preview Big";
8+
9+
}

app/src/main/java/com/katcom/androidFileVault/VaultFragment.java

Lines changed: 73 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import android.view.MenuItem;
1414
import android.view.View;
1515
import android.view.ViewGroup;
16-
import android.widget.ImageView;
1716
import android.widget.TextView;
1817

1918
import 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
}

app/src/main/res/layout/item_file_preview_small.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<LinearLayout
33
xmlns:android="http://schemas.android.com/apk/res/android"
44
xmlns:app="http://schemas.android.com/apk/res-auto"
5-
android:layout_width="200dp"
6-
android:layout_height="200dp"
5+
android:layout_width="100dp"
6+
android:layout_height="100dp"
77
android:orientation="vertical"
88
android:gravity="center">
99

1010
<ImageView
1111
android:id="@+id/file_preview_image_view"
12-
android:layout_width="wrap_content"
13-
android:layout_height="wrap_content"
12+
android:layout_width="50dp"
13+
android:layout_height="50dp"
1414
android:src="@drawable/ic_launcher_background"/>
1515
<TextView
1616
android:id="@+id/file_preview_filename_text_view"
1717
android:layout_below="@id/file_preview_image_view"
1818
android:layout_width="wrap_content"
1919
android:layout_height="wrap_content"
20-
android:text="sample"/>
20+
android:text="sample_data_is_veryyyyyyyyyyyyyyyyyy_long"/>
2121
</LinearLayout>

0 commit comments

Comments
 (0)