Skip to content

Commit 67d617f

Browse files
committed
Sharing theming updated.
1 parent 28e324d commit 67d617f

13 files changed

+172
-37
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.nmc.android.utils
2+
3+
import android.content.res.ColorStateList
4+
import androidx.appcompat.widget.AppCompatCheckBox
5+
import androidx.appcompat.widget.SwitchCompat
6+
import androidx.core.graphics.drawable.DrawableCompat
7+
import androidx.core.widget.CompoundButtonCompat
8+
import com.owncloud.android.MainApp
9+
import com.owncloud.android.R
10+
11+
object CheckableThemeUtils {
12+
@JvmStatic
13+
fun tintCheckbox(vararg checkBoxes: AppCompatCheckBox) {
14+
for (checkBox in checkBoxes) {
15+
val checkEnabled = MainApp.getAppContext().resources.getColor(R.color.checkbox_checked_enabled)
16+
val checkDisabled = MainApp.getAppContext().resources.getColor(R.color.checkbox_checked_disabled)
17+
val uncheckEnabled = MainApp.getAppContext().resources.getColor(R.color.checkbox_unchecked_enabled)
18+
val uncheckDisabled = MainApp.getAppContext().resources.getColor(R.color.checkbox_unchecked_disabled)
19+
20+
val states = arrayOf(
21+
intArrayOf(android.R.attr.state_enabled, android.R.attr.state_checked),
22+
intArrayOf(-android.R.attr.state_enabled, android.R.attr.state_checked),
23+
intArrayOf(android.R.attr.state_enabled, -android.R.attr.state_checked),
24+
intArrayOf(-android.R.attr.state_enabled, -android.R.attr.state_checked)
25+
)
26+
val colors = intArrayOf(
27+
checkEnabled,
28+
checkDisabled,
29+
uncheckEnabled,
30+
uncheckDisabled
31+
)
32+
val checkColorStateList = ColorStateList(states, colors)
33+
CompoundButtonCompat.setButtonTintList(checkBox, checkColorStateList)
34+
}
35+
}
36+
37+
@JvmStatic
38+
@JvmOverloads
39+
fun tintSwitch(switchView: SwitchCompat, color: Int = 0, colorText: Boolean = false) {
40+
if (colorText) {
41+
switchView.setTextColor(color)
42+
}
43+
val thumbColorCheckedEnabled = MainApp.getAppContext().resources.getColor(R.color.switch_thumb_checked_enabled)
44+
val thumbColorUncheckedEnabled =
45+
MainApp.getAppContext().resources.getColor(R.color.switch_thumb_unchecked_enabled)
46+
val thumbColorCheckedDisabled =
47+
MainApp.getAppContext().resources.getColor(R.color.switch_thumb_checked_disabled)
48+
val thumbColorUncheckedDisabled =
49+
MainApp.getAppContext().resources.getColor(R.color.switch_thumb_unchecked_disabled)
50+
51+
val states = arrayOf(
52+
intArrayOf(android.R.attr.state_enabled, android.R.attr.state_checked),
53+
intArrayOf(-android.R.attr.state_enabled, android.R.attr.state_checked),
54+
intArrayOf(android.R.attr.state_enabled, -android.R.attr.state_checked),
55+
intArrayOf(-android.R.attr.state_enabled, -android.R.attr.state_checked)
56+
)
57+
val thumbColors = intArrayOf(
58+
thumbColorCheckedEnabled,
59+
thumbColorCheckedDisabled,
60+
thumbColorUncheckedEnabled,
61+
thumbColorUncheckedDisabled
62+
)
63+
val thumbColorStateList = ColorStateList(states, thumbColors)
64+
val trackColorCheckedEnabled = MainApp.getAppContext().resources.getColor(R.color.switch_track_checked_enabled)
65+
val trackColorUncheckedEnabled =
66+
MainApp.getAppContext().resources.getColor(R.color.switch_track_unchecked_enabled)
67+
val trackColorCheckedDisabled =
68+
MainApp.getAppContext().resources.getColor(R.color.switch_track_checked_disabled)
69+
val trackColorUncheckedDisabled =
70+
MainApp.getAppContext().resources.getColor(R.color.switch_track_unchecked_disabled)
71+
72+
val trackColors = intArrayOf(
73+
trackColorCheckedEnabled,
74+
trackColorCheckedDisabled,
75+
trackColorUncheckedEnabled,
76+
trackColorUncheckedDisabled
77+
)
78+
val trackColorStateList = ColorStateList(states, trackColors)
79+
80+
// setting the thumb color
81+
DrawableCompat.setTintList(switchView.thumbDrawable, thumbColorStateList)
82+
83+
// setting the track color
84+
DrawableCompat.setTintList(switchView.trackDrawable, trackColorStateList)
85+
}
86+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.nmc.android.utils
2+
3+
import android.content.Context
4+
import android.widget.ImageView
5+
import androidx.appcompat.widget.SearchView
6+
import com.owncloud.android.R
7+
8+
object SearchViewThemeUtils {
9+
fun themeSearchView(context: Context, searchView: SearchView) {
10+
val fontColor = context.resources.getColor(R.color.fontAppbar, null)
11+
val editText: SearchView.SearchAutoComplete = searchView.findViewById(R.id.search_src_text)
12+
editText.textSize = 16F
13+
editText.setTextColor(fontColor)
14+
editText.highlightColor = context.resources.getColor(R.color.search_et_highlight_color, null)
15+
editText.setHintTextColor(context.resources.getColor(R.color.fontSecondaryAppbar, null))
16+
val closeButton: ImageView = searchView.findViewById(R.id.search_close_btn)
17+
closeButton.setColorFilter(fontColor)
18+
val searchButton: ImageView = searchView.findViewById(R.id.search_button)
19+
searchButton.setImageResource(R.drawable.ic_search)
20+
searchButton.setColorFilter(fontColor)
21+
}
22+
}

app/src/main/java/com/owncloud/android/ui/adapter/LinkShareViewHolder.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ public void bind(OCShare publicShare, ShareeListAdapterListener listener) {
8282
}
8383
}
8484

