diff --git a/twidere/build.gradle b/twidere/build.gradle index 7669cc968..f8b0e7d38 100644 --- a/twidere/build.gradle +++ b/twidere/build.gradle @@ -28,8 +28,8 @@ android { applicationId "org.mariotaku.twidere" minSdkVersion 14 targetSdkVersion 24 - versionCode 200 - versionName "3.1.11" + versionCode 201 + versionName "3.1.12" multiDexEnabled true buildConfigField 'boolean', 'LEAK_CANARY_ENABLED', 'Boolean.parseBoolean("false")' diff --git a/twidere/src/main/java/org/mariotaku/twidere/fragment/UserProfileEditorFragment.java b/twidere/src/main/java/org/mariotaku/twidere/fragment/UserProfileEditorFragment.java index 15f8b4d68..19bb680ec 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/fragment/UserProfileEditorFragment.java +++ b/twidere/src/main/java/org/mariotaku/twidere/fragment/UserProfileEditorFragment.java @@ -213,6 +213,7 @@ public class UserProfileEditorFragment extends BaseSupportFragment implements On final int backgroundColor = mBackgroundColor.getColor(); mTask = new UpdateProfileTaskInternal(this, mAccountId, mUser, name, url, location, description, linkColor, backgroundColor); + mTask.setResultHandler(this); TaskStarter.execute(mTask); return true; } @@ -522,7 +523,7 @@ public class UserProfileEditorFragment extends BaseSupportFragment implements On } @Override - protected void afterExecute(UserProfileEditorFragment callback, SingleResponse result) { + protected void afterExecute(@Nullable UserProfileEditorFragment callback, SingleResponse result) { super.afterExecute(callback, result); if (result.hasData()) { final ParcelableAccount account = result.getExtras().getParcelable(EXTRA_ACCOUNT); @@ -532,16 +533,18 @@ public class UserProfileEditorFragment extends BaseSupportFragment implements On TaskStarter.execute(task); } } - callback.executeAfterFragmentResumed(new Action() { - @Override - public void execute(IBaseFragment fragment) { - final Fragment f = ((UserProfileEditorFragment) fragment).getFragmentManager().findFragmentByTag(DIALOG_FRAGMENT_TAG); - if (f instanceof DialogFragment) { - ((DialogFragment) f).dismissAllowingStateLoss(); + if (callback != null) { + callback.executeAfterFragmentResumed(new Action() { + @Override + public void execute(IBaseFragment fragment) { + final Fragment f = ((UserProfileEditorFragment) fragment).getFragmentManager().findFragmentByTag(DIALOG_FRAGMENT_TAG); + if (f instanceof DialogFragment) { + ((DialogFragment) f).dismissAllowingStateLoss(); + } + f.getActivity().finish(); } - f.getActivity().finish(); - } - }); + }); + } } @Override @@ -575,7 +578,7 @@ public class UserProfileEditorFragment extends BaseSupportFragment implements On } @Override - protected void afterExecute(UserProfileEditorFragment callback, final SingleResponse result) { + protected void afterExecute(@Nullable UserProfileEditorFragment callback, final SingleResponse result) { super.afterExecute(callback, result); if (result.getData() != null && result.getData()) { getUserInfo();