Skip to content

Commit 8fe8c49

Browse files
alperozturk96backportbot[bot]
authored andcommitted
add note shared icon click
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 8237077 commit 8fe8c49

File tree

9 files changed

+58
-23
lines changed

9 files changed

+58
-23
lines changed

app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
import it.niedermann.owncloud.notes.persistence.CapabilitiesWorker;
114114
import it.niedermann.owncloud.notes.persistence.entity.Account;
115115
import it.niedermann.owncloud.notes.persistence.entity.Note;
116+
import it.niedermann.owncloud.notes.share.NoteShareActivity;
116117
import it.niedermann.owncloud.notes.shared.model.CategorySortingMethod;
117118
import it.niedermann.owncloud.notes.shared.model.IResponseCallback;
118119
import it.niedermann.owncloud.notes.shared.model.NavigationCategory;
@@ -913,6 +914,16 @@ public void onNoteFavoriteClick(int position, View view) {
913914
}});
914915
}
915916

917+
@Override
918+
public void openShare(int position) {
919+
if (adapter.getItem(position) instanceof Note note) {
920+
mainViewModel.getCurrentAccount().observe(this, (account) -> {
921+
final Intent intent = NoteShareActivity.getActivityStartIntent(note, account, this);
922+
startActivity(intent);
923+
});
924+
}
925+
}
926+
916927
private void updateToolbars(boolean enableSearch) {
917928
activityBinding.searchBar.searchBarWrapper.setVisibility(enableSearch ? GONE : VISIBLE);
918929
activityBinding.searchToolbar.setVisibility(enableSearch ? VISIBLE : GONE);

app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,7 @@ public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
166166
currentAccount$.removeObservers(lifecycleOwner);
167167
executor.submit(() -> {{
168168
final var note = mainViewModel.getFullNote(selection.get(0));
169-
Bundle bundle = new Bundle();
170-
bundle.putSerializable(NoteShareActivity.ARG_NOTE, note);
171-
bundle.putSerializable(NoteShareActivity.ARG_ACCOUNT, account);
172-
Intent intent = new Intent(mainActivity, NoteShareActivity.class);
173-
intent.putExtras(bundle);
169+
final Intent intent = NoteShareActivity.getActivityStartIntent(note, account, mainActivity);
174170
mainActivity.startActivity(intent);
175171
}});
176172
});

app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77
package it.niedermann.owncloud.notes.main.items;
88

9+
import static android.view.View.GONE;
910
import static android.view.View.INVISIBLE;
1011
import static android.view.View.VISIBLE;
1112
import static com.nextcloud.android.common.ui.util.PlatformThemeUtil.isDarkMode;
@@ -23,6 +24,7 @@
2324
import androidx.recyclerview.selection.ItemDetailsLookup;
2425
import androidx.recyclerview.widget.RecyclerView;
2526

