RequestManageCredentials support RTL languages
* App name and URIs should be displayed to the left of the app icon for right-to-left languages e.g. arabic. Manual testing steps: * Set language as Arabic * Install TestDPC and select 'Request to manage credentials'. * Verify app name and URLs are correctly displayed. * Go to Settings > Security > Encryption & Credentials > Credential management app and verify apps and URIs are displayed corretly. Bug: 170627997 Test: Manual testing Change-Id: Id383e5d92022fc2e40494fadb12c64a46b1f6a65
This commit is contained in:
@@ -26,7 +26,8 @@
|
|||||||
android:layout_width="24dp"
|
android:layout_width="24dp"
|
||||||
android:layout_height="24dp"/>
|
android:layout_height="24dp"/>
|
||||||
|
|
||||||
<LinearLayout
|
<RelativeLayout
|
||||||
|
android:id="@+id/app_details"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_toRightOf="@id/app_icon"
|
android:layout_toRightOf="@id/app_icon"
|
||||||
@@ -44,16 +45,18 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/number_of_uris"
|
android:id="@+id/number_of_uris"
|
||||||
style="@style/AppAuthenticationPolicyNumberOfUrisText"
|
style="@style/AppAuthenticationPolicyNumberOfUrisText"
|
||||||
|
android:layout_below="@id/app_name"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"/>
|
android:visibility="gone"/>
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/uris"
|
android:id="@+id/uris"
|
||||||
|
android:layout_below="@id/app_name"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/expand"
|
android:id="@+id/expand"
|
||||||
|
@@ -25,6 +25,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -61,6 +62,7 @@ public class CredentialManagementAppAdapter extends RecyclerView.Adapter<Recycle
|
|||||||
|
|
||||||
private final boolean mIncludeHeader;
|
private final boolean mIncludeHeader;
|
||||||
private final boolean mIncludeExpander;
|
private final boolean mIncludeExpander;
|
||||||
|
private final boolean mIsLayoutRtl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* View holder for the header in the request manage credentials screen.
|
* View holder for the header in the request manage credentials screen.
|
||||||
@@ -113,6 +115,15 @@ public class CredentialManagementAppAdapter extends RecyclerView.Adapter<Recycle
|
|||||||
mChildRecyclerView = view.findViewById(R.id.uris);
|
mChildRecyclerView = view.findViewById(R.id.uris);
|
||||||
mExpandedApps = new ArrayList<>();
|
mExpandedApps = new ArrayList<>();
|
||||||
|
|
||||||
|
if (mIsLayoutRtl) {
|
||||||
|
RelativeLayout appDetails = view.findViewById(R.id.app_details);
|
||||||
|
RelativeLayout.LayoutParams params =
|
||||||
|
(RelativeLayout.LayoutParams) appDetails.getLayoutParams();
|
||||||
|
params.addRule(RelativeLayout.LEFT_OF, R.id.app_icon);
|
||||||
|
params.addRule(RelativeLayout.RIGHT_OF, R.id.expand);
|
||||||
|
view.setLayoutParams(params);
|
||||||
|
}
|
||||||
|
|
||||||
mExpanderIconView.setOnClickListener(view1 -> {
|
mExpanderIconView.setOnClickListener(view1 -> {
|
||||||
final String appName = mSortedAppNames.get(getBindingAdapterPosition());
|
final String appName = mSortedAppNames.get(getBindingAdapterPosition());
|
||||||
if (mExpandedApps.contains(appName)) {
|
if (mExpandedApps.contains(appName)) {
|
||||||
@@ -195,6 +206,8 @@ public class CredentialManagementAppAdapter extends RecyclerView.Adapter<Recycle
|
|||||||
mViewPool = new RecyclerView.RecycledViewPool();
|
mViewPool = new RecyclerView.RecycledViewPool();
|
||||||
mIncludeHeader = includeHeader;
|
mIncludeHeader = includeHeader;
|
||||||
mIncludeExpander = includeExpander;
|
mIncludeExpander = includeExpander;
|
||||||
|
mIsLayoutRtl = context.getResources().getConfiguration().getLayoutDirection()
|
||||||
|
== View.LAYOUT_DIRECTION_RTL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user