Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c450b40 authored by Tetiana Meronyk's avatar Tetiana Meronyk Committed by Automerger Merge Worker
Browse files

Merge "Update dialog to edit user info" into udc-qpr-dev am: d267276b am: cc842458

parents 952e0a9e cc842458
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -41,7 +41,6 @@
            android:id="@+id/dialog_with_icon_message"
            android:id="@+id/dialog_with_icon_message"
            android:layout_width="wrap_content"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:gravity="center"
            android:gravity="center"
            style="@style/TextAppearanceSmall"/>
            style="@style/TextAppearanceSmall"/>


+39 −53
Original line number Original line Diff line number Diff line
@@ -14,26 +14,13 @@
     limitations under the License.
     limitations under the License.
-->
-->


<ScrollView
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/user_info_editor"
    android:layout_width="match_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/user_info_scroll"
    android:padding="16dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    android:baselineAligned="false"
    android:baselineAligned="false"
    android:orientation="vertical">
    android:orientation="vertical">
        <TextView
            android:id="@+id/user_info_title"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/EditUserDialogTitle"
            android:text="@string/user_info_settings_title"
            android:textDirection="locale"/>
    <FrameLayout
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_height="wrap_content"
@@ -71,5 +58,4 @@


</LinearLayout>
</LinearLayout>


</ScrollView>
+3 −4
Original line number Original line Diff line number Diff line
@@ -59,6 +59,7 @@ public class CreateUserDialogController {
    private static final String KEY_IS_ADMIN = "admin_status";
    private static final String KEY_IS_ADMIN = "admin_status";
    private static final String KEY_ADD_USER_LONG_MESSAGE_DISPLAYED =
    private static final String KEY_ADD_USER_LONG_MESSAGE_DISPLAYED =
            "key_add_user_long_message_displayed";
            "key_add_user_long_message_displayed";
    public static final int MESSAGE_PADDING = 10;


    @Retention(RetentionPolicy.SOURCE)
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({EXIT_DIALOG, INITIAL_DIALOG, GRANT_ADMIN_DIALOG,
    @IntDef({EXIT_DIALOG, INITIAL_DIALOG, GRANT_ADMIN_DIALOG,
@@ -191,6 +192,7 @@ public class CreateUserDialogController {
            cancelCallback.run();
            cancelCallback.run();
            clear();
            clear();
        });
        });
        mCustomDialogHelper.setMessagePadding(MESSAGE_PADDING);
        mUserCreationDialog.setCanceledOnTouchOutside(true);
        mUserCreationDialog.setCanceledOnTouchOutside(true);
        return mUserCreationDialog;
        return mUserCreationDialog;
    }
    }
