Skip to content

Commit 8677a77

Browse files
committed
reflect onQuickPermissionChanges
Signed-off-by: alperozturk <[email protected]>
1 parent 3419042 commit 8677a77

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -432,11 +432,12 @@ public void refreshSharesFromDB() {
432432
return;
433433
}
434434

435-
adapter.getShares().clear();
435+
// clear adapter
436+
adapter.removeAll();
437+
shares.clear();
436438

437439
// to show share with users/groups info
438440
if (note != null) {
439-
440441
// get shares from local DB
441442
final var shareEntities = repository.getShareEntitiesForSpecificNote(note);
442443
shareEntities.forEach(entity -> {
@@ -649,9 +650,10 @@ private boolean getExpDateShown() {
649650
public void onQuickPermissionChanged(OCShare share, int permission) {
650651
executorService.submit(() -> {
651652
final var result = repository.updateSharePermission(share.getId(), permission);
652-
653653
runOnUiThread(() -> {
654-
if (result instanceof ApiResult.Error error) {
654+
if (ApiResultKt.isSuccess(result)) {
655+
NoteShareActivity.this.recreate();
656+
} else if (result instanceof ApiResult.Error error) {
655657
DisplayUtils.showSnackMessage(NoteShareActivity.this, error.getMessage());
656658
}
657659
});

app/src/main/java/it/niedermann/owncloud/notes/share/adapter/ShareeListAdapter.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public ShareeListAdapter(Activity activity,
4747
this.account = account;
4848

4949
sortShares();
50+
setHasStableIds(true);
5051
}
5152

5253
@Override
@@ -128,6 +129,10 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
128129

129130
@Override
130131
public long getItemId(int position) {
132+
if (position < 0 || position >= shares.size()) {
133+
return 0;
134+
}
135+
131136
return shares.get(position).getId();
132137
}
133138

@@ -156,6 +161,12 @@ public void remove(OCShare share) {
156161
notifyDataSetChanged();
157162
}
158163

164+
@SuppressLint("NotifyDataSetChanged")
165+
public void removeAll() {
166+
shares.clear();
167+
notifyDataSetChanged();
168+
}
169+
159170
/**
160171
* sort all by creation time, then email/link shares on top
161172
*/

0 commit comments

Comments
 (0)