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

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-06-16 10:53:42 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2020-06-16 11:01:55 +0300
commit7a2909629220c4b18842e59d8da12168f1c1d5ce (patch)
treea21a20522a431c74b9943f5d1408fe6d31080421
parent8519a8264d3f349e2c85d1687ac4ec4e576be392 (diff)
Enhance account switchers
Display username and host in separate lines
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java3
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherViewHolder.java3
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/fragment/AccountChooserAdapter.java38
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/fragment/MoveAccountDialogFragment.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java3
-rw-r--r--app/src/main/res/layout/dialog_account_switcher.xml35
-rw-r--r--app/src/main/res/layout/item_account_choose.xml33
-rw-r--r--app/src/main/res/values/dimens.xml2
8 files changed, 70 insertions, 49 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java
index 249d2c3d..78f20984 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java
@@ -61,7 +61,8 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
binding = DialogAccountSwitcherBinding.inflate(requireActivity().getLayoutInflater());
LocalAccount currentLocalAccount = db.getAccount(currentAccountId);
- binding.accountItemLabel.setText(currentLocalAccount.getAccountName());
+ binding.accountName.setText(currentLocalAccount.getUserName());
+ binding.accountHost.setText(Uri.parse(currentLocalAccount.getUrl()).getHost());
Glide.with(requireContext())
.load(currentLocalAccount.getUrl() + "/index.php/avatar/" + Uri.encode(currentLocalAccount.getUserName()) + "/64")
.error(R.drawable.ic_account_circle_grey_24dp)
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherViewHolder.java
index 7093e651..0b7c17a0 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherViewHolder.java
@@ -24,7 +24,8 @@ public class AccountSwitcherViewHolder extends RecyclerView.ViewHolder {
}
public void bind(@NonNull LocalAccount localAccount, @NonNull Consumer<LocalAccount> onAccountClick) {
- binding.accountItemLabel.setText(localAccount.getAccountName());
+ binding.accountName.setText(localAccount.getUserName());
+ binding.accountHost.setText(Uri.parse(localAccount.getUrl()).getHost());
Glide.with(itemView.getContext())
.load(localAccount.getUrl() + "/index.php/avatar/" + Uri.encode(localAccount.getUserName()) + "/64")
.error(R.drawable.ic_account_circle_grey_24dp)
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/AccountChooserAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/AccountChooserAdapter.java
index e071d318..bf7e3b0e 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/AccountChooserAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/AccountChooserAdapter.java
@@ -29,14 +29,11 @@ public class AccountChooserAdapter extends RecyclerView.Adapter<AccountChooserVi
private final List<LocalAccount> localAccounts;
@NonNull
private final MoveAccountListener moveAccountListener;
- @NonNull
- private final Context context;
- AccountChooserAdapter(@NonNull List<LocalAccount> localAccounts, @NonNull MoveAccountListener moveAccountListener, @NonNull Context context) {
+ AccountChooserAdapter(@NonNull List<LocalAccount> localAccounts, @NonNull MoveAccountListener moveAccountListener) {
super();
this.localAccounts = localAccounts;
this.moveAccountListener = moveAccountListener;
- this.context = context;
}
@NonNull
@@ -48,17 +45,7 @@ public class AccountChooserAdapter extends RecyclerView.Adapter<AccountChooserVi
@Override
public void onBindViewHolder(@NonNull AccountChooserViewHolder holder, int position) {
- LocalAccount localAccount = localAccounts.get(position);
- holder.getAccountLayout().setOnClickListener((v) -> moveAccountListener.moveToAccount(localAccount));
-
- Glide
- .with(context)
- .load(localAccount.getUrl() + "/index.php/avatar/" + Uri.encode(localAccount.getUserName()) + "/64")
- .error(R.drawable.ic_account_circle_grey_24dp)
- .apply(RequestOptions.circleCropTransform())
- .into(holder.getAvatar());
-
- holder.getUsername().setText(localAccount.getAccountName());
+ holder.bind(localAccounts.get(position), moveAccountListener);
}
@Override
@@ -74,16 +61,17 @@ public class AccountChooserAdapter extends RecyclerView.Adapter<AccountChooserVi
binding = ItemAccountChooseBinding.bind(view);
}
- private LinearLayout getAccountLayout() {
- return binding.accountLayout;
- }
-
- private ImageView getAvatar() {
- return binding.accountItemAvatar;
- }
-
- private TextView getUsername() {
- return binding.accountItemLabel;
+ public void bind(LocalAccount localAccount, MoveAccountListener moveAccountListener) {
+ Glide
+ .with(binding.accountItemAvatar.getContext())
+ .load(localAccount.getUrl() + "/index.php/avatar/" + Uri.encode(localAccount.getUserName()) + "/64")
+ .error(R.drawable.ic_account_circle_grey_24dp)
+ .apply(RequestOptions.circleCropTransform())
+ .into(binding.accountItemAvatar);
+
+ binding.accountLayout.setOnClickListener((v) -> moveAccountListener.moveToAccount(localAccount));
+ binding.accountName.setText(localAccount.getUserName());
+ binding.accountHost.setText(Uri.parse(localAccount.getUrl()).getHost());
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/MoveAccountDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/MoveAccountDialogFragment.java
index 50b56c1c..2b959c4b 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/MoveAccountDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/MoveAccountDialogFragment.java
@@ -53,7 +53,7 @@ public class MoveAccountDialogFragment extends AppCompatDialogFragment implement
NotesDatabase db = NotesDatabase.getInstance(getActivity());
List<LocalAccount> accountsList = db.getAccounts();
- RecyclerView.Adapter<AccountChooserViewHolder> adapter = new AccountChooserAdapter(accountsList, this, requireActivity());
+ RecyclerView.Adapter<AccountChooserViewHolder> adapter = new AccountChooserAdapter(accountsList, this);
binding.accountsList.setAdapter(adapter);
return new BrandedAlertDialogBuilder(requireActivity())
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java
index df56fba5..e22f4b57 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java
@@ -30,7 +30,8 @@ public class ManageAccountViewHolder extends RecyclerView.ViewHolder {
}
public void bind(@NonNull LocalAccount localAccount, @NonNull Consumer<LocalAccount> onAccountClick, @Nullable Consumer<LocalAccount> onAccountDelete, boolean isCurrentAccount) {
- binding.accountItemLabel.setText(localAccount.getAccountName());
+ binding.accountName.setText(localAccount.getUserName());
+ binding.accountHost.setText(Uri.parse(localAccount.getUrl()).getHost());
Glide.with(itemView.getContext())
.load(localAccount.getUrl() + "/index.php/avatar/" + Uri.encode(localAccount.getUserName()) + "/64")
.error(R.drawable.ic_account_circle_grey_24dp)
diff --git a/app/src/main/res/layout/dialog_account_switcher.xml b/app/src/main/res/layout/dialog_account_switcher.xml
index cccdf1c9..f3f0814e 100644
--- a/app/src/main/res/layout/dialog_account_switcher.xml
+++ b/app/src/main/res/layout/dialog_account_switcher.xml
@@ -11,31 +11,46 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
+ android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/spacer_3x">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/currentAccountItemAvatar"
- android:layout_width="36dp"
- android:layout_height="36dp"
+ android:layout_width="@dimen/avatar_size"
+ android:layout_height="@dimen/avatar_size"
android:contentDescription="@null"
android:focusable="false"
android:scaleType="center"
app:srcCompat="@drawable/ic_account_circle_grey_24dp" />
- <TextView
- android:id="@+id/accountItemLabel"
+
+ <LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_gravity="center"
android:layout_marginStart="@dimen/spacer_2x"
android:layout_marginEnd="@dimen/spacer_2x"
android:layout_weight="1"
- android:ellipsize="middle"
- android:singleLine="true"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.TextView.SpinnerItem"
- android:textColor="?android:textColorPrimary"
- tools:text="@tools:sample/full_names" />
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/accountName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="middle"
+ android:singleLine="true"
+ android:textAppearance="?attr/textAppearanceListItem"
+ tools:text="@tools:sample/full_names" />
+
+ <TextView
+ android:id="@+id/accountHost"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="middle"
+ android:singleLine="true"
+ android:textAppearance="?attr/textAppearanceListItemSecondary"
+ tools:text="@tools:sample/full_names" />
+ </LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/check"
diff --git a/app/src/main/res/layout/item_account_choose.xml b/app/src/main/res/layout/item_account_choose.xml
index b9a88984..910b25a0 100644
--- a/app/src/main/res/layout/item_account_choose.xml
+++ b/app/src/main/res/layout/item_account_choose.xml
@@ -6,6 +6,7 @@
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:orientation="horizontal"
+ android:gravity="center"
android:padding="@dimen/spacer_3x">
<FrameLayout
@@ -15,8 +16,8 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/accountItemAvatar"
- android:layout_width="36dp"
- android:layout_height="36dp"
+ android:layout_width="@dimen/avatar_size"
+ android:layout_height="@dimen/avatar_size"
android:contentDescription="@null"
android:focusable="false"
android:scaleType="center"
@@ -32,20 +33,32 @@
tools:visibility="visible" />
</FrameLayout>
- <TextView
- android:id="@+id/accountItemLabel"
+ <LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_gravity="center"
android:layout_marginStart="@dimen/spacer_2x"
android:layout_marginEnd="@dimen/spacer_2x"
android:layout_weight="1"
- android:ellipsize="middle"
- android:singleLine="true"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.TextView.SpinnerItem"
- android:textColor="?android:textColorPrimary"
- tools:text="@tools:sample/full_names" />
+ android:orientation="vertical">
+ <TextView
+ android:id="@+id/accountName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="middle"
+ android:singleLine="true"
+ android:textAppearance="?attr/textAppearanceListItem"
+ tools:text="@tools:sample/full_names" />
+
+ <TextView
+ android:id="@+id/accountHost"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="middle"
+ android:singleLine="true"
+ android:textAppearance="?attr/textAppearanceListItemSecondary"
+ tools:text="@tools:sample/full_names" />
+ </LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/delete"
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index d2eccead..bf616e26 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -9,6 +9,8 @@
<dimen name="spacer_5x">40dp</dimen>
<dimen name="spacer_6x">48dp</dimen>
+ <dimen name="avatar_size">36dp</dimen>
+
<!-- Drawer header -->
<dimen name="drawer_header_height">100dp</dimen>
<dimen name="drawer_header_logo_size">42dp</dimen>