85-
viewThemeUtils.platform.colorImageViewBackgroundAndIcon(binding.icon);
8685
}
8786

8887
String permissionName = SharingMenuHelper.getPermissionName(context, publicShare);

app/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import com.nextcloud.client.di.Injectable;
4444
import com.nextcloud.client.network.ClientFactory;
4545
import com.nextcloud.utils.EditorUtils;
46+
import com.nmc.android.utils.SearchViewThemeUtils;
4647
import com.owncloud.android.R;
4748
import com.owncloud.android.databinding.FileDetailsSharingFragmentBinding;
4849
import com.owncloud.android.datamodel.FileDataStorageManager;
@@ -222,8 +223,7 @@ private void setUpSearchView() {
222223
binding.searchView,
223224
fileActivity.getComponentName());
224225

225-
// TODO: 04/27/23 Customize it later with theming changes
226-
//ThemeToolbarUtils.themeSearchView(binding.searchView, requireContext());
226+
SearchViewThemeUtils.INSTANCE.themeSearchView(requireContext(), binding.searchView);
227227

228228
binding.searchView.setQueryHint(getResources().getString(R.string.share_search));
229229
binding.searchView.setVisibility(View.VISIBLE);

app/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingMenuBottomSheetDialog.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,6 @@ protected void onCreate(Bundle savedInstanceState) {
6262
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
6363
}
6464

65-
viewThemeUtils.platform.themeDialog(binding.getRoot());
66-
67-
viewThemeUtils.platform.colorImageView(binding.menuIconAddAnotherLink);
68-
viewThemeUtils.platform.colorImageView(binding.menuIconAdvancedPermissions);
69-
viewThemeUtils.platform.colorImageView(binding.menuIconSendLink);
70-
viewThemeUtils.platform.colorImageView(binding.menuIconUnshare);
71-
viewThemeUtils.platform.colorImageView(binding.menuIconSendNewEmail);
72-
7365
updateUI();
7466