@@ -212,7 +214,6 @@ public class CreateUserDialogController {
            }
            }
            updateLayout();
            updateLayout();
        });
        });
        return;
    }
    }


    private void updateLayout() {
    private void updateLayout() {
@@ -234,7 +235,6 @@ public class CreateUserDialogController {
                }
                }
                Drawable icon = mActivity.getDrawable(R.drawable.ic_person_add);
                Drawable icon = mActivity.getDrawable(R.drawable.ic_person_add);
                mCustomDialogHelper.setVisibility(mCustomDialogHelper.ICON, true)
                mCustomDialogHelper.setVisibility(mCustomDialogHelper.ICON, true)
                        .setVisibility(mCustomDialogHelper.TITLE, true)
                        .setVisibility(mCustomDialogHelper.MESSAGE, true)
                        .setVisibility(mCustomDialogHelper.MESSAGE, true)
                        .setIcon(icon)
                        .setIcon(icon)
                        .setButtonEnabled(true)
                        .setButtonEnabled(true)
@@ -248,7 +248,6 @@ public class CreateUserDialogController {
                mGrantAdminView.setVisibility(View.VISIBLE);
                mGrantAdminView.setVisibility(View.VISIBLE);
                mCustomDialogHelper
                mCustomDialogHelper
                        .setVisibility(mCustomDialogHelper.ICON, true)
                        .setVisibility(mCustomDialogHelper.ICON, true)
                        .setVisibility(mCustomDialogHelper.TITLE, true)
                        .setVisibility(mCustomDialogHelper.MESSAGE, true)
                        .setVisibility(mCustomDialogHelper.MESSAGE, true)
                        .setIcon(mActivity.getDrawable(R.drawable.ic_admin_panel_settings))
                        .setIcon(mActivity.getDrawable(R.drawable.ic_admin_panel_settings))
                        .setTitle(R.string.user_grant_admin_title)
                        .setTitle(R.string.user_grant_admin_title)
@@ -262,8 +261,8 @@ public class CreateUserDialogController {
            case EDIT_NAME_DIALOG:
            case EDIT_NAME_DIALOG:
                mCustomDialogHelper
                mCustomDialogHelper
                        .setVisibility(mCustomDialogHelper.ICON, false)
                        .setVisibility(mCustomDialogHelper.ICON, false)
                        .setVisibility(mCustomDialogHelper.TITLE, false)
                        .setVisibility(mCustomDialogHelper.MESSAGE, false)
                        .setVisibility(mCustomDialogHelper.MESSAGE, false)
                        .setTitle(R.string.user_info_settings_title)
                        .setNegativeButtonText(R.string.back)
                        .setNegativeButtonText(R.string.back)
                        .setPositiveButtonText(R.string.done);
                        .setPositiveButtonText(R.string.done);
                mEditUserInfoView.setVisibility(View.VISIBLE);
                mEditUserInfoView.setVisibility(View.VISIBLE);
+21 −20
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.settingslib.users;
package com.android.settingslib.users;


import android.app.Activity;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Dialog;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
@@ -31,7 +30,6 @@ import android.view.View;
import android.view.WindowManager;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ImageView;
import android.widget.ScrollView;


import androidx.annotation.Nullable;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.VisibleForTesting;
@@ -41,6 +39,7 @@ import com.android.settingslib.R;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.drawable.CircleFramedDrawable;
import com.android.settingslib.drawable.CircleFramedDrawable;
import com.android.settingslib.utils.CustomDialogHelper;


import java.io.File;
import java.io.File;
import java.util.function.BiConsumer;
import java.util.function.BiConsumer;
@@ -128,7 +127,7 @@ public class EditUserInfoController {
     *                        codes to take photo/choose photo/crop photo.
     *                        codes to take photo/choose photo/crop photo.
     */
     */
    public Dialog createDialog(Activity activity, ActivityStarter activityStarter,
    public Dialog createDialog(Activity activity, ActivityStarter activityStarter,
            @Nullable Drawable oldUserIcon, String defaultUserName, String title,
            @Nullable Drawable oldUserIcon, String defaultUserName,
            BiConsumer<String, Drawable> successCallback, Runnable cancelCallback) {
            BiConsumer<String, Drawable> successCallback, Runnable cancelCallback) {
        LayoutInflater inflater = LayoutInflater.from(activity);
        LayoutInflater inflater = LayoutInflater.from(activity);
        View content = inflater.inflate(R.layout.edit_user_info_dialog_content, null);
        View content = inflater.inflate(R.layout.edit_user_info_dialog_content, null);
@@ -160,10 +159,8 @@ public class EditUserInfoController {
                        userPhotoView);
                        userPhotoView);
            }
            }
        }
        }
        ScrollView scrollView = content.findViewById(R.id.user_info_scroll);
        scrollView.setClipToOutline(true);
        mEditUserInfoDialog = buildDialog(activity, content, userNameView, oldUserIcon,
        mEditUserInfoDialog = buildDialog(activity, content, userNameView, oldUserIcon,
                defaultUserName, title, successCallback, cancelCallback);
                defaultUserName, successCallback, cancelCallback);


        // Make sure the IME is up.
        // Make sure the IME is up.
        mEditUserInfoDialog.getWindow()
        mEditUserInfoDialog.getWindow()
@@ -181,12 +178,13 @@ public class EditUserInfoController {
    }
    }


    private Dialog buildDialog(Activity activity, View content, EditText userNameView,
    private Dialog buildDialog(Activity activity, View content, EditText userNameView,
            @Nullable Drawable oldUserIcon, String defaultUserName, String title,
            @Nullable Drawable oldUserIcon, String defaultUserName,
            BiConsumer<String, Drawable> successCallback, Runnable cancelCallback) {
            BiConsumer<String, Drawable> successCallback, Runnable cancelCallback) {
        return new AlertDialog.Builder(activity)
        CustomDialogHelper dialogHelper = new CustomDialogHelper(activity);
                .setView(content)
        dialogHelper
                .setCancelable(true)
                .setTitle(R.string.user_info_settings_title)
                .setPositiveButton(android.R.string.ok, (dialog, which) -> {
                .addCustomView(content)
                .setPositiveButton(android.R.string.ok, view -> {
                    Drawable newUserIcon = mEditUserPhotoController != null
                    Drawable newUserIcon = mEditUserPhotoController != null
                            ? mEditUserPhotoController.getNewUserPhotoDrawable()
                            ? mEditUserPhotoController.getNewUserPhotoDrawable()
                            : null;
                            : null;
@@ -201,20 +199,23 @@ public class EditUserInfoController {
                    if (successCallback != null) {
                    if (successCallback != null) {
                        successCallback.accept(userName, userIcon);
                        successCallback.accept(userName, userIcon);
                    }
                    }
                    dialogHelper.getDialog().dismiss();
                })
                })
                .setNegativeButton(android.R.string.cancel, (dialog, which) -> {
                .setBackButton(android.R.string.cancel, view -> {
                    clear();
                    clear();
                    if (cancelCallback != null) {
                    if (cancelCallback != null) {
                        cancelCallback.run();
                        cancelCallback.run();
                    }
                    }
                })
                    dialogHelper.getDialog().dismiss();
                .setOnCancelListener(dialog -> {
                });
        dialogHelper.getDialog().setOnCancelListener(dialog -> {
            clear();
            clear();
            if (cancelCallback != null) {
            if (cancelCallback != null) {
                cancelCallback.run();
                cancelCallback.run();
            }
            }
                })
            dialogHelper.getDialog().dismiss();
                .create();
        });
        return dialogHelper.getDialog();
    }
    }


    @VisibleForTesting
    @VisibleForTesting
+8 −0
Original line number Original line Diff line number Diff line
@@ -192,6 +192,14 @@ public class CustomDialogHelper {
        return this;
        return this;
    }
    }


    /**
     * Sets message padding of the dialog.
     */
    public CustomDialogHelper setMessagePadding(int dp) {
        mDialogMessage.setPadding(dp, dp, dp, dp);
        return this;
    }

    /**
    /**
     * Sets icon of the dialog.
     * Sets icon of the dialog.
     */
     */
Loading