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

Commit ac717e4d authored by Anna Bauza's avatar Anna Bauza
Browse files

Avatar sync functionality

Send information to avatar sync service that user selected confirm or cancel on edit user info dialog

Bug: 320656026
Test: manual
Change-Id: I84356b844d47ea7c07f662691f1e48eaca56b7d8
parent d92f82b4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -42,6 +42,10 @@
    <string name="config_avatar_picker_action" translatable="false">
        com.android.avatarpicker.FULL_SCREEN_ACTIVITY
    </string>
    <!-- User avatar dialog result broadcast explicit package -->
    <string name="config_avatar_picker_package" translatable="false">
        com.android.avatarpicker
    </string>

    <!-- Package name and fully-qualified class name for the wallpaper picker activity. -->
    <string name="config_wallpaper_picker_package" translatable="false">com.android.settings</string>
+13 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.graphics.BitmapFactory;
import android.graphics.BlendMode;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.multiuser.Flags;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
@@ -892,13 +893,24 @@ public class UserSettings extends SettingsPreferenceFragment
                                        UserIcons.convertToBitmapAtUserIconSize(
                                                activity.getResources(), newUserIcon)));
                        mMePreference.setIcon(newUserIcon);
                        if (Flags.avatarSync()) {
                            final String pkg = getString(R.string.config_avatar_picker_package);
                            final String action = pkg + ".set.confirm";
                            activity.sendBroadcast(new Intent(action).setPackage(pkg));
                        }
                    }

                    if (!TextUtils.isEmpty(newUserName) && !newUserName.equals(user.name)) {
                        mMePreference.setTitle(newUserName);
                        mUserManager.setUserName(user.id, newUserName);
                    }
                }, null);
                }, () -> {
                    if (Flags.avatarSync()) {
                        final String pkg = getString(R.string.config_avatar_picker_package);
                        final String action = pkg + ".set.cancel";
                        activity.sendBroadcast(new Intent(action).setPackage(pkg));
                    }
                });
    }

    private Dialog buildAddUserDialog(int userType) {