Merge branch 'daycode-profile-edition-design' Closes #77
This commit is contained in:
commit
d4df8322b7
|
@ -38,11 +38,14 @@ import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageButton;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
|
||||||
import com.keylesspalace.tusky.entity.Account;
|
import com.keylesspalace.tusky.entity.Account;
|
||||||
import com.keylesspalace.tusky.entity.Profile;
|
import com.keylesspalace.tusky.entity.Profile;
|
||||||
|
import com.pkmmte.view.CircularImageView;
|
||||||
|
import com.squareup.picasso.Picasso;
|
||||||
import com.theartofdev.edmodo.cropper.CropImage;
|
import com.theartofdev.edmodo.cropper.CropImage;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
@ -73,14 +76,14 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
HEADER
|
HEADER
|
||||||
}
|
}
|
||||||
|
|
||||||
@BindView(R.id.edit_profile_display_name) EditText displayNameEditText;
|
@BindView(R.id.edit_profile_header) ImageButton headerButton;
|
||||||
@BindView(R.id.edit_profile_note) EditText noteEditText;
|
|
||||||
@BindView(R.id.edit_profile_avatar) Button avatarButton;
|
|
||||||
@BindView(R.id.edit_profile_avatar_preview) ImageView avatarPreview;
|
|
||||||
@BindView(R.id.edit_profile_avatar_progress) ProgressBar avatarProgress;
|
|
||||||
@BindView(R.id.edit_profile_header) Button headerButton;
|
|
||||||
@BindView(R.id.edit_profile_header_preview) ImageView headerPreview;
|
@BindView(R.id.edit_profile_header_preview) ImageView headerPreview;
|
||||||
@BindView(R.id.edit_profile_header_progress) ProgressBar headerProgress;
|
@BindView(R.id.edit_profile_header_progress) ProgressBar headerProgress;
|
||||||
|
@BindView(R.id.edit_profile_avatar) ImageButton avatarButton;
|
||||||
|
@BindView(R.id.edit_profile_avatar_preview) ImageView avatarPreview;
|
||||||
|
@BindView(R.id.edit_profile_avatar_progress) ProgressBar avatarProgress;
|
||||||
|
@BindView(R.id.edit_profile_display_name) EditText displayNameEditText;
|
||||||
|
@BindView(R.id.edit_profile_note) EditText noteEditText;
|
||||||
@BindView(R.id.edit_profile_save_progress) ProgressBar saveProgress;
|
@BindView(R.id.edit_profile_save_progress) ProgressBar saveProgress;
|
||||||
|
|
||||||
private String priorDisplayName;
|
private String priorDisplayName;
|
||||||
|
@ -100,7 +103,7 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
ActionBar actionBar = getSupportActionBar();
|
ActionBar actionBar = getSupportActionBar();
|
||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
actionBar.setTitle(null);
|
actionBar.setTitle(getString(R.string.title_edit_profile));
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
actionBar.setDisplayShowHomeEnabled(true);
|
actionBar.setDisplayShowHomeEnabled(true);
|
||||||
}
|
}
|
||||||
|
@ -121,6 +124,8 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
headerBase64 = null;
|
headerBase64 = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
avatarButton.setOnClickListener(new View.OnClickListener() {
|
avatarButton.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
@ -138,7 +143,7 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
avatarPreview.setImageBitmap(null);
|
avatarPreview.setImageBitmap(null);
|
||||||
avatarPreview.setVisibility(View.GONE);
|
avatarPreview.setVisibility(View.INVISIBLE);
|
||||||
avatarBase64 = null;
|
avatarBase64 = null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -146,7 +151,7 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
headerPreview.setImageBitmap(null);
|
headerPreview.setImageBitmap(null);
|
||||||
headerPreview.setVisibility(View.GONE);
|
headerPreview.setVisibility(View.INVISIBLE);
|
||||||
headerBase64 = null;
|
headerBase64 = null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -161,8 +166,20 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
Account me = response.body();
|
Account me = response.body();
|
||||||
priorDisplayName = me.getDisplayName();
|
priorDisplayName = me.getDisplayName();
|
||||||
priorNote = me.note.toString();
|
priorNote = me.note.toString();
|
||||||
|
CircularImageView avatar = (CircularImageView) findViewById(R.id.edit_profile_avatar_preview);
|
||||||
|
ImageView header = (ImageView) findViewById(R.id.edit_profile_header_preview);
|
||||||
|
|
||||||
displayNameEditText.setText(priorDisplayName);
|
displayNameEditText.setText(priorDisplayName);
|
||||||
noteEditText.setText(priorNote);
|
noteEditText.setText(priorNote);
|
||||||
|
Picasso.with(avatar.getContext())
|
||||||
|
.load(me.avatar)
|
||||||
|
.placeholder(R.drawable.avatar_default)
|
||||||
|
.error(R.drawable.avatar_error)
|
||||||
|
.into(avatar);
|
||||||
|
Picasso.with(header.getContext())
|
||||||
|
.load(me.header)
|
||||||
|
.placeholder(R.drawable.account_header_missing)
|
||||||
|
.into(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -337,12 +354,10 @@ public class EditProfileActivity extends BaseActivity {
|
||||||
switch (currentlyPicking) {
|
switch (currentlyPicking) {
|
||||||
case AVATAR: {
|
case AVATAR: {
|
||||||
avatarProgress.setVisibility(View.GONE);
|
avatarProgress.setVisibility(View.GONE);
|
||||||
avatarPreview.setVisibility(View.GONE);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case HEADER: {
|
case HEADER: {
|
||||||
headerProgress.setVisibility(View.GONE);
|
headerProgress.setVisibility(View.GONE);
|
||||||
headerPreview.setVisibility(View.GONE);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
<vector android:height="32dp" android:viewportHeight="24.0"
|
||||||
|
android:viewportWidth="24.0" android:width="32dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FFFFFFFF" android:pathData="M3,4L3,1h2v3h3v2L5,6v3L3,9L3,6L0,6L0,4h3zM6,10L6,7h3L9,4h7l1.83,2L21,6c1.1,0 2,0.9 2,2v12c0,1.1 -0.9,2 -2,2L5,22c-1.1,0 -2,-0.9 -2,-2L3,10h3zM13,19c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5 -5,2.24 -5,5 2.24,5 5,5zM9.8,14c0,1.77 1.43,3.2 3.2,3.2s3.2,-1.43 3.2,-3.2 -1.43,-3.2 -3.2,-3.2 -3.2,1.43 -3.2,3.2z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,4 @@
|
||||||
|
<vector android:height="32dp" android:viewportHeight="24.0"
|
||||||
|
android:viewportWidth="24.0" android:width="32dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FFFFFFFF" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="oval">
|
||||||
|
<solid android:color="#66000000" />
|
||||||
|
<size
|
||||||
|
android:width="80dp"
|
||||||
|
android:height="80dp"/>
|
||||||
|
</shape>
|
|
@ -1,5 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<android.support.design.widget.CoordinatorLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
@ -14,105 +16,18 @@
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:background="@android:color/transparent"
|
android:background="?attr/toolbar_background_color"
|
||||||
android:elevation="4dp" />
|
android:elevation="4dp" />
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@+id/edit_profile_display_name"
|
|
||||||
android:hint="@string/hint_display_name"
|
|
||||||
android:maxLength="30"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="16dp" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@+id/edit_profile_note"
|
|
||||||
android:hint="@string/hint_note"
|
|
||||||
android:maxLength="160"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:layout_marginBottom="16dp" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:paddingLeft="16dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/label_avatar"
|
|
||||||
android:labelFor="@+id/edit_profile_avatar"
|
|
||||||
android:layout_marginRight="8dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@id/edit_profile_avatar"
|
|
||||||
android:text="@string/action_photo_pick"
|
|
||||||
android:textColor="@color/text_color_primary_dark" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
android:paddingLeft="16dp">
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="80dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="80dp"
|
android:layout_height="200dp"
|
||||||
android:id="@+id/edit_profile_avatar_preview"
|
|
||||||
android:contentDescription="@null"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<ProgressBar
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@+id/edit_profile_avatar_progress"
|
|
||||||
android:layout_centerInParent="true"
|
|
||||||
android:indeterminate="true"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:paddingLeft="16dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/label_header"
|
|
||||||
android:labelFor="@+id/edit_profile_header"
|
|
||||||
android:layout_marginRight="8dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@id/edit_profile_header"
|
|
||||||
android:text="@string/action_photo_pick"
|
|
||||||
android:textColor="@color/text_color_primary_dark" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingLeft="16dp">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="167.2dp"
|
|
||||||
android:layout_height="80dp"
|
|
||||||
android:id="@+id/edit_profile_header_preview"
|
android:id="@+id/edit_profile_header_preview"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null" />
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -122,8 +37,96 @@
|
||||||
android:indeterminate="true"
|
android:indeterminate="true"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/label_header"
|
||||||
|
android:labelFor="@+id/edit_profile_header"
|
||||||
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="200dp"
|
||||||
|
android:id="@id/edit_profile_header"
|
||||||
|
app:srcCompat="@drawable/ic_add_a_photo_32dp"
|
||||||
|
android:text="@string/action_photo_pick"
|
||||||
|
android:textColor="@color/text_color_primary_dark"
|
||||||
|
android:background="#66000000"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingLeft="16dp"
|
||||||
|
android:layout_marginTop="-40dp">
|
||||||
|
|
||||||
|
<com.pkmmte.view.CircularImageView
|
||||||
|
android:layout_width="80dp"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:id="@+id/edit_profile_avatar_preview"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/edit_profile_avatar_progress"
|
||||||
|
android:layout_centerInParent="true"
|
||||||
|
android:indeterminate="true"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/label_avatar"
|
||||||
|
android:labelFor="@+id/edit_profile_avatar"
|
||||||
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:layout_width="80dp"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:id="@id/edit_profile_avatar"
|
||||||
|
app:srcCompat="@drawable/ic_add_a_photo_32dp"
|
||||||
|
android:text="@string/action_photo_pick"
|
||||||
|
android:textColor="@color/text_color_primary_dark"
|
||||||
|
android:elevation="4dp"
|
||||||
|
android:background="@drawable/round_button"/>
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<android.support.design.widget.TextInputLayout
|
||||||
|
android:id="@+id/layout_edit_profile_display_name"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="30dp">
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/edit_profile_display_name"
|
||||||
|
android:hint="@string/hint_display_name"
|
||||||
|
android:maxLength="30"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp" />
|
||||||
|
|
||||||
|
</android.support.design.widget.TextInputLayout>
|
||||||
|
|
||||||
|
<android.support.design.widget.TextInputLayout
|
||||||
|
android:id="@+id/layout_edit_profile_note"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="30dp">
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/edit_profile_note"
|
||||||
|
android:hint="@string/hint_note"
|
||||||
|
android:maxLength="160"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_marginBottom="16dp" />
|
||||||
|
|
||||||
|
</android.support.design.widget.TextInputLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_save"
|
android:id="@+id/action_save"
|
||||||
android:icon="@drawable/ic_check_in_box_24dp"
|
android:icon="@drawable/ic_check_32dp"
|
||||||
android:title="@string/action_save"
|
android:title="@string/action_save"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="always" />
|
||||||
</menu>
|
</menu>
|
|
@ -31,6 +31,7 @@
|
||||||
<string name="title_mutes">Muted users</string>
|
<string name="title_mutes">Muted users</string>
|
||||||
<string name="title_blocks">Blocked users</string>
|
<string name="title_blocks">Blocked users</string>
|
||||||
<string name="title_follow_requests">Follow Requests</string>
|
<string name="title_follow_requests">Follow Requests</string>
|
||||||
|
<string name="title_edit_profile">Edit your profile</string>
|
||||||
|
|
||||||
<string name="status_username_format">\@%s</string>
|
<string name="status_username_format">\@%s</string>
|
||||||
<string name="status_boosted_format">%s boosted</string>
|
<string name="status_boosted_format">%s boosted</string>
|
||||||
|
|
Loading…
Reference in New Issue