fix: 修复重复登录当前账户闪退
This commit is contained in:
parent
989498a9f6
commit
8eab3acf2f
|
|
@ -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")
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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) }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue