From 5f9f279a33b8cf8f1efdfbb636815206f9a676ce Mon Sep 17 00:00:00 2001 From: Markus Pfeiffer Date: Tue, 21 Nov 2023 15:37:22 +0100 Subject: [PATCH] android: Show warning message for read-only profiles in detail view Show a message explaining that a managed profile can't be edited in its detail view. --- .../android/ui/VpnProfileDetailActivity.java | 5 + .../main/res/layout/profile_detail_view.xml | 860 +++++++++--------- .../app/src/main/res/values-de/strings.xml | 1 + .../app/src/main/res/values-pl/strings.xml | 1 + .../app/src/main/res/values-ru/strings.xml | 1 + .../app/src/main/res/values-uk/strings.xml | 1 + .../src/main/res/values-zh-rCN/strings.xml | 1 + .../src/main/res/values-zh-rTW/strings.xml | 1 + .../app/src/main/res/values/strings.xml | 1 + 9 files changed, 455 insertions(+), 417 deletions(-) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileDetailActivity.java b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileDetailActivity.java index b01e67f881..4a6aac45f5 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileDetailActivity.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileDetailActivity.java @@ -98,6 +98,7 @@ public class VpnProfileDetailActivity extends AppCompatActivity private SelectedAppsHandling mSelectedAppsHandling = SelectedAppsHandling.SELECTED_APPS_DISABLE; private SortedSet mSelectedApps = new TreeSet<>(); private VpnProfile mProfile; + private View mManagedProfile; private MultiAutoCompleteTextView mName; private TextInputLayoutHelper mNameWrap; private EditText mGateway; @@ -195,6 +196,8 @@ public class VpnProfileDetailActivity extends AppCompatActivity setContentView(R.layout.profile_detail_view); + mManagedProfile = findViewById(R.id.managed_profile); + mName = findViewById(R.id.name); mNameWrap = findViewById(R.id.name_wrap); mGateway = findViewById(R.id.gateway); @@ -857,6 +860,8 @@ public class VpnProfileDetailActivity extends AppCompatActivity private void setReadOnly(final boolean readOnly) { + mManagedProfile.setVisibility(readOnly ? View.VISIBLE : View.GONE); + mName.setEnabled(!readOnly); mGateway.setEnabled(!readOnly); mUsername.setEnabled(!readOnly); diff --git a/src/frontends/android/app/src/main/res/layout/profile_detail_view.xml b/src/frontends/android/app/src/main/res/layout/profile_detail_view.xml index bdded43370..5197c63f71 100644 --- a/src/frontends/android/app/src/main/res/layout/profile_detail_view.xml +++ b/src/frontends/android/app/src/main/res/layout/profile_detail_view.xml @@ -16,541 +16,567 @@ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. --> - - - + + - - - - - - - - - - - - + android:background="@drawable/state_background" + android:drawableStart="@android:drawable/ic_dialog_alert" + android:drawablePadding="8dp" + android:padding="8dp" + android:text="@string/alert_text_vpn_profile_read_only" + android:textColor="?android:attr/textColorPrimary" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textStyle="bold" + android:visibility="gone" + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible" /> + + + android:animateLayoutChanges="true" + android:orientation="vertical" + android:padding="10dp"> + android:layout_marginTop="6dp" + android:hint="@string/profile_gateway_label" + app:helper_text="@string/profile_gateway_hint"> + android:inputType="textNoSuggestions" + android:singleLine="true" /> - - - - - - - - - + android:layout_marginLeft="4dp" + android:text="@string/profile_vpn_type_label" + android:textSize="12sp" /> - + android:entries="@array/vpn_types" + android:spinnerMode="dropdown" /> + android:id="@+id/tnc_notice" + layout="@layout/two_line_button" + android:visibility="gone" /> -