Skip to content
This repository was archived by the owner on Mar 18, 2023. It is now read-only.

Commit 3758f8d

Browse files
committed
Updating the layout styles and some bug fixes
1 parent 5b63f60 commit 3758f8d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+208
-117
lines changed

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/DisplayFragments.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,23 @@ public class DisplayFragments {
4949
public static List<DisplayTypes.FileType> activeSelectionsList = new ArrayList<DisplayTypes.FileType>();
5050
private static List<String> fileItemBasePathsList = new ArrayList<String>();
5151

52+
public static void initializeRecyclerViewLayout(RecyclerView rview) {
53+
if(!recyclerViewAdapterInit) {
54+
mainFileListRecyclerView = rview;
55+
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
56+
ViewGroup.LayoutParams.MATCH_PARENT,
57+
ViewGroup.LayoutParams.WRAP_CONTENT
58+
);
59+
mainFileListRecyclerView.setLayoutParams(layoutParams);
60+
rvLayoutManager = new LinearLayoutManager(FileChooserActivity.getInstance());
61+
rvLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
62+
mainFileListRecyclerView.setLayoutManager(rvLayoutManager);
63+
rvAdapter = new DisplayAdapters.FileListAdapter(fileItemBasePathsList);
64+
mainFileListRecyclerView.setAdapter(rvAdapter);
65+
recyclerViewAdapterInit = true;
66+
}
67+
}
68+
5269
public static FileFilter.FileFilterInterface localFilesListFilter = null;
5370
public static FileFilter.FileItemsListSortFunc localFilesListSortFunc = null;
5471

@@ -75,15 +92,7 @@ public static void initiateNewFolderLoad(FileChooserBuilder.BaseFolderPathType i
7592
public static void displayNextDirectoryFilesList(List<DisplayTypes.FileType> workingDirContentsList) {
7693

7794
if(!recyclerViewAdapterInit) {
78-
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
79-
ViewGroup.LayoutParams.WRAP_CONTENT);
80-
mainFileListRecyclerView.setLayoutParams(layoutParams);
81-
rvLayoutManager = new LinearLayoutManager(FileChooserActivity.getInstance());
82-
rvLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
83-
mainFileListRecyclerView.setLayoutManager(rvLayoutManager);
84-
rvAdapter = new DisplayAdapters.FileListAdapter(fileItemBasePathsList);
85-
mainFileListRecyclerView.setAdapter(rvAdapter);
86-
recyclerViewAdapterInit = true;
95+
initializeRecyclerViewLayout(mainFileListRecyclerView);
8796
}
8897
DisplayFragments.FolderNavigationFragment.dirsOneBackText.setText("----");
8998
DisplayFragments.FolderNavigationFragment.dirsTwoBackText.setText("----");
@@ -121,13 +130,6 @@ public FileListItemFragment(DisplayTypes.FileType fileItem, int displayPosition)
121130
resetLayout(fileItem, displayPositionIndex);
122131
}
123132