7567
setupClickListener();

app/src/main/java/com/owncloud/android/ui/fragment/FileDetailsSharingProcessFragment.kt

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import android.view.ViewGroup
3232
import android.widget.RadioGroup
3333
import androidx.fragment.app.Fragment
3434
import com.nextcloud.client.di.Injectable
35+
import com.nmc.android.utils.CheckableThemeUtils
3536
import com.owncloud.android.R
3637
import com.owncloud.android.databinding.FileDetailsSharingProcessFragmentBinding
3738
import com.owncloud.android.datamodel.OCFile
@@ -218,7 +219,6 @@ class FileDetailsSharingProcessFragment :
218219
showShareProcessSecond()
219220
}
220221

221-
// ThemeCheckableUtils.tintSwitch(binding.shareProcessHideDownloadCheckbox, 0)
222222
binding.shareProcessPermissionRadioGroup.setOnCheckedChangeListener(this)
223223
implementClickEvents()
224224
binding.shareProcessHideDownloadCheckbox.setOnCheckedChangeListener { _, isChecked ->
@@ -240,19 +240,11 @@ class FileDetailsSharingProcessFragment :
240240
}
241241

242242
private fun themeView() {
243-
viewThemeUtils.platform.colorPrimaryTextViewElement(binding.shareProcessAdvancePermissionTitle)
244-
245-
viewThemeUtils.platform.themeRadioButton(binding.shareProcessPermissionReadOnly)
246-
viewThemeUtils.platform.themeRadioButton(binding.shareProcessPermissionUploadEditing)
247-
viewThemeUtils.platform.themeRadioButton(binding.shareProcessPermissionFileDrop)
248-
249-
viewThemeUtils.androidx.colorSwitchCompat(binding.shareProcessSetPasswordSwitch)
250-
viewThemeUtils.androidx.colorSwitchCompat(binding.shareProcessSetExpDateSwitch)
251-
viewThemeUtils.androidx.colorSwitchCompat(binding.shareProcessHideDownloadCheckbox)
252-
viewThemeUtils.androidx.colorSwitchCompat(binding.shareProcessChangeNameSwitch)
253-
254-
viewThemeUtils.material.colorMaterialButtonPrimaryFilled(binding.shareProcessBtnNext)
255-
viewThemeUtils.material.colorMaterialButtonPrimaryOutlined(binding.shareProcessBtnCancel)
243+
CheckableThemeUtils.tintSwitch(binding.shareProcessSetPasswordSwitch)
244+
CheckableThemeUtils.tintSwitch(binding.shareProcessSetExpDateSwitch)
245+
CheckableThemeUtils.tintSwitch(binding.shareProcessHideDownloadCheckbox)
246+
CheckableThemeUtils.tintSwitch(binding.shareProcessChangeNameSwitch)
247+
CheckableThemeUtils.tintSwitch(binding.shareProcessDownloadLimitSwitch)
256248
}
257249

