diff --git a/app/build.gradle b/app/build.gradle index 3e820592a..ce09c0b61 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -114,7 +114,7 @@ dependencies { exclude group: 'commons-logging', module: 'commons-logging' } - implementation("com.github.nextcloud:android-library:2.22.2") { + implementation("com.github.nextcloud:android-library:4596e80dec") { exclude group: 'org.ogce', module: 'xpp3' } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java index f972c7bcf..5ea7c6134 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java @@ -20,11 +20,11 @@ import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.appcompat.widget.AppCompatImageView; import androidx.recyclerview.selection.ItemDetailsLookup; import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.chip.Chip; +import com.google.android.material.progressindicator.CircularProgressIndicator; import com.nextcloud.android.common.core.utils.DateFormatter; import com.nextcloud.android.common.ui.theme.utils.ColorRole; @@ -66,12 +66,12 @@ protected void bindModified(@NonNull TextView noteModified, @Nullable Calendar m } } - protected void bindStatus(AppCompatImageView noteStatus, DBStatus status, int color) { - noteStatus.setVisibility(DBStatus.VOID.equals(status) ? INVISIBLE : VISIBLE); + protected void bindStatus(CircularProgressIndicator noteSyncStatus, DBStatus status, int color) { + noteSyncStatus.setVisibility(DBStatus.VOID.equals(status) ? INVISIBLE : VISIBLE); - final var context = noteStatus.getContext(); + final var context = noteSyncStatus.getContext(); final var util = BrandingUtil.of(color, context); - util.platform.tintDrawable(context, noteStatus.getDrawable(), ColorRole.ON_PRIMARY_CONTAINER); + util.material.colorProgressBar(noteSyncStatus, ColorRole.PRIMARY); } protected void bindCategory(@NonNull Context context, @NonNull TextView noteCategory, boolean showCategory, @NonNull String category, int color) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java index 638a2c7bb..dea52f6be 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java @@ -50,7 +50,7 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, @ super.bind(isSelected, note, showCategory, color, searchQuery); @NonNull final Context context = itemView.getContext(); bindCategory(context, binding.noteCategory, showCategory, note.getCategory(), color); - bindStatus(binding.noteStatus, note.getStatus(), color); + bindStatus(binding.noteSyncStatus, note.getStatus(), color); bindFavorite(binding.noteFavorite, note.getFavorite()); bindModified(binding.noteModified, note.getModified()); bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java index b3a0ca67e..eb65fadbc 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java @@ -42,7 +42,7 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, i super.bind(isSelected, note, showCategory, color, searchQuery); @NonNull final Context context = itemView.getContext(); bindCategory(context, binding.noteCategory, showCategory, note.getCategory(), color); - bindStatus(binding.noteStatus, note.getStatus(), color); + bindStatus(binding.noteSyncStatus, note.getStatus(), color); bindFavorite(binding.noteFavorite, note.getFavorite()); bindModified(binding.noteModified, note.getModified()); bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewListHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewListHolder.java index 087ee4739..08bf2c847 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewListHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewListHolder.java @@ -57,7 +57,7 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, @ @NonNull final var context = itemView.getContext(); binding.noteCard.setAlpha(DBStatus.LOCAL_DELETED.equals(note.getStatus()) ? 0.5f : 1.0f); bindCategory(context, binding.noteCategory, showCategory, note.getCategory(), color); - bindStatus(binding.noteStatus, note.getStatus(), color); + bindStatus(binding.noteSyncStatus, note.getStatus(), color); bindFavorite(binding.noteFavorite, note.getFavorite()); bindModified(binding.noteModified, note.getModified()); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java index bca385faf..6209657eb 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java @@ -20,6 +20,7 @@ import androidx.lifecycle.ViewModelProvider; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.nextcloud.android.common.ui.theme.utils.ColorRole; import com.nextcloud.android.sso.AccountImporter; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; @@ -149,7 +150,7 @@ private void changeAccountSetting(@NonNull Account localAccount, @StringRes int mainColor$.removeObservers(this); final var util = BrandingUtil.of(color, this); util.material.colorTextInputLayout(binding.inputWrapper); - util.material.colorProgressBar(binding.progress); + util.material.colorProgressBar(binding.progress, ColorRole.PRIMARY); }); binding.inputWrapper.setHint(title); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java index 153d92e2e..b5fb2d543 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java @@ -164,7 +164,6 @@ private void initializeArguments() { repository.getSharesForNotesAndSaveShareEntities(); runOnUiThread(() -> { - binding.title.setText(R.string.activity_sharing_title); binding.fileName.setText(note.getTitle()); binding.searchContainer.setVisibility(View.VISIBLE); binding.sharesList.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareDetailActivity.kt b/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareDetailActivity.kt index 1cf9ec2e9..532d2edd0 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareDetailActivity.kt +++ b/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareDetailActivity.kt @@ -12,6 +12,7 @@ import android.os.Bundle import android.text.TextUtils import android.view.View import androidx.lifecycle.lifecycleScope +import com.nextcloud.android.common.ui.theme.utils.ColorRole import com.nextcloud.android.sso.helper.SingleAccountHelper import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.shares.OCShare @@ -46,7 +47,8 @@ import java.util.Date * 2. This will handle both Advanced Permissions and Send New Email functionality for existing shares to modify them. */ @Suppress("TooManyFunctions") -class NoteShareDetailActivity : BrandedActivity(), +class NoteShareDetailActivity : + BrandedActivity(), ExpirationDatePickerDialogFragment.OnExpiryDateListener { companion object { @@ -86,6 +88,8 @@ class NoteShareDetailActivity : BrandedActivity(), binding = ActivityNoteShareDetailBinding.inflate(layoutInflater) setContentView(binding.root) + setSupportActionBar(binding.toolbar) + binding.toolbar.setNavigationOnClickListener({ v -> backPressed() }) val arguments = intent.extras arguments?.let { @@ -122,6 +126,9 @@ class NoteShareDetailActivity : BrandedActivity(), } } + private fun backPressed() { + finish() + } override fun applyBrand(color: Int) { val util = BrandingUtil.of(color, this) @@ -136,6 +143,8 @@ class NoteShareDetailActivity : BrandedActivity(), colorTextView(shareProcessAdvancePermissionTitle) themeCheckbox(shareProcessAllowResharingCheckbox) + + colorTextView(title, ColorRole.ON_SURFACE) } util.androidx.run { @@ -152,6 +161,8 @@ class NoteShareDetailActivity : BrandedActivity(), colorMaterialButtonPrimaryFilled(shareProcessBtnNext) colorMaterialButtonPrimaryOutlined(shareProcessBtnCancel) + + themeToolbar(toolbar) } } util.platform.colorViewBackground(window.decorView) @@ -192,6 +203,9 @@ class NoteShareDetailActivity : BrandedActivity(), } else { binding.shareProcessSetExpDateSwitch.visibility = View.GONE } + + binding.noteText.setText(share?.note) + shareProcessStep = SCREEN_TYPE_PERMISSION } @@ -448,12 +462,9 @@ class NoteShareDetailActivity : BrandedActivity(), } } - - private fun getReSharePermission(): Int { - return SharePermissionsBuilder().apply { - setSharePermission(true) - }.build() - } + private fun getReSharePermission(): Int = SharePermissionsBuilder().apply { + setSharePermission(true) + }.build() /** * method to validate the step 1 screen information diff --git a/app/src/main/res/drawable/file_calendar.xml b/app/src/main/res/drawable/file_calendar.xml index 2fdb050e8..094fbd878 100644 --- a/app/src/main/res/drawable/file_calendar.xml +++ b/app/src/main/res/drawable/file_calendar.xml @@ -1,16 +1,16 @@ + android:viewportWidth="960" + android:viewportHeight="960"> + android:fillColor="@android:color/white" + android:pathData="M320,560Q303,560 291.5,548.5Q280,537 280,520Q280,503 291.5,491.5Q303,480 320,480Q337,480 348.5,491.5Q360,503 360,520Q360,537 348.5,548.5Q337,560 320,560ZM480,560Q463,560 451.5,548.5Q440,537 440,520Q440,503 451.5,491.5Q463,480 480,480Q497,480 508.5,491.5Q520,503 520,520Q520,537 508.5,548.5Q497,560 480,560ZM640,560Q623,560 611.5,548.5Q600,537 600,520Q600,503 611.5,491.5Q623,480 640,480Q657,480 668.5,491.5Q680,503 680,520Q680,537 668.5,548.5Q657,560 640,560ZM200,880Q167,880 143.5,856.5Q120,833 120,800L120,240Q120,207 143.5,183.5Q167,160 200,160L240,160L240,80L320,80L320,160L640,160L640,80L720,80L720,160L760,160Q793,160 816.5,183.5Q840,207 840,240L840,800Q840,833 816.5,856.5Q793,880 760,880L200,880ZM200,800L760,800Q760,800 760,800Q760,800 760,800L760,400L200,400L200,800Q200,800 200,800Q200,800 200,800ZM200,320L760,320L760,240Q760,240 760,240Q760,240 760,240L200,240Q200,240 200,240Q200,240 200,240L200,320ZM200,320L200,240Q200,240 200,240Q200,240 200,240L200,240Q200,240 200,240Q200,240 200,240L200,320Z" /> diff --git a/app/src/main/res/drawable/ic_close_24px.xml b/app/src/main/res/drawable/ic_close_24px.xml new file mode 100644 index 000000000..e5758814d --- /dev/null +++ b/app/src/main/res/drawable/ic_close_24px.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/drawable/ic_sync_blue_18dp.xml b/app/src/main/res/drawable/ic_sync_blue_18dp.xml deleted file mode 100644 index 5bb3ada2e..000000000 --- a/app/src/main/res/drawable/ic_sync_blue_18dp.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/activity_note_share.xml b/app/src/main/res/layout/activity_note_share.xml index 525fb7a9a..ffeb8cf6b 100644 --- a/app/src/main/res/layout/activity_note_share.xml +++ b/app/src/main/res/layout/activity_note_share.xml @@ -59,9 +59,9 @@ android:layout_height="wrap_content" android:ellipsize="end" android:lines="1" + android:text="@string/activity_sharing_title" android:textColor="@color/fontAppbar" - android:textSize="18sp" - tools:text="Share Note" /> + android:textSize="18sp" /> + android:focusableInTouchMode="true"> + + + + + + + app:layout_constraintTop_toBottomOf="@id/toolbar"> + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacer_2x" + android:orientation="horizontal" + android:weightSum="1.0"> + app:cornerRadius="@dimen/button_corner_radius" /> + android:layout_height="?android:attr/actionBarSize" /> diff --git a/app/src/main/res/layout/item_notes_list_note_item_grid.xml b/app/src/main/res/layout/item_notes_list_note_item_grid.xml index f7884c32b..bb6ca6e8e 100644 --- a/app/src/main/res/layout/item_notes_list_note_item_grid.xml +++ b/app/src/main/res/layout/item_notes_list_note_item_grid.xml @@ -75,15 +75,15 @@ android:paddingEnd="@dimen/spacer_list_card" android:src="@drawable/ic_checkbox_blank_outline" /> - + android:layout_marginStart="16dp" + android:indeterminate="true" + app:indicatorInset="@dimen/zero" + app:indicatorSize="24dp" + app:trackThickness="3dp" /> - + android:layout_marginStart="16dp" + android:indeterminate="true" + app:indicatorInset="@dimen/zero" + app:indicatorSize="24dp" + app:trackThickness="3dp" /> - + android:layout_marginStart="10dp" + android:layout_marginTop="18dp" + android:indeterminate="true" + app:indicatorInset="@dimen/zero" + app:indicatorSize="28dp" + app:trackThickness="3dp" /> More Nextcloud Apps More Sharing + Sharing Details Share expires on %1$s Dismiss diff --git a/build.gradle b/build.gradle index e9fac5bd5..7142dd7f4 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ buildscript { kotlinVersion = '2.3.0' commonsVersion = '2.4.1' androidCommonsVersion = '1.1.1' - nextcloudAndroidCommonLib = "0.30.0" + nextcloudAndroidCommonLib = "0.31.0" singleSignOnVersion = "1.3.4" } repositories { diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 0da5444e7..cd9e22424 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -37,6 +37,8 @@ + + @@ -799,6 +801,16 @@ + + + + + + + + + + @@ -839,6 +851,14 @@ + + + + + + + + @@ -903,6 +923,11 @@ + + + + + @@ -943,6 +968,14 @@ + + + + + + + + @@ -1007,6 +1040,11 @@ + + + + + @@ -1047,6 +1085,14 @@ + + + + + + + + @@ -1111,6 +1157,11 @@ + + + + + @@ -1151,6 +1202,14 @@ + + + + + + + + @@ -1241,6 +1300,11 @@ + + + + + @@ -1281,6 +1345,14 @@ + + + + + + + + @@ -1384,6 +1456,11 @@ + + + + + @@ -1424,6 +1501,14 @@ + + + + + + + + @@ -1488,6 +1573,11 @@ + + + + + @@ -1508,6 +1598,14 @@ + + + + + + + + @@ -1540,6 +1638,24 @@ + + + + + + + + + + + + + + + + + + @@ -1580,6 +1696,14 @@ + + + + + + + + @@ -1644,6 +1768,11 @@ + + + + + @@ -1684,6 +1813,14 @@ + + + + + + + + @@ -1748,6 +1885,11 @@ + + + + + @@ -1788,6 +1930,14 @@ + + + + + + + + @@ -1852,6 +2002,11 @@ + + + + + @@ -1892,6 +2047,14 @@ + + + + + + + + @@ -1956,6 +2119,11 @@ + + + + + @@ -1996,6 +2164,14 @@ + + + + + + + + @@ -2060,6 +2236,11 @@ + + + + + @@ -2100,6 +2281,14 @@ + + + + + + + + @@ -2164,6 +2353,11 @@ + + + + + @@ -2204,6 +2398,14 @@ + + + + + + + + @@ -5112,6 +5314,14 @@ + + + + + + + + @@ -5184,6 +5394,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -12521,6 +12752,14 @@ + + + + + + + + @@ -12673,6 +12912,14 @@ + + + + + + + + @@ -12865,6 +13112,14 @@ + + + + + + + + @@ -13061,6 +13316,14 @@ + + + + + + + + @@ -17834,6 +18097,14 @@ + + + + + + + + @@ -18485,6 +18756,14 @@ + + + + + + + + @@ -18586,6 +18865,14 @@ + + + + + + + +