瀏覽代碼

Merge pull request #7994 from nextcloud/loginTextfieldWidth

Resize log-in input fields so they don't span 100% width
Andy Scherzinger 4 年之前
父節點
當前提交
a5aa8c9042

二進制
screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_white.png


二進制
screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login.png


二進制
screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_blue.png


二進制
screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_white.png


二進制
screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_white.png


+ 59 - 0
src/androidTest/java/com/nextcloud/client/AuthenticatorActivityIT.java

@@ -0,0 +1,59 @@
+/*
+ * Nextcloud Android client application
+ *
+ * @author Andy Scherzinger
+ * Copyright (C) 2021 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 as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) 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 <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.client;
+
+import android.Manifest;
+
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.R;
+import com.owncloud.android.authentication.AuthenticatorActivity;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+import androidx.test.rule.GrantPermissionRule;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.typeText;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+
+
+public class AuthenticatorActivityIT extends AbstractIT {
+    private static final String URL = "cloud.nextcloud.com";
+    @Rule public IntentsTestRule<AuthenticatorActivity> activityRule = new IntentsTestRule<>(AuthenticatorActivity.class,
+                                                                                             true,
+                                                                                             false);
+
+    @Rule
+    public final GrantPermissionRule permissionRule = GrantPermissionRule.grant(
+        Manifest.permission.WRITE_EXTERNAL_STORAGE);
+
+    @Test
+    @ScreenshotTest
+    public void login() {
+        AuthenticatorActivity sut = activityRule.launchActivity(null);
+        onView(withId(R.id.host_url_input)).perform(typeText(URL));
+        sut.runOnUiThread(() -> sut.getAccountSetupBinding().hostUrlInput.clearFocus());
+        screenshot(sut);
+    }
+}

+ 6 - 0
src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -143,6 +143,7 @@ import javax.inject.Inject;
 import androidx.annotation.ColorInt;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.DialogFragment;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
@@ -244,6 +245,11 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     @SuppressLint("ResourceAsColor") @ColorInt
     private int primaryColor = R.color.primary;
 
+    @VisibleForTesting
+    public AccountSetupBinding getAccountSetupBinding() {
+        return accountSetupBinding;
+    }
+
     /**
      * {@inheritDoc}
      * <p>

+ 5 - 2
src/main/res/layout-land/account_setup.xml

@@ -46,8 +46,10 @@
         android:orientation="vertical">
 
         <LinearLayout
-            android:layout_width="match_parent"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:maxWidth="@dimen/default_login_width"
+            android:minWidth="@dimen/default_login_width"
             android:gravity="center"
             android:orientation="vertical"
             android:padding="@dimen/standard_half_padding">
@@ -80,7 +82,8 @@
                         android:minLines="1"
                         android:paddingStart="@dimen/standard_padding"
                         android:paddingEnd="@dimen/alternate_padding_right"
-                        android:scrollbars="vertical">
+                        android:scrollbars="vertical"
+                        android:textColor="@color/login_text_color">
 
                         <requestFocus />
 

+ 5 - 2
src/main/res/layout/account_setup.xml

@@ -45,8 +45,10 @@
             android:src="@drawable/logo" />
 
         <LinearLayout
-            android:layout_width="match_parent"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:maxWidth="@dimen/default_login_width"
+            android:minWidth="@dimen/default_login_width"
             android:gravity="center"
             android:orientation="vertical"
             android:padding="@dimen/standard_half_padding">
@@ -79,7 +81,8 @@
                         android:minLines="1"
                         android:paddingStart="@dimen/standard_padding"
                         android:paddingEnd="@dimen/alternate_padding_right"
-                        android:scrollbars="vertical">
+                        android:scrollbars="vertical"
+                        android:textColor="@color/login_text_color">
 
                         <requestFocus />
 

+ 1 - 0
src/main/res/values/dims.xml

@@ -138,4 +138,5 @@
     <dimen name="online_status_item_height">52dp</dimen>
     <dimen name="minimum_size_for_touchable_area">48dp</dimen>
     <dimen name="dialog_elevation">24dp</dimen>
+    <dimen name="default_login_width">400dp</dimen>
 </resources>