diff --git a/app/src/main/java/com/huanchengfly/tieba/post/BaseApplication.kt b/app/src/main/java/com/huanchengfly/tieba/post/BaseApplication.kt index 8b736e09..107c3435 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/BaseApplication.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/BaseApplication.kt @@ -41,10 +41,7 @@ import com.huanchengfly.tieba.post.utils.QuickPreviewUtil.isThreadUrl import com.microsoft.appcenter.AppCenter import com.microsoft.appcenter.analytics.Analytics import com.microsoft.appcenter.crashes.Crashes -import com.microsoft.appcenter.distribute.Distribute -import com.microsoft.appcenter.distribute.DistributeListener -import com.microsoft.appcenter.distribute.ReleaseDetails -import com.microsoft.appcenter.distribute.UpdateAction +import com.microsoft.appcenter.distribute.* import org.intellij.lang.annotations.RegExp import org.litepal.LitePal import java.util.* @@ -80,6 +77,7 @@ class BaseApplication : Application(), IApp { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { setWebViewPath(this) } + Distribute.setUpdateTrack(if (appPreferences.checkCIUpdate) UpdateTrack.PRIVATE else UpdateTrack.PUBLIC) Distribute.setListener(MyDistributeListener()) AppCenter.start( this, "b56debcc-264b-4368-a2cd-8c20213f6433", diff --git a/app/src/main/java/com/huanchengfly/tieba/post/activities/AboutActivity.kt b/app/src/main/java/com/huanchengfly/tieba/post/activities/AboutActivity.kt index 03d5d609..2e067f27 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/activities/AboutActivity.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/activities/AboutActivity.kt @@ -1,46 +1,73 @@ -package com.huanchengfly.tieba.post.activities; +package com.huanchengfly.tieba.post.activities -import android.animation.LayoutTransition; -import android.os.Bundle; -import android.view.View; -import android.view.ViewGroup; -import android.widget.RelativeLayout; +import android.animation.LayoutTransition +import android.os.Bundle +import android.view.View +import android.view.ViewGroup +import android.widget.RelativeLayout +import androidx.appcompat.widget.Toolbar +import com.huanchengfly.tieba.post.R +import com.huanchengfly.tieba.post.toastShort +import com.huanchengfly.tieba.post.ui.about.AboutPage +import com.huanchengfly.tieba.post.ui.theme.utils.ThemeUtils +import com.huanchengfly.tieba.post.utils.ThemeUtil +import com.huanchengfly.tieba.post.utils.VersionUtil -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.Toolbar; +class AboutActivity : BaseActivity() { + var lastClickTime: Long = 0 + var clickCount: Int = 0 -import com.huanchengfly.tieba.post.R; -import com.huanchengfly.tieba.post.ui.about.AboutPage; -import com.huanchengfly.tieba.post.ui.theme.utils.ThemeUtils; -import com.huanchengfly.tieba.post.utils.ThemeUtil; -import com.huanchengfly.tieba.post.utils.VersionUtil; - -public class AboutActivity extends BaseActivity { - @Override - public int getLayoutId() { - return R.layout.activity_about; + override fun getLayoutId(): Int { + return R.layout.activity_about } - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - ThemeUtil.setTranslucentThemeBackground(findViewById(R.id.background)); - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - RelativeLayout mainView = (RelativeLayout) findViewById(R.id.main); - View headerView = View.inflate(this, R.layout.header_about, null); - ((ViewGroup) headerView).setLayoutTransition(new LayoutTransition()); - setSupportActionBar(toolbar); - ActionBar actionBar = getSupportActionBar(); - if (actionBar != null) { - actionBar.setTitle(R.string.title_about); - actionBar.setDisplayHomeAsUpEnabled(true); + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + ThemeUtil.setTranslucentThemeBackground(findViewById(R.id.background)) + val toolbar = findViewById(R.id.toolbar) as Toolbar + val mainView = findViewById(R.id.main) as RelativeLayout + val headerView = View.inflate(this, R.layout.header_about, null) + (headerView as ViewGroup).layoutTransition = LayoutTransition() + setSupportActionBar(toolbar) + supportActionBar?.apply { + setTitle(R.string.title_about) + setDisplayHomeAsUpEnabled(true) } - int colorIcon = ThemeUtils.getColorByAttr(this, R.attr.colorAccent); - new AboutPage(this) - .setHeaderView(headerView) - .addTitle("应用信息", colorIcon) - .addItem(new AboutPage.Item("当前版本", VersionUtil.getVersionName(this), R.drawable.ic_round_info, colorIcon)) - .addItem(new AboutPage.Item("源代码").setIcon(R.drawable.ic_codepen, colorIcon).setOnClickListener(v -> WebViewActivity.launch(v.getContext(), "https://github.com/HuanCheng65/TiebaLite"))) - .into(mainView); + val colorIcon = ThemeUtils.getColorByAttr(this, R.attr.colorAccent) + AboutPage(this) + .setHeaderView(headerView) + .addTitle("应用信息", colorIcon) + .addItem( + AboutPage.Item( + "当前版本", + VersionUtil.getVersionName(this), + R.drawable.ic_round_info, + colorIcon + ).setOnClickListener { + if (System.currentTimeMillis() - lastClickTime > 2000) { + clickCount = 0 + } else { + clickCount++ + } + if (clickCount > 5) { + if (appPreferences.checkCIUpdate) { + toastShort(R.string.toast_ci_version_disabled) + appPreferences.checkCIUpdate = false + } else { + toastShort(R.string.toast_ci_version_enabled) + appPreferences.checkCIUpdate = true + } + } + } + ) + .addItem( + AboutPage.Item("源代码").setIcon(R.drawable.ic_codepen, colorIcon) + .setOnClickListener { v: View -> + WebViewActivity.launch( + v.context, + "https://github.com/HuanCheng65/TiebaLite" + ) + }) + .into(mainView) } } \ No newline at end of file diff --git a/app/src/main/java/com/huanchengfly/tieba/post/utils/AppPreferencesUtils.kt b/app/src/main/java/com/huanchengfly/tieba/post/utils/AppPreferencesUtils.kt index fb5309b8..78010b8a 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/utils/AppPreferencesUtils.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/utils/AppPreferencesUtils.kt @@ -18,9 +18,8 @@ open class AppPreferencesUtils(context: Context) { key = "auto_sign_time" ) - var checkBetaUpdate by SharedPreferenceDelegates.boolean( - defaultValue = false, - key = "check_beta_update" + var checkCIUpdate by SharedPreferenceDelegates.boolean( + defaultValue = false ) var collectThreadSeeLz by SharedPreferenceDelegates.boolean( diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 54f5070c..130b4668 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -488,4 +488,6 @@ 错误详情 复制详情 出现了一点小问题(%1$d) + 已启用接收自动构建版本更新(需要 App Center 账号) + 已禁用接收自动构建版本更新(需要 App Center 账号)