fix: 修复重复登录当前账户闪退

This commit is contained in:
HuanCheng65 2022-08-26 11:02:00 +08:00
parent 989498a9f6
commit 8eab3acf2f
No known key found for this signature in database
GPG Key ID: E9031EF91A805148
5 changed files with 15 additions and 14 deletions

View File

@ -122,7 +122,6 @@ dependencies {
implementation 'androidx.activity:activity-compose:1.5.1' implementation 'androidx.activity:activity-compose:1.5.1'
implementation "com.google.android.material:compose-theme-adapter:1.1.15" implementation "com.google.android.material:compose-theme-adapter:1.1.15"
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1'
implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1" implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1"
implementation 'com.google.protobuf:protobuf-java:3.21.1' implementation 'com.google.protobuf:protobuf-java:3.21.1'
@ -139,6 +138,7 @@ dependencies {
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version"
//Local Files //Local Files
implementation fileTree(include: ["*.jar"], dir: "libs") implementation fileTree(include: ["*.jar"], dir: "libs")

View File

@ -768,7 +768,7 @@ class ForumActivity : BaseActivity(), View.OnClickListener, OnRefreshedListener,
refreshHeaderView() refreshHeaderView()
if (!animated) { if (!animated) {
AnimUtil.alphaOut(loadingView).setListener(object : AnimatorListenerAdapter() { AnimUtil.alphaOut(loadingView).setListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator?) { override fun onAnimationEnd(animation: Animator) {
loadingView.visibility = View.GONE loadingView.visibility = View.GONE
} }
}) })

View File

@ -38,6 +38,7 @@ import com.google.android.material.snackbar.Snackbar;
import com.hjq.permissions.Permission; import com.hjq.permissions.Permission;
import com.huanchengfly.tieba.post.R; import com.huanchengfly.tieba.post.R;
import com.huanchengfly.tieba.post.components.dialogs.PermissionDialog; import com.huanchengfly.tieba.post.components.dialogs.PermissionDialog;
import com.huanchengfly.tieba.post.interfaces.BackHandledInterface;
import com.huanchengfly.tieba.post.interfaces.OnOverrideUrlLoadingListener; import com.huanchengfly.tieba.post.interfaces.OnOverrideUrlLoadingListener;
import com.huanchengfly.tieba.post.interfaces.OnReceivedTitleListener; import com.huanchengfly.tieba.post.interfaces.OnReceivedTitleListener;
import com.huanchengfly.tieba.post.interfaces.WebViewListener; import com.huanchengfly.tieba.post.interfaces.WebViewListener;
@ -57,7 +58,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Arrays; import java.util.Arrays;
//TODO: 代码太烂需要重写 //TODO: 代码太烂需要重写
public class WebViewFragment extends BaseFragment implements DownloadListener { public class WebViewFragment extends BaseFragment implements DownloadListener, BackHandledInterface {
public static final String TAG = WebViewFragment.class.getSimpleName(); public static final String TAG = WebViewFragment.class.getSimpleName();
private static final String DEFAULT_TITLE = ""; private static final String DEFAULT_TITLE = "";
private final static int FILE_CHOOSER_RESULT_CODE = 1; private final static int FILE_CHOOSER_RESULT_CODE = 1;
@ -245,9 +246,9 @@ public class WebViewFragment extends BaseFragment implements DownloadListener {
webSettings.setDisplayZoomControls(false); webSettings.setDisplayZoomControls(false);
webSettings.setDomStorageEnabled(true); webSettings.setDomStorageEnabled(true);
String appCachePath = getAttachContext().getCacheDir().getAbsolutePath(); String appCachePath = getAttachContext().getCacheDir().getAbsolutePath();
webSettings.setAppCachePath(appCachePath); //webSettings.setAppCachePath(appCachePath);
//webSettings.setAppCacheEnabled(true);
webSettings.setAllowFileAccess(true); webSettings.setAllowFileAccess(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true); webSettings.setDomStorageEnabled(true);
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
mWebView.setWebChromeClient(new ChromeClient()); mWebView.setWebChromeClient(new ChromeClient());

View File

@ -100,7 +100,7 @@ object AccountUtil {
return TiebaApi.getInstance() return TiebaApi.getInstance()
.initNickNameFlow(bduss, sToken) .initNickNameFlow(bduss, sToken)
.zip(TiebaApi.getInstance().loginFlow(bduss, sToken)) { initNickNameBean, loginBean -> .zip(TiebaApi.getInstance().loginFlow(bduss, sToken)) { initNickNameBean, loginBean ->
Account( getAccountInfoByUid(loginBean.user.id) ?: Account(
loginBean.user.id, loginBean.user.id,
loginBean.user.name, loginBean.user.name,
bduss, bduss,

View File

@ -71,20 +71,20 @@ abstract class Anim {
} }
} }
animator.addListener(object : Animator.AnimatorListener { animator.addListener(object : Animator.AnimatorListener {
override fun onAnimationRepeat(animation: Animator?) { override fun onAnimationRepeat(animation: Animator) {
animation?.let { onRepeat?.invoke(it) } animation.let { onRepeat?.invoke(it) }
} }
override fun onAnimationEnd(animation: Animator?) { override fun onAnimationEnd(animation: Animator) {
animation?.let { onEnd?.invoke(it) } animation.let { onEnd?.invoke(it) }
} }
override fun onAnimationCancel(animation: Animator?) { override fun onAnimationCancel(animation: Animator) {
animation?.let { onCancel?.invoke(it) } animation.let { onCancel?.invoke(it) }
} }
override fun onAnimationStart(animation: Animator?) { override fun onAnimationStart(animation: Animator) {
animation?.let { onStart?.invoke(it) } animation.let { onStart?.invoke(it) }
} }
}) })
} }