27+
import com.google.android.material.button.MaterialButton;
2628
import com.google.android.material.chip.Chip;
2729
import com.google.android.material.progressindicator.CircularProgressIndicator;
2830
import com.nextcloud.android.common.core.utils.DateFormatter;
@@ -76,7 +78,7 @@ protected void bindStatus(CircularProgressIndicator noteSyncStatus, DBStatus sta
7678

7779
protected void bindCategory(@NonNull Context context, @NonNull TextView noteCategory, boolean showCategory, @NonNull String category, int color) {
7880
if (!showCategory || category.isEmpty()) {
79-
noteCategory.setVisibility(View.GONE);
81+
noteCategory.setVisibility(GONE);
8082
} else {
8183
noteCategory.setText(category);
8284

@@ -112,15 +114,16 @@ protected void bindSearchableContent(@NonNull Context context, @NonNull TextView
112114
}
113115
}
114116

115-
protected void bindNoteSharedIcon(@NonNull Context context, boolean shared, @NonNull ImageView noteShareIcon, int color) {
117+
protected void bindNoteSharedIcon(@NonNull Context context, boolean shared, @NonNull MaterialButton noteShareIcon, int color) {
116118
if (shared) {
117119
noteShareIcon.setVisibility(VISIBLE);
120+
noteShareIcon.setOnClickListener(view -> noteClickListener.openShare(getLayoutPosition()));
118121
} else {
119122
noteShareIcon.setVisibility(GONE);
120123
}
121124

122125
final var util = BrandingUtil.of(color, context);
123-
util.platform.colorImageView(noteShareIcon,ColorRole.PRIMARY);
126+
util.material.colorMaterialButtonContent(noteShareIcon, ColorRole.PRIMARY);
124127
}
125128

126129
public abstract void showSwipe(float dX);

app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,16 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap
106106
private ActivityResultLauncher<Intent> resultLauncher;
107107
private final List<OCShare> shares = Collections.synchronizedList(new ArrayList<>());
108108

109+
public static Intent getActivityStartIntent(@NonNull Note note, @NonNull Account account, @NonNull Activity activity) {
110+
Bundle bundle = new Bundle();
111+
bundle.putSerializable(NoteShareActivity.ARG_NOTE, note);
112+
bundle.putSerializable(NoteShareActivity.ARG_ACCOUNT, account);
113+
114+
Intent intent = new Intent(activity, NoteShareActivity.class);
115+
intent.putExtras(bundle);
116+
return intent;
117+
}
118+
109119
public void onCreate(@Nullable Bundle savedInstanceState) {
110120
super.onCreate(savedInstanceState);
111121

app/src/main/java/it/niedermann/owncloud/notes/shared/model/NoteClickListener.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public interface NoteClickListener {
1212
void onNoteClick(int position, View v);
1313

1414
void onNoteFavoriteClick(int position, View v);
15+
16+
void openShare(int position);
1517
}

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,20 @@
125125
android:layout_marginEnd="@dimen/spacer_2x"
126126
tools:text="27.11." />
127127

128-
<ImageView
128+
<com.google.android.material.button.MaterialButton
129129
android:id="@+id/noteShared"
130+
style="@style/Widget.Material3.Button.IconButton"
130131
android:layout_width="@dimen/note_shared_icon_size"
131132
android:layout_height="@dimen/note_shared_icon_size"
132-
android:layout_gravity="end"
133+
android:layout_marginEnd="@dimen/spacer_2x"
133134
android:contentDescription="@string/menu_shared_note"
134135
android:visibility="gone"
135-
app:srcCompat="@drawable/ic_share_white_24dp"
136-
android:layout_marginEnd="@dimen/spacer_2x"
137-
app:tint="@color/defaultBrand"
136+
android:layout_gravity="end"
137+
app:backgroundTint="@android:color/transparent"
138+
app:icon="@drawable/ic_share_white_24dp"
139+
app:iconGravity="textStart"
140+
app:iconSize="@dimen/note_shared_icon_size"
141+
app:iconTint="@color/defaultBrand"
138142
tools:visibility="visible" />
139143

140144
</LinearLayout>

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,20 @@
114114
android:layout_marginEnd="@dimen/spacer_2x"
115115
tools:text="27.11." />
116116

117-
<ImageView
117+
<com.google.android.material.button.MaterialButton
118118
android:id="@+id/noteShared"
119+
style="@style/Widget.Material3.Button.IconButton"
119120
android:layout_width="@dimen/note_shared_icon_size"
120121
android:layout_height="@dimen/note_shared_icon_size"
121-
android:layout_gravity="end"
122+
android:layout_marginEnd="@dimen/spacer_2x"
122123
android:contentDescription="@string/menu_shared_note"
123124
android:visibility="gone"
124-
app:srcCompat="@drawable/ic_share_white_24dp"
125-
android:layout_marginEnd="@dimen/spacer_2x"
126-
app:tint="@color/defaultBrand"
125+
android:layout_gravity="end"
126+
app:backgroundTint="@android:color/transparent"
127+
app:icon="@drawable/ic_share_white_24dp"
128+
app:iconGravity="textStart"
129+
app:iconSize="@dimen/note_shared_icon_size"
130+
app:iconTint="@color/defaultBrand"
127131
tools:visibility="visible" />
128132

129133
</LinearLayout>

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,21 @@
168168
tools:maxLength="15"
169169
tools:text="@tools:sample/lorem/random" />
170170

171-
<ImageView
171+
<com.google.android.material.button.MaterialButton
172172
android:id="@+id/noteShared"
173-
android:layout_marginStart="@dimen/spacer_1x"
173+
style="@style/Widget.Material3.Button.IconButton"
174174
android:layout_width="@dimen/note_shared_icon_size"
175175
android:layout_height="@dimen/note_shared_icon_size"
176+
android:layout_marginStart="@dimen/spacer_1x"
176177
android:contentDescription="@string/menu_shared_note"
177178
android:visibility="gone"
178-
app:srcCompat="@drawable/ic_share_white_24dp"
179-
app:tint="@color/defaultBrand"
179+
app:backgroundTint="@android:color/transparent"
180+
app:icon="@drawable/ic_share_white_24dp"
181+
app:iconGravity="textStart"
182+
app:iconSize="@dimen/note_shared_icon_size"
183+
app:iconTint="@color/defaultBrand"
180184
tools:visibility="visible" />
185+
181186
</LinearLayout>
182187
</LinearLayout>
183188

app/src/main/res/values/dimens.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<dimen name="button_extra_width">180dp</dimen>
2727
<dimen name="bottom_navigation_view_margin">100dp</dimen>
2828

29-
<dimen name="note_shared_icon_size">16dp</dimen>
29+
<dimen name="note_shared_icon_size">18dp</dimen>
3030

3131
<dimen name="avatar_size">40dp</dimen>
3232
<dimen name="user_status_icon_size">16dp</dimen>

0 commit comments

Comments
 (0)