258250
override fun onConfigurationChanged(newConfig: Configuration) {

app/src/main/java/com/owncloud/android/ui/fragment/QuickSharingPermissionsBottomSheetDialog.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ protected void onCreate(Bundle savedInstanceState) {
7676
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
7777
}
7878

79-
viewThemeUtils.platform.themeDialog(binding.getRoot());
80-
8179
setUpRecyclerView();
8280
setOnShowListener(d ->
8381
BottomSheetBehavior.from((View) binding.getRoot().getParent())

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

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
xmlns:tools="http://schemas.android.com/tools"
2525
android:layout_width="match_parent"
2626
android:layout_height="wrap_content"
27+
android:background="@color/bottom_sheet_bg_color"
2728
android:orientation="vertical"
2829
android:paddingTop="@dimen/standard_padding">
2930

@@ -63,7 +64,8 @@
6364
<LinearLayout
6465
android:id="@+id/menu_share_advanced_permissions"
6566
android:layout_width="match_parent"
66-
android:layout_height="@dimen/bottom_sheet_item_height"
67+
android:layout_height="wrap_content"
68+
android:minHeight="@dimen/minimum_size_for_touchable_area"
6769
android:background="?android:attr/selectableItemBackground"
6870
android:orientation="horizontal"
6971
android:paddingLeft="@dimen/standard_padding"
@@ -95,7 +97,8 @@
9597
<LinearLayout
9698
android:id="@+id/menu_share_send_new_email"
9799
android:layout_width="match_parent"
98-
android:layout_height="@dimen/bottom_sheet_item_height"
100+
android:layout_height="wrap_content"
101+
android:minHeight="@dimen/minimum_size_for_touchable_area"
99102
android:background="?android:attr/selectableItemBackground"
100103
android:orientation="horizontal"
101104
android:paddingLeft="@dimen/standard_padding"
@@ -127,7 +130,8 @@
127130
<LinearLayout
128131
android:id="@+id/menu_share_send_link"
129132
android:layout_width="match_parent"
130-
android:layout_height="@dimen/bottom_sheet_item_height"
133+
android:layout_height="wrap_content"
134+
android:minHeight="@dimen/minimum_size_for_touchable_area"
131135
android:background="?android:attr/selectableItemBackground"
132136
android:orientation="horizontal"
133137
android:paddingLeft="@dimen/standard_padding"
@@ -161,7 +165,8 @@
161165
<LinearLayout
162166
android:id="@+id/menu_share_unshare"
163167
android:layout_width="match_parent"
164-
android:layout_height="@dimen/bottom_sheet_item_height"
168+
android:layout_height="wrap_content"
169+
android:minHeight="@dimen/minimum_size_for_touchable_area"
165170
android:background="?android:attr/selectableItemBackground"
166171
android:orientation="horizontal"
167172
android:paddingLeft="@dimen/standard_padding"
@@ -193,7 +198,8 @@
193198
<LinearLayout
194199
android:id="@+id/menu_share_add_another_link"
195200
android:layout_width="match_parent"
196-
android:layout_height="@dimen/bottom_sheet_item_height"
201+
android:layout_height="wrap_content"
202+
android:minHeight="@dimen/minimum_size_for_touchable_area"
197203
android:background="?android:attr/selectableItemBackground"
198204
android:orientation="horizontal"
199205
android:paddingLeft="@dimen/standard_padding"

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
2222
xmlns:app="http://schemas.android.com/apk/res-auto"
2323
android:layout_width="match_parent"
24-
android:layout_height="@dimen/bottom_sheet_item_height"
25-
android:background="?android:attr/selectableItemBackground"
24+
android:layout_height="wrap_content"
2625
android:padding="@dimen/standard_padding">
2726

2827
<ImageView
@@ -43,7 +42,7 @@
4342
android:layout_gravity="center_vertical"
4443
android:layout_marginStart="@dimen/standard_margin"
4544
android:text="@string/link_share_read_only"
46-
android:textColor="@color/text_color"
45+
android:textColor="@color/bottom_sheet_txt_color"
4746
android:textSize="@dimen/bottom_sheet_text_size"
4847
app:layout_constraintBottom_toBottomOf="parent"
4948
app:layout_constraintEnd_toEndOf="parent"

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
xmlns:tools="http://schemas.android.com/tools"
2323
android:layout_width="match_parent"
2424
android:layout_height="wrap_content"
25+
android:background="@color/bottom_sheet_bg_color"
2526
android:paddingTop="@dimen/standard_padding"
2627
android:paddingBottom="@dimen/standard_padding"
2728
android:orientation="vertical">

0 commit comments

Comments
 (0)