124-
public static void configureStaticInstanceMembers(View mainContainerLayout) {
125-
RecyclerView recyclerViewDisplay = (RecyclerView) FileChooserActivity.getInstance().findViewById(R.id.mainRecyclerViewContainer);
126-
mainFileListRecyclerView = recyclerViewDisplay;
127-
rvLayoutManager = new LinearLayoutManager(FileChooserActivity.getInstance());
128-
recyclerViewDisplay.setLayoutManager(rvLayoutManager);
129-
}
130-
131133
public void resetLayout(DisplayTypes.FileType fileItem, int displayPosition) {
132134
displayPositionIndex = displayPosition;
133135
ImageView fileTypeIcon = layoutContainer.findViewById(R.id.fileTypeIcon);

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/FileChooserActivity.java

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ This program (the AndroidFilePickerLight library) is free software written by
2020
import android.app.Activity;
2121
import android.content.Intent;
2222
import android.content.pm.ActivityInfo;
23+
import android.graphics.drawable.GradientDrawable;
2324
import android.os.Bundle;
2425
import android.os.Handler;
2526
import android.view.View;
@@ -41,14 +42,14 @@ This program (the AndroidFilePickerLight library) is free software written by
4142

4243
import pub.devrel.easypermissions.AfterPermissionGranted;
4344
import pub.devrel.easypermissions.AppSettingsDialog;
44-
import pub.devrel.easypermissions.BuildConfig;
45+
import com.maxieds.androidfilepickerlightlibrary.BuildConfig;
4546
import pub.devrel.easypermissions.EasyPermissions;
4647

4748
public class FileChooserActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks {
4849

4950
private static String LOGTAG = FileChooserActivity.class.getSimpleName();
5051

51-
public static FileChooserActivity staticRunningInst = null;
52+
private static FileChooserActivity staticRunningInst = null;
5253
public static FileChooserActivity getInstance() { return staticRunningInst; }
5354

5455
public static Stack<FileChooserBuilder> activityBuilderLaunchedRefs = new Stack<FileChooserBuilder>();
@@ -93,6 +94,7 @@ public void onCreate(Bundle lastSettingsBundle) {
9394

9495
setTheme(R.style.LibraryDefaultTheme);
9596
setContentView(R.layout.main_picker_activity_base_layout);
97+
configureInitialMainLayout(fpConfig);
9698

9799
// Keep the app from crashing when the screen rotates:
98100
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
@@ -124,7 +126,7 @@ public void run() {
124126
Runnable execDelayedFileProviderInitRunner = new Runnable() {
125127
@Override
126128
public void run() {
127-
configureInitialMainLayout(fpConfig);
129+
//configureInitialMainLayout(fpCfgConst);
128130
BasicFileProvider.getInstance().selectBaseDirectoryByType(fpConfig.getInitialBaseFolder());
129131
}
130132
};
@@ -136,12 +138,31 @@ private void configureInitialMainLayout(FileChooserBuilder fpConfig) {
136138

137139
/* Setup the toolbar first: */
138140
Toolbar actionBar = (Toolbar) findViewById(R.id.mainLayoutToolbarActionBar);
139-
actionBar.setTitle(String.format(Locale.getDefault(), "%s | v%s", getString(R.string.libraryName), String.valueOf(BuildConfig.VERSION_NAME)));
140-
actionBar.setSubtitle(getString(R.string.filePickerTitleText));
141+
actionBar.setTitle(String.format(Locale.getDefault(), " %s | v%s", getString(R.string.libraryName), String.valueOf(BuildConfig.VERSION_NAME)));
142+
actionBar.setSubtitle(String.format(Locale.getDefault(), " ⇤%s⇥", getString(R.string.filePickerTitleText)));
143+
actionBar.setTitleTextColor(getColor(R.color.colorMainToolbarForegroundText));
144+
actionBar.setSubtitleTextColor(getColor(R.color.colorMainToolbarForegroundText));
145+
actionBar.setTitleMargin(0, 5, 5, 5);
146+
actionBar.setPadding(5, 8, 5, 6);
147+
actionBar.setElevation(1.25f);
148+
GradientDrawable chooserToolbarGradientBg = new GradientDrawableFactory.Builder()
149+
.setGradientAngle(64.0f)
150+
.setGradientType(GradientDrawableFactory.GradientMethodSpec.GRADIENT_METHOD_LINEAR)
151+
.setFillStyle(GradientDrawableFactory.GradientTypeSpec.GRADIENT_FILL_TYPE_LEFT_RIGHT)
152+
.setBorderColor(getColor(R.color.__colorTransparent))
153+
.setBorderStyle(GradientDrawableFactory.BorderStyleSpec.BORDER_STYLE_NONE)
154+
.setColorsArray(new int[] {
155+
GradientDrawableFactory.resolveColorFromAttribute(R.attr.mainToolbarBackgroundColor),
156+
GradientDrawableFactory.resolveColorFromAttribute(R.attr.mainToolbarBackgroundColor2),
157+
GradientDrawableFactory.resolveColorFromAttribute(R.attr.mainToolbarBackgroundColor3),
158+
GradientDrawableFactory.resolveColorFromAttribute(R.attr.mainToolbarBackgroundColor4),
159+
})
160+
.make();
161+
actionBar.setBackgroundDrawable(chooserToolbarGradientBg);
162+
actionBar.setLogo(getDrawable(R.drawable.file_chooser_default_toolbar_icon48));
141163
getWindow().setTitleColor(getColorVariantFromTheme(R.attr.mainToolbarBackgroundColor));
142164
getWindow().setStatusBarColor(getColorVariantFromTheme(R.attr.colorPrimaryDark));
143165
getWindow().setNavigationBarColor(getColorVariantFromTheme(R.attr.colorPrimaryDark));
144-
//setSupportActionBar(actionBar);
145166

146167
/* Initialize the next level of nav for the default folder paths selection buttons: */
147168
List<FileChooserBuilder.DefaultNavFoldersType> defaultDirNavFolders = fpConfig.getNavigationFoldersList();
@@ -203,16 +224,16 @@ public void onClick(View btnView) {
203224
* empty, this action is handled the same way as a cancel button press by the user.
204225
*/
205226
LinearLayout dirHistoryNavContainer = (LinearLayout) findViewById(R.id.mainDirPrevPathsNavContainer);
206-
dirHistoryNavContainer.setBackground(GradientDrawableFactory.generateNamedGradientType(
207-
GradientDrawableFactory.BorderStyleSpec.BORDER_STYLE_DASHED_SHORT,
227+
dirHistoryNavContainer.setBackgroundDrawable(GradientDrawableFactory.generateNamedGradientType(
228+
GradientDrawableFactory.BorderStyleSpec.BORDER_STYLE_NONE,
208229
GradientDrawableFactory.NamedGradientColorThemes.NAMED_COLOR_SCHEME_STEEL_BLUE
209230
)
210231
);
211232
DisplayFragments.mainFolderNavFragment = DisplayFragments.FolderNavigationFragment.createNewFolderNavFragment(dirHistoryNavContainer);
212233

213234
/* Setup some theme related styling on the main file list container: */
214235
RecyclerView mainFileListContainer = findViewById(R.id.mainRecyclerViewContainer);
215-
mainFileListContainer.setBackground(GradientDrawableFactory.generateNamedGradientType(
236+
mainFileListContainer.setBackgroundDrawable(GradientDrawableFactory.generateNamedGradientType(
216237
GradientDrawableFactory.GradientMethodSpec.GRADIENT_METHOD_LINEAR,
217238
GradientDrawableFactory.GradientTypeSpec.GRADIENT_FILL_TYPE_BL_TR,
218239
GradientDrawableFactory.BorderStyleSpec.BORDER_STYLE_NONE,
@@ -225,7 +246,7 @@ public void onClick(View btnView) {
225246
}
226247
)
227248
);
228-
DisplayFragments.FileListItemFragment.configureStaticInstanceMembers(mainFileListContainer);
249+
DisplayFragments.initializeRecyclerViewLayout(mainFileListContainer);
229250
DisplayFragments.initiateNewFolderLoad(fpConfig.getInitialBaseFolder());
230251

231252
}

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/FileChooserBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ public int getFileSelectionModeMask(SelectionModeType selectMode) {
215215
private FileFilter.FileItemsListSortFunc customSortFunc;
216216

217217
public static final long NO_ABORT_TIMEOUT = -1;
218+
public static final long DEFAULT_TIMEOUT = 100 * 1000;
218219
public static final int DEFAULT_MAX_SELECTED_FILES = 10;
219220

220221
public FileChooserBuilder(Activity activityContextInst) {
@@ -229,7 +230,7 @@ public FileChooserBuilder(Activity activityContextInst) {
229230
initFolderBasePathType = BaseFolderPathType.getInstanceByName(BaseFolderPathType.BASE_PATH_TYPE_FILES_DIR);
230231
pathSelectMode = SelectionModeType.SELECT_OMNIVORE;
231232
externalFilesProvider = null;
232-
idleTimeoutMillis = NO_ABORT_TIMEOUT;
233+
idleTimeoutMillis = DEFAULT_TIMEOUT;
233234
localFileFilter = null;
234235
}
235236

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/GradientDrawableFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ else if(borderStyleSpec == BorderStyleSpec.BORDER_STYLE_DASHED_LONG)
171171
gradientDrawObj.setStroke(borderWidth, borderColor, 25, 10);
172172
else if(borderStyleSpec == BorderStyleSpec.BORDER_STYLE_DASHED_SHORT)
173173
gradientDrawObj.setStroke(borderWidth, borderColor, 4, 10);
174-
gradientDrawObj.setUseLevel(true);
174+
//gradientDrawObj.setUseLevel(true);
175175
return gradientDrawObj;
176176
}
177177

@@ -325,7 +325,7 @@ public Builder setBorderStyle(BorderStyleSpec bdrStyle) {
325325
return this;
326326
}
327327

328-
public Builder setFileStyle(GradientTypeSpec gradFillStyle) {
328+
public Builder setFillStyle(GradientTypeSpec gradFillStyle) {
329329
gradientFillStyle = gradFillStyle;
330330
return this;
331331
}

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/ThemesConfigInterface.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,7 @@ public static ThemesConfigInterface getDefaultsInstance() {
3434
// the GradientDrawableFactory.Builder class ...
3535
// setup / configure the stock directory path nav btn icons
3636
// reset the default file type and directory folder display icons
37+
// toolbar bgcolors (0-3)
38+
// toolbar icon
3739

3840
}
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

AndroidFilePickerLightLibrary/src/main/res/drawable/progress_bar_background.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@
2525
android:startColor="#3F51B5"
2626
android:centerColor="#477C9C"
2727
android:endColor="#03A9F4"
28-
android:angle="45"/>
28+
android:angle="32"/>
2929

3030
<corners
31-
android:radius="10dp"
31+
android:radius="6dp"
3232
/>
3333

3434
<padding
35-
android:left="10dp"
36-
android:top="10dp"
37-
android:right="10dp"
38-
android:bottom="10dp"
35+
android:left="2dp"
36+
android:top="2dp"
37+
android:right="2dp"
38+
android:bottom="2dp"
3939
/>
4040

41-
<stroke android:width="6dp" android:color="#3F51B5"/>
41+
<stroke android:width="2dp" android:color="#3F51B5"/>
4242

4343
</shape>
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)