diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index aaeec98..277ab47 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,10 +50,7 @@
android:name=".activity.FollowerListActivity"
/>
-
+
diff --git a/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/BaseActivity.kt b/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/BaseActivity.kt
index d11fd73..258da71 100644
--- a/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/BaseActivity.kt
+++ b/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/BaseActivity.kt
@@ -1,11 +1,9 @@
package io.github.anthonyeef.cattle.activity
import android.content.Context
-import android.os.Build
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
-import android.view.View
import io.github.anthonyeef.cattle.R
import io.github.anthonyeef.cattle.utils.LocaleUtils
@@ -24,7 +22,6 @@ open class BaseActivity : AppCompatActivity() {
super.onPostCreate(savedInstanceState)
setupToolbar()
- setNavigationBarColor()
}
@@ -47,11 +44,4 @@ open class BaseActivity : AppCompatActivity() {
toolbarTitle = title
toolbar?.title = toolbarTitle
}
-
-
- private fun setNavigationBarColor() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
- }
- }
}
diff --git a/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/GeneralActivity.kt b/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/GeneralActivity.kt
index 40cdb47..1893ea5 100644
--- a/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/GeneralActivity.kt
+++ b/app/src/main/kotlin/io/github/anthonyeef/cattle/activity/GeneralActivity.kt
@@ -1,8 +1,6 @@
package io.github.anthonyeef.cattle.activity
-import android.os.Build
import android.os.Bundle
-import androidx.core.content.ContextCompat
import io.github.anthonyeef.cattle.R
import io.github.anthonyeef.cattle.extension.bindFragment
import io.github.anthonyeef.cattle.fragment.FragmentInstanceCache
@@ -15,9 +13,6 @@ class GeneralActivity : BaseActivity() {
}
- private val shouldTintStatusBar: Boolean by lazy { intent.extras.getBoolean(KEY_TINT_STATUS_BAR) }
-
-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_general)
@@ -28,14 +23,4 @@ class GeneralActivity : BaseActivity() {
bindFragment(fragmentToShow = it)
}
}
-
- override fun onPostCreate(savedInstanceState: Bundle?) {
- super.onPostCreate(savedInstanceState)
-
- if (shouldTintStatusBar) {
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
- window.statusBarColor = ContextCompat.getColor(this, R.color.colorPrimaryDark)
- }
- }
- }
}
\ No newline at end of file
diff --git a/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/BaseFragment.kt b/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/BaseFragment.kt
index c5bdace..0642095 100644
--- a/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/BaseFragment.kt
+++ b/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/BaseFragment.kt
@@ -1,7 +1,11 @@
package io.github.anthonyeef.cattle.fragment
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
import androidx.annotation.StringRes
import androidx.appcompat.widget.Toolbar
+import androidx.fragment.app.Fragment
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
import io.github.anthonyeef.cattle.R
import io.github.anthonyeef.cattle.activity.BaseActivity
@@ -9,7 +13,7 @@ import io.github.anthonyeef.cattle.activity.BaseActivity
/**
*
*/
-abstract class BaseFragment : androidx.fragment.app.Fragment() {
+abstract class BaseFragment : Fragment() {
private val toolbar: Toolbar? by lazy { view!!.findViewById(R.id.toolbar) }
@@ -20,6 +24,15 @@ abstract class BaseFragment : androidx.fragment.app.Fragment() {
}
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ activity?.let {
+ it.window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+ it.window.statusBarColor = Color.TRANSPARENT
+ }
+ }
+
fun setToolbarTitle(title: CharSequence) {
(activity as? BaseActivity)?.setToolbarTitle(title)
}
diff --git a/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/LoginFragment.kt b/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/LoginFragment.kt
index fd7d2c0..1a43f29 100644
--- a/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/LoginFragment.kt
+++ b/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/LoginFragment.kt
@@ -27,9 +27,9 @@ import io.reactivex.disposables.CompositeDisposable
class LoginFragment : BaseFragment(), LoginContract.View {
private lateinit var mLoginPresenter: LoginContract.Presenter
- private val loginBtn: FloatingActionButton? = view?.findViewById(R.id.login_btn)
- private val name: TextView? = view?.findViewById(R.id.name_text)
- private val cat: ImageView? = view?.findViewById(R.id.cat)
+ private var loginBtn: FloatingActionButton? = null
+ private var name: TextView? = null
+ private var cat: ImageView? = null
private lateinit var _disposables: CompositeDisposable
override fun isActive(): Boolean {
@@ -50,6 +50,10 @@ class LoginFragment : BaseFragment(), LoginContract.View {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ loginBtn = view.findViewById(R.id.login_btn)
+ name = view.findViewById(R.id.name_text)
+ cat = view.findViewById(R.id.cat)
+
name?.setOnClickListener {
mLoginPresenter.checkCredential()
}
diff --git a/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/SettingFragment.kt b/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/SettingFragment.kt
index edf6e1d..5bca3ad 100644
--- a/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/SettingFragment.kt
+++ b/app/src/main/kotlin/io/github/anthonyeef/cattle/fragment/SettingFragment.kt
@@ -1,14 +1,21 @@
package io.github.anthonyeef.cattle.fragment
+import android.content.Intent
+import android.content.res.Resources
+import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import androidx.appcompat.app.AlertDialog
import io.github.anthonyeef.cattle.R
+import io.github.anthonyeef.cattle.activity.HomeActivity
import io.github.anthonyeef.cattle.data.SettingCenter
import io.github.anthonyeef.cattle.entity.SettingItemEntity
+import io.github.anthonyeef.cattle.utils.LocaleUtils
import io.github.anthonyeef.cattle.viewbinder.SettingItemViewBinder
import me.drakeet.multitype.register
+import java.util.*
class SettingFragment : BaseListFragment(), SettingItemViewBinder.SettingItemClickCallback {
@@ -51,30 +58,37 @@ class SettingFragment : BaseListFragment(), SettingItemViewBinder.SettingItemCli
private fun openLanguageSelector() {
- val languages = listOf(getString(R.string.text_language_default), getString(R.string.text_language_english), getString(R.string.text_language_chinese_simple))
- // fixme
- /*selector(getString(R.string.text_which_language), languages, { _, i ->
- var locale = Locale.getDefault().language
- when (i) {
- 0 -> {
- locale = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- Resources.getSystem().configuration.locales[0].language
- } else {
- Resources.getSystem().configuration.locale.language
- }
- }
- 1 -> {
- locale = Locale.ENGLISH.language
- }
- 2 -> {
- locale = Locale.SIMPLIFIED_CHINESE.language
- }
- }
-
- context?.let {
- val newContext = LocaleUtils.setLocale(it, locale)
- newContext.startActivity(newContext.intentFor().clearTop())
- }
- })*/
+ val languages = arrayOf(getString(R.string.text_language_default), getString(R.string.text_language_english), getString(R.string.text_language_chinese_simple))
+ val alertDialog = AlertDialog.Builder(context!!)
+ .setItems(languages) { dialog, which ->
+ var locale = Locale.getDefault().language
+ when (which) {
+ 0 -> {
+ locale = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ Resources.getSystem().configuration.locales[0].language
+ } else {
+ Resources.getSystem().configuration.locale.language
+ }
+ }
+
+ 1 -> {
+ locale = Locale.ENGLISH.language
+ }
+
+ 2 -> {
+ locale = Locale.SIMPLIFIED_CHINESE.language
+ }
+ }
+ context?.let {
+ val newContext = LocaleUtils.setLocale(it, locale)
+ val intent = Intent(context, HomeActivity::class.java).apply {
+ addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+ }
+ newContext.startActivity(intent)
+ }
+ }
+ .create()
+ alertDialog.show()
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout-v19/view_profile_header.xml b/app/src/main/res/layout-v19/view_profile_header.xml
deleted file mode 100644
index 1963edd..0000000
--- a/app/src/main/res/layout-v19/view_profile_header.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_general.xml b/app/src/main/res/layout/activity_general.xml
index 1e85770..d0c61f3 100644
--- a/app/src/main/res/layout/activity_general.xml
+++ b/app/src/main/res/layout/activity_general.xml
@@ -9,7 +9,6 @@
android:id="@id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:fitsSystemWindows="true"
/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_toolbar_general.xml b/app/src/main/res/layout/activity_toolbar_general.xml
index fae4b17..0064e83 100644
--- a/app/src/main/res/layout/activity_toolbar_general.xml
+++ b/app/src/main/res/layout/activity_toolbar_general.xml
@@ -4,7 +4,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:fitsSystemWindows="true"
>
diff --git a/app/src/main/res/layout/frag_login.xml b/app/src/main/res/layout/frag_login.xml
index 48df4d1..f33a804 100644
--- a/app/src/main/res/layout/frag_login.xml
+++ b/app/src/main/res/layout/frag_login.xml
@@ -28,7 +28,6 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
- android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/name_text"
app:layout_constraintTop_toBottomOf="@id/name_text"
app:layout_constraintBottom_toTopOf="@id/login_btn"
diff --git a/app/src/main/res/layout/frag_profile.xml b/app/src/main/res/layout/frag_profile.xml
index 09f5b3f..bfa7c2a 100644
--- a/app/src/main/res/layout/frag_profile.xml
+++ b/app/src/main/res/layout/frag_profile.xml
@@ -4,7 +4,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:fitsSystemWindows="true"
>
diff --git a/app/src/main/res/layout/toolbar_general.xml b/app/src/main/res/layout/toolbar_general.xml
index 4f54640..aa33550 100644
--- a/app/src/main/res/layout/toolbar_general.xml
+++ b/app/src/main/res/layout/toolbar_general.xml
@@ -7,7 +7,6 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
- android:fitsSystemWindows="true"
app:contentInsetStartWithNavigation="0dp"
>
diff --git a/app/src/main/res/layout/view_profile_header.xml b/app/src/main/res/layout/view_profile_header.xml
index 4b128b1..0d04939 100644
--- a/app/src/main/res/layout/view_profile_header.xml
+++ b/app/src/main/res/layout/view_profile_header.xml
@@ -1,10 +1,9 @@
-
@@ -88,6 +87,7 @@
android:textColor="@color/text_color_normal"
android:lineSpacingMultiplier="1.2"
android:maxLines="5"
+ tools:text="self introduction \n lalala"
app:layout_constraintTop_toBottomOf="@id/profile_count_group"
app:layout_constraintBottom_toTopOf="@+id/bottom_divider"
app:layout_constraintStart_toStartOf="@id/left_guideline"
diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml
deleted file mode 100644
index 1c7be31..0000000
--- a/app/src/main/res/values-v21/styles.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 245db78..4dc89eb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,7 @@ task clean(type: Delete) {
}
ext {
- minSdkVersion = 19
+ minSdkVersion = 21
targetSdkVersion = 28
compileSdkVersion = 28
ankoLibraryVersion = '0.10.5'
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4f5a6bc..7c6b1d6 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
diff --git a/versions.gradle b/versions.gradle
index 7f2db14..00bf639 100644
--- a/versions.gradle
+++ b/versions.gradle
@@ -2,7 +2,7 @@ ext.deps = [:]
def versions = [:]
versions.kotlin = "1.3.10"
-versions.gradle = '3.4.2'
+versions.gradle = '3.5.2'
versions.support = "1.0.0"
versions.arch = "1.1.1"
versions.room = "2.0.0"