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

github.com/nextcloud/android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÁlvaro Brey <alvaro.brey@nextcloud.com>2022-11-07 15:03:31 +0300
committerÁlvaro Brey <alvaro.brey@nextcloud.com>2022-11-07 15:03:31 +0300
commitd0ffbe247972d6fb717d0f548a56bb063df8ff3e (patch)
tree4676b5023a1f0fb76cecac4815e8a5fc294f65ad
parentfb52b3f2ce49363548f5d71f994c119062d9dd8c (diff)
Use material 3 style for SSO dialog
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
-rw-r--r--app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java43
-rw-r--r--app/src/main/res/layout/activity_sso_grant_permission.xml89
-rw-r--r--app/src/main/res/layout/dialog_sso_grant_permission.xml58
3 files changed, 83 insertions, 107 deletions
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java
index b7926d2463..1d6929ae68 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java
@@ -38,10 +38,11 @@ import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.nextcloud.android.sso.Constants;
import com.owncloud.android.MainApp;
import com.owncloud.android.R;
-import com.owncloud.android.databinding.ActivitySsoGrantPermissionBinding;
+import com.owncloud.android.databinding.DialogSsoGrantPermissionBinding;
import com.owncloud.android.lib.common.OwnCloudAccount;
import com.owncloud.android.lib.common.accounts.AccountUtils;
import com.owncloud.android.lib.common.utils.Log_OC;
@@ -72,19 +73,37 @@ public class SsoGrantPermissionActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- ActivitySsoGrantPermissionBinding binding = ActivitySsoGrantPermissionBinding.inflate(getLayoutInflater());
- setContentView(binding.getRoot());
+ DialogSsoGrantPermissionBinding binding = DialogSsoGrantPermissionBinding.inflate(getLayoutInflater());
ComponentName callingActivity = getCallingActivity();
if (callingActivity != null) {
packageName = callingActivity.getPackageName();
- String appName = getAppNameForPackage(packageName);
+ final String appName = getAppNameForPackage(packageName);
account = getIntent().getParcelableExtra(NEXTCLOUD_FILES_ACCOUNT);
- binding.permissionText.setText(makeSpecialPartsBold(
+
+ final SpannableStringBuilder dialogText = makeSpecialPartsBold(
getString(R.string.single_sign_on_request_token, appName, account.name),
appName,
- account.name));
+ account.name);
+ binding.permissionText.setText(dialogText);
+ try {
+ if (packageName != null) {
+ Drawable appIcon = getPackageManager().getApplicationIcon(packageName);
+ binding.appIcon.setImageDrawable(appIcon);
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ Log_OC.e(TAG, "Error retrieving app icon", e);
+ }
+
+ final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this)
+ .setView(binding.getRoot())
+ .setCancelable(false)
+ .setPositiveButton(R.string.permission_allow, (dialog, which) -> grantPermission())
+ .setNegativeButton(R.string.permission_deny, (dialog, which) -> exitFailed());
+
+ builder.show();
+
Log_OC.v(TAG, "TOKEN-REQUEST: Calling Package: " + packageName);
Log_OC.v(TAG, "TOKEN-REQUEST: App Name: " + appName);
} else {
@@ -92,18 +111,6 @@ public class SsoGrantPermissionActivity extends BaseActivity {
Log_OC.e(TAG, "Calling Package is null");
setResultAndExit("Request was not executed properly. Use startActivityForResult()");
}
-
- try {
- if (packageName != null) {
- Drawable appIcon = getPackageManager().getApplicationIcon(packageName);
- binding.appIcon.setImageDrawable(appIcon);
- }
- } catch (PackageManager.NameNotFoundException e) {
- Log_OC.e(TAG, "Error retrieving app icon", e);
- }
-
- binding.btnDecline.setOnClickListener(v -> exitFailed());
- binding.btnGrant.setOnClickListener(v -> grantPermission());
}
private SpannableStringBuilder makeSpecialPartsBold(String text, String... toBeStyledText) {
diff --git a/app/src/main/res/layout/activity_sso_grant_permission.xml b/app/src/main/res/layout/activity_sso_grant_permission.xml
deleted file mode 100644
index 224ba8095a..0000000000
--- a/app/src/main/res/layout/activity_sso_grant_permission.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Nextcloud Android client application
-
- Copyright (C) 2018 Andy Scherzinger
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- License as published by the Free Software Foundation; either
- version 3 of the License, or any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-
- You should have received a copy of the GNU Affero General Public
- License along with this program. If not, see <http://www.gnu.org/licenses/>.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:padding="@dimen/standard_margin"
- android:orientation="horizontal"
- tools:context="com.owncloud.android.ui.activity.SsoGrantPermissionActivity">
-
- <ImageView
- android:id="@+id/appIcon"
- android:layout_width="@dimen/user_icon_size"
- android:layout_height="@dimen/user_icon_size"
- android:layout_gravity="top|start"
- android:layout_marginEnd="@dimen/standard_margin"
- android:contentDescription="@null"
- android:src="@drawable/background"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="@+id/permissionText"/>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/permissionText"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingStart="@dimen/zero"
- android:paddingLeft="@dimen/zero"
- android:paddingEnd="@dimen/zero"
- android:paddingRight="@dimen/zero"
- android:paddingBottom="@dimen/standard_padding"
- android:textSize="@dimen/permission_dialog_text_size"
- app:layout_constraintBottom_toTopOf="@+id/btnGrant"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Grant Nextcloud News access to your Nextcloud account incrediblyLong_username_with_123456789_number@Nextcloud_dummy.com?"/>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="end"
- android:orientation="horizontal">
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/btnDecline"
- style="@style/Button.Borderless"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/standard_half_margin"
- android:text="@string/permission_deny"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/btnGrant"/>
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/btnGrant"
- style="@style/Button.Borderless"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/permission_allow"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"/>
- </LinearLayout>
- </LinearLayout>
-
-</LinearLayout>
diff --git a/app/src/main/res/layout/dialog_sso_grant_permission.xml b/app/src/main/res/layout/dialog_sso_grant_permission.xml
new file mode 100644
index 0000000000..e2eda08c2f
--- /dev/null
+++ b/app/src/main/res/layout/dialog_sso_grant_permission.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ Nextcloud Android client application
+
+ Copyright (C) 2018 Andy Scherzinger
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+
+ You should have received a copy of the GNU Affero General Public
+ License along with this program. If not, see <http://www.gnu.org/licenses/>.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingHorizontal="@dimen/dialog_padding"
+ android:paddingTop="@dimen/dialog_padding"
+ tools:context="com.owncloud.android.ui.activity.SsoGrantPermissionActivity">
+
+ <ImageView
+ android:id="@+id/appIcon"
+ android:layout_width="@dimen/user_icon_size"
+ android:layout_height="@dimen/user_icon_size"
+ android:layout_gravity="top|start"
+ android:layout_marginEnd="@dimen/standard_margin"
+ android:contentDescription="@null"
+ android:src="@drawable/background"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/permissionText"
+ tools:src="@drawable/file_application" />
+
+ <TextView
+ android:id="@+id/permissionText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="@dimen/zero"
+ android:paddingLeft="@dimen/zero"
+ android:paddingEnd="@dimen/zero"
+ android:paddingRight="@dimen/zero"
+ android:paddingBottom="@dimen/standard_padding"
+ android:textSize="@dimen/permission_dialog_text_size"
+ app:layout_constraintBottom_toTopOf="@+id/btnGrant"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="Grant Nextcloud News access to your Nextcloud account incrediblyLong_username_with_123456789_number@Nextcloud_dummy.com?" />
+
+</LinearLayout>