Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstefan-niedermann <info@niedermann.it>2019-10-20 01:30:26 +0300
committerstefan-niedermann <info@niedermann.it>2019-10-20 01:30:26 +0300
commit6291c3321558582cfd7a85db6749bcd2b9b773ec (patch)
tree538454dcf762bb67bccda80b8a5d8f9d62b3d0c4 /app/src/main
parent267b77cd8b0aed1118790d530866d5cf012b89c8 (diff)
Fill user object on create ACL
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlAdapter.java7
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java11
-rw-r--r--app/src/main/res/layout/item_access_control.xml26
3 files changed, 39 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlAdapter.java
index ca9fbec3d..c723a26a7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlAdapter.java
@@ -10,6 +10,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.appcompat.widget.AppCompatImageButton;
import androidx.appcompat.widget.SwitchCompat;
import androidx.recyclerview.widget.RecyclerView;
@@ -64,6 +65,8 @@ public class AccessControlAdapter extends RecyclerView.Adapter<AccessControlAdap
holder.username.setText(ac.getUser().getDisplayname());
holder.username.setCompoundDrawables(null, null, ac.getStatus() == DBStatus.LOCAL_EDITED.getId() ? holder.syncIcon : null, null);
+ // TODO remove from list when deleted
+ holder.deleteButton.setOnClickListener((v) -> accessControlChangedListener.deleteAccessControl(ac));
holder.switchEdit.setChecked(ac.isPermissionEdit());
holder.switchEdit.setOnCheckedChangeListener((buttonView, isChecked) -> {
@@ -97,6 +100,8 @@ public class AccessControlAdapter extends RecyclerView.Adapter<AccessControlAdap
ImageView avatar;
@BindView(R.id.username)
TextView username;
+ @BindView(R.id.delete)
+ AppCompatImageButton deleteButton;
@BindView(R.id.permission_edit)
SwitchCompat switchEdit;
@BindView(R.id.permission_manage)
@@ -112,5 +117,7 @@ public class AccessControlAdapter extends RecyclerView.Adapter<AccessControlAdap
public interface AccessControlChangedListener {
void updateAccessControl(AccessControl accessControl);
+
+ void deleteAccessControl(AccessControl ac);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java
index a63179169..c36a9b431 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java
@@ -5,6 +5,7 @@ import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
@@ -34,6 +35,7 @@ public class AccessControlDialogFragment extends DialogFragment implements
private long boardId;
private SyncManager syncManager;
private UserAutoCompleteAdapter userAutoCompleteAdapter;
+ private View view;
@BindView(R.id.peopleList)
RecyclerView peopleList;
@@ -71,6 +73,8 @@ public class AccessControlDialogFragment extends DialogFragment implements
});
}
+ this.view = view;
+
return dialogBuilder
.setView(view)
.setPositiveButton(R.string.simple_close, null)
@@ -94,12 +98,19 @@ public class AccessControlDialogFragment extends DialogFragment implements
}
@Override
+ public void deleteAccessControl(AccessControl ac) {
+ // TODO implement in syncManager!
+ Toast.makeText(getContext(), "Deleting user permisions is not yet supported.", Toast.LENGTH_LONG).show();
+ }
+
+ @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AccessControl ac = new AccessControl();
ac.setPermissionEdit(true);
ac.setBoardId(boardId);
ac.setType(0L); // https://github.com/nextcloud/deck/blob/master/docs/API.md#post-boardsboardidacl---add-new-acl-rule
ac.setUserId(userAutoCompleteAdapter.getItem(position).getLocalId());
+ ac.setUser(userAutoCompleteAdapter.getItem(position));
syncManager.createAccessControl(accountId, ac);
people.setText("");
}
diff --git a/app/src/main/res/layout/item_access_control.xml b/app/src/main/res/layout/item_access_control.xml
index c2f89f64a..0589b5d9e 100644
--- a/app/src/main/res/layout/item_access_control.xml
+++ b/app/src/main/res/layout/item_access_control.xml
@@ -21,15 +21,31 @@
android:layout_height="wrap_content"
android:orientation="vertical">
- <TextView
- android:id="@+id/username"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textSize="16sp"
android:layout_marginBottom="@dimen/standard_half_margin"
- tools:text="Username"
- tools:drawableEnd="@drawable/ic_sync_blue_24dp"/>
+ android:orientation="horizontal">
+ <TextView
+ android:id="@+id/username"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_gravity="center"
+ android:textSize="16sp"
+ tools:drawableEnd="@drawable/ic_sync_blue_24dp"
+ tools:text="Username" />
+
+ <androidx.appcompat.widget.AppCompatImageButton
+ android:id="@+id/delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="0dp"
+ android:layout_gravity="center"
+ android:background="?android:selectableItemBackground"
+ app:srcCompat="@drawable/ic_delete_black_24dp" />
+ </LinearLayout>
<com.google.android.flexbox.FlexboxLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"