Skip to content

Commit

Permalink
Customized theming related changes for grid and list views.
Browse files Browse the repository at this point in the history
  • Loading branch information
surinder-tsys committed Feb 14, 2024
1 parent f59caa7 commit 7fbb5ab
Show file tree
Hide file tree
Showing 28 changed files with 520 additions and 281 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,8 @@ class FileActionsBottomSheet : BottomSheetDialogFragment(), Injectable {
binding.thumbnailLayout.thumbnailShimmer,
syncedFolderProvider.preferences,
viewThemeUtils,
syncedFolderProvider
syncedFolderProvider,
false
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,6 @@ private static String getWebLoginUserAgent() {
@SuppressFBWarnings("ANDROID_WEB_VIEW_JAVASCRIPT")
@SuppressLint("SetJavaScriptEnabled")
private void initWebViewLogin(String baseURL, boolean useGenericUserAgent) {
viewThemeUtils.platform.colorCircularProgressBar(accountSetupWebviewBinding.loginWebviewProgressBar, ColorRole.ON_PRIMARY_CONTAINER);
accountSetupWebviewBinding.loginWebview.setVisibility(View.GONE);
new WebViewUtil(this).setProxyKKPlus(accountSetupWebviewBinding.loginWebview);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ class GalleryAdapter(
transferServiceGetter,
showMetadata = false,
showShareAvatar = false,
viewThemeUtils
viewThemeUtils,
true
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
if (isCheckedFile(file)) {
gridViewHolder.itemLayout.setBackgroundColor(ContextCompat.getColor(mContext, R.color.selected_item_background));

gridViewHolder.checkbox.setImageDrawable(
viewThemeUtils.platform.tintDrawable(mContext, R.drawable.ic_checkbox_marked, ColorRole.PRIMARY));
gridViewHolder.checkbox.setImageResource(R.drawable.ic_checkbox_marked);
} else {
gridViewHolder.itemLayout.setBackgroundColor(mContext.getResources().getColor(R.color.bg_default));
gridViewHolder.checkbox.setImageResource(R.drawable.ic_checkbox_blank_outline);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ public OCFileListAdapter(
.getVersion()
.isShareesOnDavSupported(),
viewThemeUtils,
false,
syncedFolderProvider);

setHasStableIds(true);
Expand Down Expand Up @@ -378,6 +379,8 @@ public boolean isEmpty() {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
switch (viewType) {
// change required for NMC
// default case will be used for VIEWTYPE_IMAGE & VIEWTYPE_ITEM also
default -> {
if (gridView) {
return new OCFileListGridItemViewHolder(
Expand All @@ -389,17 +392,6 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
);
}
}
case VIEWTYPE_IMAGE -> {
if (gridView) {
return new OCFileListGridImageViewHolder(
GridImageBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
);
} else {
return new OCFileListItemViewHolder(
ListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
);
}
}
case VIEWTYPE_FOOTER -> {
return new OCFileListFooterViewHolder(
ListFooterBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
Expand All @@ -423,7 +415,6 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (holder instanceof OCFileListFooterViewHolder footerViewHolder) {
footerViewHolder.getFooterText().setText(getFooterText());
viewThemeUtils.platform.colorCircularProgressBar(footerViewHolder.getLoadingProgressBar(), ColorRole.ON_SURFACE_VARIANT);
footerViewHolder.getLoadingProgressBar().setVisibility(
ocFileListFragmentInterface.isLoading() ? View.VISIBLE : View.GONE);
} else if (holder instanceof OCFileListHeaderViewHolder headerViewHolder) {
Expand Down Expand Up @@ -530,15 +521,10 @@ private void updateLivePhotoIndicators(ListGridImageViewHolder holder, OCFile fi
private void bindListGridItemViewHolder(ListGridItemViewHolder holder, OCFile file) {
holder.getFileName().setText(file.getDecryptedFileName());

boolean gridImage = MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file);
if (gridView && gridImage) {
if (gridView && ocFileListFragmentInterface.getColumnsCount() > showFilenameColumnThreshold) {
holder.getFileName().setVisibility(View.GONE);
} else {
if (gridView && ocFileListFragmentInterface.getColumnsCount() > showFilenameColumnThreshold) {
holder.getFileName().setVisibility(View.GONE);
} else {
holder.getFileName().setVisibility(View.VISIBLE);
}
holder.getFileName().setVisibility(View.VISIBLE);
}
}

Expand Down Expand Up @@ -708,7 +694,7 @@ public boolean shouldShowHeader() {
return false;
}

if (MainApp.isOnlyOnDevice()) {
if (MainApp.isOnlyOnDevice() || ocFileListFragmentInterface.isSearchFragment()) {
return false;
}

Expand Down Expand Up @@ -1098,6 +1084,7 @@ public void cancelAllPendingTasks() {

public void setGridView(boolean bool) {
gridView = bool;
ocFileListDelegate.setGridView(bool);
}

public void setShowMetadata(boolean bool) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,12 @@ class OCFileListDelegate(
private val storageManager: FileDataStorageManager,
private val hideItemOptions: Boolean,
private val preferences: AppPreferences,
private val gridView: Boolean,
private var gridView: Boolean,
private val transferServiceGetter: ComponentsGetter,
private val showMetadata: Boolean,
private var showShareAvatar: Boolean,
private var viewThemeUtils: ViewThemeUtils,
private val isMediaGallery: Boolean,
private val syncFolderProvider: SyncedFolderProvider? = null
) {
private val checkedFiles: MutableSet<OCFile> = HashSet()
Expand Down Expand Up @@ -224,7 +225,8 @@ class OCFileListDelegate(
gridViewHolder.shimmerThumbnail,
preferences,
viewThemeUtils,
syncFolderProvider
syncFolderProvider,
isMediaGallery
)

// item layout + click listeners
Expand All @@ -248,7 +250,8 @@ class OCFileListDelegate(

// shares
val shouldHideShare = (
hideItemOptions ||
gridView || // NMC: don't show share icon in grid mode
hideItemOptions ||
!file.isFolder &&
file.isEncrypted ||
file.isEncrypted &&
Expand Down Expand Up @@ -325,9 +328,8 @@ class OCFileListDelegate(

private fun setCheckBoxImage(file: OCFile, gridViewHolder: ListGridImageViewHolder) {
if (isCheckedFile(file)) {
gridViewHolder.checkbox.setImageDrawable(
viewThemeUtils.platform.tintDrawable(context, R.drawable.ic_checkbox_marked, ColorRole.PRIMARY)
)
// NMC Customization
gridViewHolder.checkbox.setImageResource(R.drawable.ic_checkbox_marked)
} else {
gridViewHolder.checkbox.setImageResource(R.drawable.ic_checkbox_blank_outline)
}
Expand Down Expand Up @@ -415,6 +417,10 @@ class OCFileListDelegate(
showShareAvatar = bool
}

fun setGridView(bool: Boolean){
gridView = bool
}

companion object {
private val TAG = OCFileListDelegate::class.java.simpleName
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ internal class OCFileListGridItemViewHolder(var binding: GridItemBinding) :
get() = null
override val livePhotoIndicatorSeparator: TextView?
get() = null
override val fileFeaturesLayout: LinearLayout
get() = binding.fileFeaturesLayout
override val fileFeaturesLayout: LinearLayout?
get() = null
override val more: ImageButton
get() = binding.more

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ public void onBindHeaderViewHolder(SectionedViewHolder holder, int section, bool
headerViewHolder.binding.uploadListTitle.setText(
String.format(parentActivity.getString(R.string.uploads_view_group_header),
group.getGroupName(), group.getGroupItemCount()));
viewThemeUtils.platform.colorPrimaryTextViewElement(headerViewHolder.binding.uploadListTitle);
//NMC Customization
headerViewHolder.binding.uploadListTitle.setTextColor(parentActivity.getResources().getColor(R.color.primary, null));

headerViewHolder.binding.uploadListTitle.setOnClickListener(v -> toggleSectionExpanded(section));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,8 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
null,
syncedFolderProvider.getPreferences(),
viewThemeUtils,
syncedFolderProvider);
syncedFolderProvider,
false);

View.OnClickListener checkBoxClickListener = v ->
positiveButton.setEnabled(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,6 @@ public interface OCFileListFragmentInterface {
boolean isLoading();

void onHeaderClicked();

boolean isSearchFragment();
}
Loading

0 comments on commit 7fbb5ab

Please sign in to comment.