diff --git a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java index cb537eab0..c295d3cb2 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java @@ -34,7 +34,6 @@ import android.view.Gravity; import android.view.MenuItem; import android.view.View; import android.widget.FrameLayout; -import android.widget.TextView; import android.widget.Toast; import com.hippo.ehviewer.R; @@ -88,6 +87,8 @@ public final class MainActivity extends StageActivity private NavigationView mNavView; @Nullable private FrameLayout mRightDrawer; + @Nullable + private LoadImageView mAvatar; private int mNavCheckedItem = 0; @@ -235,21 +236,9 @@ public final class MainActivity extends StageActivity mNavView = (NavigationView) ViewUtils.$$(this, R.id.nav_view); mRightDrawer = (FrameLayout) ViewUtils.$$(this, R.id.right_drawer); View headerLayout = mNavView.getHeaderView(0); - LoadImageView avatarView = (LoadImageView) ViewUtils.$$(headerLayout, R.id.avatar); - TextView displayNameView = (TextView) ViewUtils.$$(headerLayout, R.id.display_name); + mAvatar = (LoadImageView) ViewUtils.$$(headerLayout, R.id.avatar); - String avatarUrl = Settings.getAvatar(); - if (TextUtils.isEmpty(avatarUrl)) { - avatarView.load(R.drawable.default_avatar); - } else { - avatarView.load(avatarUrl, avatarUrl); - } - - String displayName = Settings.getDisplayName(); - if (TextUtils.isEmpty(displayName)) { - displayName = getString(R.string.default_display_name); - } - displayNameView.setText(displayName); + updateAvatar(); if (mNavView != null) { mNavView.setNavigationItemSelectedListener(this); @@ -334,6 +323,19 @@ public final class MainActivity extends StageActivity } } + public void updateAvatar() { + if (null == mAvatar) { + return; + } + + String avatarUrl = Settings.getAvatar(); + if (TextUtils.isEmpty(avatarUrl)) { + mAvatar.load(R.drawable.default_avatar); + } else { + mAvatar.load(avatarUrl, avatarUrl); + } + } + public int getDrawerLockMode(int edgeGravity) { if (mDrawerLayout != null) { return mDrawerLayout.getDrawerLockMode(edgeGravity); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java index a55b9c6b1..cb97615c6 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java @@ -38,6 +38,13 @@ public abstract class BaseScene extends SceneFragment { private boolean mViewCreated; + public void updateAvatar() { + FragmentActivity activity = getActivity(); + if (activity instanceof MainActivity) { + ((MainActivity) activity).updateAvatar(); + } + } + public void setDrawerLockMode(int lockMode, int edgeGravity) { FragmentActivity activity = getActivity(); if (activity instanceof MainActivity) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java index 21d342c32..d60ebd09d 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java @@ -322,6 +322,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct } public void onGetProfileSuccess() { + updateAvatar(); redirectTo(); } diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index b456ecf06..1b379e346 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -28,27 +28,11 @@ android:scaleType="centerCrop" android:contentDescription="@null"/> - - - - - - - + diff --git a/beerbelly b/beerbelly index 2dde5592a..d2cab9a49 160000 --- a/beerbelly +++ b/beerbelly @@ -1 +1 @@ -Subproject commit 2dde5592ad52998099da21d810b5d914b24fcd28 +Subproject commit d2cab9a49059e5b9a349b4eb9c44bedf1802ab60 diff --git a/build.gradle b/build.gradle index 9ba597255..cb24306f3 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0-beta6' + classpath 'com.android.tools.build:gradle:2.1.0-alpha1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files